内网渗透测试中常用的隧道技术及相关工具
隧道技术
ssh
icmp
概念
ICMP(Internet ControllerMessages Protocol,网间控制报文协议)是TCP/IP协议族的子协议,是一种面向无连接的协议。用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
使用环境及优点
在一些网络环境中,如果攻击者使用各类上层隧道(例如HTTP隧道,DNS隧道,正反向端口转发等)进行操作均失败。那么可以尝试使用ICMP建立隧道,ICMP协议不需要端口的开放,因为其基于IP工作的,所以我们将其归结到网络层,ICMP消息最为常见的就是ping命令的回复,将TCP/UDP数据包封装到ICMP的ping数据包中,从而穿过防火墙(通常防火墙是不会屏蔽ping数据包的)
隧道工具
icmpsh
:https://github.com/bdamele/icmpsh
icmptunnel
:https://github.com/jamesbarlow/icmptunnel
ptunnel
:https://github.com/utoni/ptunnel-ng
icmpshell
:
参考文章
https://www.freebuf.com/sectool/210450.html
https://cloud.tencent.com/developer/article/1937087
dns
什么是DNS隧道
DNS隧道(DNS Tunneling)是将其他协议的内容封装在DNS协议中,然后以DNS请求和响应包完成传输数据(通信)的技术。当前网络世界中的DNS是一项必不可少的服务,所以防火墙和入侵检测设备处于可用性和用户友好的考虑大都不会过滤DNS流量,也为DNS成为隐蔽信道创造了条件,因此,DNS隧道在僵尸网络和APT攻击中扮演着重要的角色。
使用情景
大部分防火墙以及IPS,IDS不会过滤dns流量
黑客可以访问中间人,中间人只能和目标dns通信
DNS隧道工具
dns2tcp,iodine,dnscat
参考文章
内网隐藏通信隧道技术——DNS隧道 - FreeBuf网络安全行业门户
dns隧道攻击原理及常用工具流量分析 - Highness_DragonFly - 博客园 (cnblogs.com)
============持续更新中===========