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

圖 1 Snyk掃描alpine 鏡像的結(jié)果
研究人員發(fā)現(xiàn)最近針對(duì)容器蜜罐的攻擊大多數(shù)都利用了知名的和已經(jīng)建立的基準(zhǔn)鏡像。這樣做的目的是繞過(guò)惡意軟件檢測(cè)和漏洞檢測(cè)。
容器以權(quán)限flag執(zhí)行,意味著payload有root權(quán)限。

圖 2. 含有root權(quán)限的惡意容器部署

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

圖 4. 部署的250字節(jié) ELF文件payload
進(jìn)一步分析表明payload 并不是用高級(jí)編程語(yǔ)言實(shí)現(xiàn)的,而是用純匯編代碼實(shí)現(xiàn)的。此外,沒(méi)有其他需要處理的指令,這就只需要非常小的base64編碼來(lái)執(zhí)行必要的工作來(lái)執(zhí)行代碼。
部署的payload 首先分配一個(gè)4096字節(jié)的含有“PROT_READ”、“PROT_WRITE” 和“PROT_EXECUTE”保護(hù)標(biāo)記的內(nèi)存頁(yè)。這些標(biāo)記允許攻擊者在內(nèi)存區(qū)域內(nèi)執(zhí)行代碼。

圖 5. 連接到C2服務(wù)器來(lái)進(jìn)行惡意代碼執(zhí)行
在系統(tǒng)內(nèi)會(huì)打開(kāi)TCP socket,然后初始化到C2 服務(wù)器的連接,這是通過(guò)硬編碼的“sockaddr” 結(jié)構(gòu)來(lái)實(shí)現(xiàn)。

圖 6. 獲取可執(zhí)行的shellcode
“read syscall”會(huì)在開(kāi)放的socket descriptor上執(zhí)行,然后從C2 服務(wù)器讀取126字節(jié)的內(nèi)容。這是保存在之前沒(méi)有提到的分配的內(nèi)存區(qū)域中的,然后執(zhí)行。
研究人員分析發(fā)現(xiàn)ELF 文件是一個(gè)編譯的Metasploit reverse_tcp shellcode。這是一個(gè)簡(jiǎn)單的x64 ELF文件,其中攻擊者IP和Port都硬編碼在二進(jìn)制文件中。盡管沒(méi)有混淆,目前在在線威脅平臺(tái)上還找不到文件的哈希值。
因?yàn)槟壳斑€沒(méi)有跡象表明這是MSF 生成的reverse_tcp 文件,所以研究人員創(chuàng)建了一個(gè)PoC 文件,可以偽造攻擊者偽造的IP,并在安全環(huán)境中運(yùn)行后門(mén)來(lái)獲取逆向shell。

圖 7. 利用偽造IP的 MS來(lái)生成逆向連接

圖 8. 在安全容器環(huán)境中運(yùn)行的后門(mén)

圖 9. 含有逆向shell的開(kāi)放MSF會(huì)話
結(jié)論
目前,暴露的Docker API越來(lái)越多地成為攻擊者的目標(biāo),攻擊者通過(guò)攻擊暴露的Docker API來(lái)在目標(biāo)主機(jī)上用root 權(quán)限執(zhí)行惡意代碼。在最近的攻擊活動(dòng)中,研究人員還發(fā)現(xiàn)了越來(lái)越多的靜默攻擊技術(shù)進(jìn)入了威脅場(chǎng)景中。
本文翻譯自:https://www.trendmicro.com/en_us/research/20/j/metasploit-shellcodes-attack-exposed-docker-apis.html如若轉(zhuǎn)載,請(qǐng)注明原文地址。