Infection Monkey是一款由以色列安全公司GuardiCore在2016黑帽大會上發布的數據中心安全檢測工具,其主要用于數據中心邊界及內部服務器安全性的自動化檢測。該工具在架構上,則分為Monkey(掃描及漏洞利用端)以及C&C服務器(相當于reporter,但僅僅只是用于收集monkey探測的信息)。
工具特性
1.多種傳播攻擊技術:
默認口令攻擊
常用exp攻擊
2.多種exp利用途徑:
SSH
SMB
RDP
WMI
Shellshock
3.C&C服務器端有著專門的可視化數據中心UI界面。
運行平臺
C&C服務器在Ubuntu 14.04、15.04和16.04能完美運行。
Monkey在Windows XP、8.1和10上測試過,Linux版本已經在Ubuntu 14.04和15.10上測試過。
安裝指導
大家如果需要這款工具的話,可以下載相應的debian包,根據我們的博客上的指南進行安裝。另外,設置C&C服務器的方法請看這里。如果你想要自行編譯二進制文件,可以根據指南利用源去進行build。
初始配置
無論你是直接下載或者編譯源代碼,Infection Monkey都由4個可執行文件組成(多平臺),另外還附加一個默認的配置文件。
Monkey配置存儲在兩個地方:
1.Monkey的配置文件(默認config.bin),這個配置文件必須包括C&C服務器的地址。
2.在成功連接到C&C服務器后,Monkey會從上面下載一個新的配置文件(默認config.bin)來覆蓋原來的配置。我們可以通過C&C服務器那邊的主控端的UI界面,來修改默認的配置文件。
在上面兩種情況下,命令服務器的主機名應該改為指向c&c服務器(注意這不需要馬上連接)。此外,為了提升Monkey傳播攻擊的成功率,你可以使用證書和常用的用戶名進行預配置。
兩種配置方法都使用了JSON格式來指定選項,請參閱表格來閱讀更多的內容。
運行CC服務器
為了運行C&C服務器,我們需要在特定的服務器上安裝我們infected Monkey的debian包,而初始的Monkey機器并不需要直連到C&C服務器。
釋放Monkey
當配置完成后,咱們應該運行:
./monkey-linux-64 m0nk3y -c config.bin -s 41.50.73.31:5000
這條命令,可以在網絡中多點同時運行。
命令行選項包括:
-c, –config: 指定JSON配置文件,可以用來覆蓋默認的配置
-p, –parent: 設置monkey的父uuid,以便C&C服務器端更好地分類識別monkey
-t, –tunnel: ip:port, 為Monkey設置默認連接C&C服務器的隧道
-d, –depth : 設置Monkey當前的檢測深度
Monkey是如何工作的
1.喚醒與C&C服務器的連接,向C&C服務器發送當前機器的基本信息,以及Monkey使用的配置:
首次嘗試直接連接到C&C服務器
如果直連失敗,它會嘗試通過隧道進行連接(默認隧道,或者多播請求其他Monkey響應得到的隧道)
如果沒有連上C&C服務器,Monkey會自行運行
2.如果當前機器上有防火墻,它會嘗試添加規則來允許我們的流量通過(支持win xp和win 7+的防火墻)。
3.向其他Monkey開放隧道(如果自身能連接到C&C服務器):
檢查防火墻是否允許監聽套接字(如果我們沒能在windows防火墻添加流量通行規則,隧道是不會創建成功的)
響應其他Monkey尋找隧道的多播請求
4.運行exp會話,會根據配置啟動N個會話:
連接到C&C服務器,獲取最新的配置
根據配置掃描IP段
在配置里定義SMBFinger, SSHFinger等指紋庫,嘗試分析各個主機的響應包,進而對它們進行指紋識別
嘗試在發現的主機上,根據指紋嘗試exp攻擊
檢索出適合目標主機的exp
各個exp都會根據指紋識別的數據,對各主機進行專項打擊
如果沒有找到合適的,exp就會利用失敗
exp利用成功的主機,在接下來的攻擊里會忽略掉
會跳過所有exp都利用失敗的主機(可以在配置里禁用)
5.會在monkey使用隧道清理添加的防火墻規則后,將隧道關閉。
下載相關
下載地址可以參考官方的下載頁,也可以直接去Github上下載。
*參考來源:Github,FB小編dawner編譯,轉載請注明來自FreeBuf(FreeBuf.COM)