本文转载自公众号《绕过》(ID:Bypass--)。作者:Bypass在一些实际场景中,我们需要借助一些端口转发工具,比如系统自带的命令行工具或者第三方小软件,来绕过网络访问限制,到达目标系统。本文总结了Linux端口转发的一些常用方法。1、SSH端口转发SSH提供了一个很有意思的功能,就是端口转发。可以通过SSH链接转发其他TCP端口的网络数据,并自动提供相应的加解密服务。(1)本地端口转发ssh-fgN-L2222:localhost:22localhost(2)远程端口转发ssh-fgN-R2222:host1:22localhost(3)动态转发ssh-fgN-D12345root@host12。CentOS7.0以下使用的iptables端口转发最重要的是iptables,可以通过iptables实现数据包的转发。(1)启用数据转发功能vi/etc/sysctl.conf#添加一行net.ipv4.ip_forward=1//启用数据转发功能sysctl-p(2)将本地端口转发到本地端口iptables-tnat-APREROUTING-ptcp--dport2222-jREDIRECT--to-port22(3)转发本机端口到其他机器.131:80iptables-tnat-APOSTROUTING-d192.168.172.131-ptcp--dport80-jSNAT--to192.168.172.130#清空nat表iptables-tnat-FPREROUTING3中的所有链接。防火墙端口转发CentOS7.0及以上版本使用防火墙,通过命令行配置实现端口转发。(1)开启伪装IPfirewall-cmd--permanent--add-masquerade(2)配置端口转发,将本机12345端口的访问转发到另一台服务器的22端口。firewall-cmd--permanent--add-forward-port=port=12345:proto=tcp:toaddr=192.168.172.131:toport=22(3)重新加载使其失效。防火墙-cmd--reload4。rinetd端口转发rinetd是一款轻量级的TCP转发工具,简单配置即可实现端口映射/转发/重定向。(1)源码下载wgethttps://li.nux.ro/download/nux/misc/el7/x86_64/rinetd-0.62-9.el7.nux.x86_64.rpm(2)安装rinetdrpm-ivhrinetd-0.62-9.el7.nux.x86_64.rpm(3)编辑配置文件virinetd.conf0.0.0.01234127.0.0.122(4)开始转发rinetd-c/etc/rinetd.conf5。ncat端口转发netcat(简称nc)被誉为网络安全界的“瑞士军刀”,简单实用的工具,这里介绍一种使用netcat实现端口转发的方法。(1)安装ncatyuinstallnmap-ncat-y(2)监听本机9876端口,转发数据到192.168.172.131的80端口ncat--sh-exec"ncat192.168.172.13180"-l9876--keep-open6。socat端口转发socat是一个多功能的网络工具,使用socat进行端口转发。(1)socat安装yuminstall-ysocat(2)在本地监听12345端口,将请求转发到192.168.172.131的22端口。socatTCP4-LISTEN:12345,reuseaddr,forkTCP4:192.168.172.131:227。portmap端口转发linux版lcx,内网端口转发工具。(1)下载地址:http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip(2)监听本地1234端口,转发到192.168.172.131/portmap的22端口-m1-p11234-h2192.168.172.131-p2228。portfwd端口转发portfwd是meterpreter中内置的功能,同时也提供了单机版的TCP/UDP端口转发服务Github项目地址:https://github.com/rssnsj/portfwd(1)下载编译gitclonehttps://github.com/rssnsj/portfwd.gitcdportfwd/srcmake(2)将本地12345端口转发到192.168.172.131:22./tcpfwd0.0.0.0:12345192.168.172.131:229。NATBypass端口转发一个golang下的lcx(htran)实现Gihub项目地址:https://github.com/cw1997/NATBypass内网主机主动连接外网主机开启隧道:在目标机器上执行:nb-slave127.0.0.1:3389公网IP:51在公网机器上执行:nb-listen513340在公网主机上连接127.0.0.1:3340,连接内网机器的3389端口。
