錯誤配置的Docker服務被用於加密貨幣挖礦
攻擊者在尋求一種容易的方式來進行加密貨幣挖礦,所以目標鎖定為公開暴露的Docker服務。攻擊者使用一個可以掃描網路的惡意指令碼來搜尋有漏洞的主機併入侵主機。
攻擊入口是TCP 2375/2376埠,這兩個埠是通過REST管理API遠端到達Docker服務的預設埠,允許建立、開啟和停止容器。除非進行其他配置,否則這兩個埠都提供非加密和非認證的通訊。
living off the land
Docker容易在實踐中使用非常廣泛,因為允許在作業系統級實現虛擬化。允許在輕量級的虛擬環節中執行應用,完成所有需要的依賴。
Juniper Networks的研究人員發現網路犯罪分析正利用錯誤配置的Docker服務來新增執行Monero挖礦指令碼的容器。
感染會通過目標系統已有的指令碼和工具自動傳播,這也叫做“living off the land”。包括Docker, wget, cURL, Bash, iproute2, MASSCAN, apt-get, yum, up2date, pacman, dpkg-query和systemd。
一旦攻擊者到達有漏洞的Docker主機,就會開啟容器,並執行命令來下載和啟動auto.sh,該指令碼可以幫助擴充套件攻擊行動。同時會檢查系統的特定package,下載缺失的package來繼續攻擊其他主機。
auto.sh通過執行MoneroOcean挖礦指令碼來執行Monero挖礦工作。挖礦指令碼在Github上是公開的,但攻擊者下載的是一個位於Pastebin的變種。
在掃描受感染主機連線的網路子網後,跳轉到其他主機就非常有可能了。錯誤配置的Docker daemons的IP地址儲存在文字檔案中,由test.sh和test3.sh指令碼進行處理。目的就是在列表上的每個IP地址進行迴圈,並且用Docker的客戶端工具連線到遠端主機。
這些指令碼都位於同一個伺服器上。同時,該伺服器上還有一個名為xm的加密貨幣挖礦工具,VirusTotal有24個反病毒引擎將其標記為惡意的。
這也不是auto.sh指令碼第一次被用於加密貨幣劫持。
轉向TLS
通過TLS通訊可以安全的到達Docker。這是可能的因為開啟了tlsverify flag,併為tlscacert flag定義了可信證書。這樣設定後,Docker daemon就只以接受可信證書認證的連線。在客戶端模式下(client mode),Docker只連線到證書可信的伺服器。
與雲端計算的能力結合後,暴露到公網的服務可以看做是送給攻擊者的禮物。加密貨幣挖礦是攻擊者濫用容器的風險之一,其他風險還包括髮起DDOS攻擊和傳播惡意軟體等。