惡意虛擬貨幣挖礦容器,針對暴露API 的 Docker主機,並用 Shodan 找出其他受害目標

這張圖片的 alt 屬性值為空,它的檔案名稱為 feature_vul-200x200.jpg

趨勢科技架設了一台機器模擬Docker主機來監控針對容器的惡意活動,這個蜜罐系統的主機有著對外暴露的API,這是容器相關威脅最常攻擊的目標之一。我們的目標是透過監控蜜罐系統來偵測是否有人找到它並用來部署有問題的容器,最終希望可以找出攻擊的源頭。我們最近檢查了蜜罐狀態,發現已經有容器被部署進去。

分析蜜罐系統的日誌和流量資料後發現此容器來自名為zoolu2的公開(因此可以連上)Docker Hub儲存庫。檢查並下載儲存庫的內容後,我們發現它包含了9個映像,裡面含有客製化shell、Python腳本、設定檔,還有Shodan和虛擬貨幣挖礦程式。請注意,Docker自己也發現了此儲存庫,並在本文撰寫時已經讓其離線。

zoolu2儲存庫內的所有映像都包含了門羅幣(XMR)挖礦程式。這引起了我們的興趣,因為我們之前看過了將容器部署成礦工。此外,有些映像包含了列出有對外暴露API Docker主機的Shodan腳本,我們推測這些腳本是用來找出進一步散播的目標。

 Figure 1. The zoolu2 Docker Hub repository

圖1. zoolu2 Docker Hub儲存庫

部署和行為

https://blog.trendmicro.com/trendlabs-security-intelligence/files/2019/05/Figure-1-Infected-crypto-container.jpg

圖2. 感染鏈

我們決定分析這九個映像以了解更多資訊。我們發現這些映像先透過腳本(ubu.sh,偵測為PUA.Linux.XMRMiner.AA.component)部署,它會檢查有對外暴露API的主機。接著用Docker命令(POST /containers/create)遠端建立惡意容器。此腳本還會在容器內啟動SSH服務以接收遠端連線。

此腳本接著會呼叫門羅幣挖礦程式darwin(偵測為PUA.Linux.XMRMiner.AA)在背景執行。跟其他的虛擬貨幣挖礦程式一樣,它會在使用者不知情下使用主機系統資源來挖掘虛擬貨幣(在本案例中是門羅幣)。此次攻擊的一個有趣特點是,它所用的虛擬貨幣挖礦程式是重新製作而非使用現成的軟體。

 Figure 3. Docker image entry calling the coin miner binary (darwin) and then the script to find other misconfigured Docker hubs (rip)

圖3. Docker映像呼叫虛擬貨幣挖礦程式(darwin),接著腳本會尋找其他設定不當的Docker主機(rip

 Figure 4. Cryptocurrency miner binary details

圖4. 虛擬貨幣挖礦程式檔的詳細資訊

這個檔案還包含了用Shodan API來尋找其他有對外暴露API Docker主機的腳本,主要是用“port:2375+product:Docker”查詢。我們懷疑這是找出可供攻擊新主機的一種方法。

 Figure 5. Code showing the function used to log into Shodan and search for Docker hubs with open default ports

圖5. 用來登入Shodan並尋找開啟預設端口Docker主機的程式碼

 Figure 6. Usernames and passwords to be used for brute-force attacks on the open ports found via Shodan search

圖6. 對Shodan搜尋所找到的開放端口進行暴力攻擊所用的使用者名稱和密碼

我們對IP列表用途的懷疑是正確的:一旦找到對外暴露的Docker主機,就會加入列表(iplist.txt文件)中,該列表會用不重複IP來進行排序。還會檢查目標主機是否已經運行了虛擬貨幣挖礦容器,如果有就將其移除。

然後它會連到C&C伺服器,根據IP列表將容器部署到其他對外暴露的主機。然後繼續重複前面所提到的過程。

 Figure 7. Function to remotely deploy the image as a container

圖7. 遠端部署映像成容器的程式碼

 Figures 8, 9, and 10. C&C with backup of the scripts and previous search terms.
 Figures 8, 9, and 10. C&C with backup of the scripts and previous search terms.

注意:雖然有些參數包含特定區域和特定服務,但搜索Docker API端口和產品標籤是不變的。

圖8,9和10. C&C以及腳本備份和之前的搜尋字串。

zoolu2映像的後設資料顯示元件是在2019年5月加入。但這可能不準,因為映像會不斷地更新,這可能代表製作映像的駭客正在加入更多的行為或功能。

 Figure 11. Deep Discovery™ Smart Check alert for the SSH key left inside the container for future connections

圖11. Deep Discovery Smart Check警告容器內出現SSH金鑰可被連線

建議及解決方案

容器技術的接受度越來越高也導致了相關威脅的增加。這些威脅經常都會攻擊成功,不僅是由於容器軟體出現漏洞,而且還因為設定不當,這對組織來說是持續面臨的挑戰。在此情況下,具有對外暴露API的主機不僅是虛擬貨幣挖礦攻擊的受害者 – 它們也協助散播了惡意容器。

惡意的虛擬貨幣挖礦活動可能會導致系統額外的資源負擔。在此案例中,如果Docker主機是在內部網路中運作,則可能會影響到其他主機。另一方面,如果Docker主機使用的是雲端服務,組織也可能因為資源使用率變高而收到額外的費用。

為了防止針對容器及主機的攻擊影響到開發環境,趨勢科技建議要採用以下最佳實作:

  • 必須要正確地設定容器和API來確保此類攻擊發生率降到最低。這包括只能從內部網路或受信任來源存取它們。此外,Docker也提供了具體的指南來協助使用者加強安全防護。
  • Docker始終建議要使用官方或認證映像,確保只在環境內運行受信任的內容。
  • 不該用root權限運行容器 – 應該只能用應用程式使用者。

企業還可以考慮使用全面性的安全軟體,協助他們建構安全、快速交付並且隨處執行。趨勢科技解決方案通過趨勢科技HYPERLINK “http://t.rend.tw/?i=Mzc4MQ”Deep SecurityDeep Security Smart Check來為容器加多一層的保護,Deep Security Smart Check可以在部署過程的任何時候掃描容器映像是否有惡意軟體或漏洞,在部署前預防威脅發生。

詳細資訊 雜湊值 偵測名稱
Darwin (虛擬貨幣挖礦檔) fb4e9e2e919d2e4cc6d1caa9745df16d65ce87c0ffb9874edf33bc1db1259607 PUA.Linux.XMRMiner.AA
ubu.shshell腳本) 99ec380972a0808ff66c3e9638ea578a5b938cc821df38d2882a3440037994b7 PUA.Linux.XMRMiner.AA.component

@原文出處:Infected Cryptocurrency-Mining Containers Target Docker Hosts With Exposed APIs, Use Shodan to Find Additional Victims 作者:Alfredo Oliveira(資深威脅研究員)