端口复用突破内网端口限制(转载)

  • by

参考:

https://www.cnblogs.com/ilinuxer/p/6364064.html iptables命令
https://blog.csdn.net/weixin_43639741/article/details/89363461 远程遥控 IPTables 进行端口复用
https://www.freebuf.com/articles/network/137683.html 远程遥控 IPTables 进行端口复用

思路很简单,没有什么可多写的,特征值符合就转发流量

文中提到的两种都是成功的(基于iptables规则):https://blog.csdn.net/weixin_43639741/article/details/89363461

1.
将发送本机 80 端口,源端口为 8989 的流量重定向至本机 22 端口
/sbin/iptables -t nat -A PREROUTING -p tcp --sport 8989 --dport 80 -j REDIRECT --to-port 22
本地执行:

socat 监听本地 2326 端口,接收到链接后,利用本地的 8989 端口将流量转至虚拟机的80端口
socat tcp-listen:2326,fork,reuseaddr tcp:192.168.33.78:80,sourceport=8989,reuseaddr &

SSH 连接本地 2326 端口,成功连接上了虚拟机的 SSH,同时本地正常用 curl 是能够访问到虚拟机的 80 端口的 HTTP 服务的
ssh vagrant@127.0.0.1 -p 2326

2.
端口复用规则
iptables -t nat -A LETMEIN -p tcp -j REDIRECT --to-port 22

开启开关
iptables -A INPUT -p tcp -m string --string 'threathuntercoming' --algo bm -m recent --set --name letmein --rsource -j ACCEPT

关闭开关
iptables -A INPUT -p tcp -m string --string 'threathunterleaving' --algo bm -m recent --name letmein --remove -j ACCEPT

let’s do it
iptables -t nat -A PREROUTING -p tcp --dport 80 --syn -m recent --rcheck --seconds 3600 --name letmein --rsource -j LETMEIN
开启复用,开启后本机到目标 80 端口的流量将转发至目标的 SSH,80 将无法再被本机访问:
echo threathuntercoming | socat - tcp:192.168.33.78:80

关闭复用,关闭后,80 恢复正常:
echo threathunterleaving | socat - tcp:192.168.33.78:80

2.

在linux权限维持看到, SSLH 在同一端口共享ssh和http,没有测试,自行研究

参考:https://mp.weixin.qq.com/s?__biz=MzA3NzE2MjgwMg==&mid=2448904250&idx=1&sn=cce745079e51ab4bb013de00c2125bf0&chksm=8b55c067bc22497125d4bd5f7a03e46c214d5db11e5bbdbb8422c92cbcf85e3653def6bab6c5&mpshare=1&scene=23&srcid=&sharer_sharetime=1567397242145&sharer_shareid=ce9dd1505a0c20186b16b8cc4284240c#rd

2019.9.22

发表评论

电子邮件地址不会被公开。 必填项已用*标注