[[346671]]
Trendmicro研究人員近日發現有攻擊者利用Metasploit Framework (MSF)的payload來攻擊暴露的Docker API。攻擊可以引發DDoS攻擊、遠程代碼執行漏洞、非授權的加密貨幣挖礦活動。
技術分析
研究人員發現攻擊者在攻擊活動中使用了“alpine:latest”作為基準容器鏡像。Snyk 并不能檢測到鏡像中的安全漏洞。

圖 1 Snyk掃描alpine 鏡像的結果
研究人員發現最近針對容器蜜罐的攻擊大多數都利用了知名的和已經建立的基準鏡像。這樣做的目的是繞過惡意軟件檢測和漏洞檢測。
容器以權限flag執行,意味著payload有root權限。

圖 2. 含有root權限的惡意容器部署

圖 3. 攻擊者將惡意文件以命令的形式編碼在base64文本中
Payload如圖4所示,整個怕有會使用base64 編碼壓縮地非常小。解碼payload后,研究人員獲取了只有250字節的ELF文件。

圖 4. 部署的250字節 ELF文件payload
進一步分析表明payload 并不是用高級編程語言實現的,而是用純匯編代碼實現的。此外,沒有其他需要處理的指令,這就只需要非常小的base64編碼來執行必要的工作來執行代碼。
部署的payload 首先分配一個4096字節的含有“PROT_READ”、“PROT_WRITE” 和“PROT_EXECUTE”保護標記的內存頁。這些標記允許攻擊者在內存區域內執行代碼。

圖 5. 連接到C2服務器來進行惡意代碼執行
在系統內會打開TCP socket,然后初始化到C2 服務器的連接,這是通過硬編碼的“sockaddr” 結構來實現。

圖 6. 獲取可執行的shellcode
“read syscall”會在開放的socket descriptor上執行,然后從C2 服務器讀取126字節的內容。這是保存在之前沒有提到的分配的內存區域中的,然后執行。
研究人員分析發現ELF 文件是一個編譯的Metasploit reverse_tcp shellcode。這是一個簡單的x64 ELF文件,其中攻擊者IP和Port都硬編碼在二進制文件中。盡管沒有混淆,目前在在線威脅平臺上還找不到文件的哈希值。
因為目前還沒有跡象表明這是MSF 生成的reverse_tcp 文件,所以研究人員創建了一個PoC 文件,可以偽造攻擊者偽造的IP,并在安全環境中運行后門來獲取逆向shell。

圖 7. 利用偽造IP的 MS來生成逆向連接

圖 8. 在安全容器環境中運行的后門

圖 9. 含有逆向shell的開放MSF會話
結論
目前,暴露的Docker API越來越多地成為攻擊者的目標,攻擊者通過攻擊暴露的Docker API來在目標主機上用root 權限執行惡意代碼。在最近的攻擊活動中,研究人員還發現了越來越多的靜默攻擊技術進入了威脅場景中。
本文翻譯自:https://www.trendmicro.com/en_us/research/20/j/metasploit-shellcodes-attack-exposed-docker-apis.html如若轉載,請注明原文地址。