tRat:新模組化RAT
TA505是Proofpoint一直關注的攻擊組織,該組織從2014年開始活躍。
最近,研究人員發現該組織在傳播一些遠端訪問木馬(remote access Trojans,RATs)和其他收集、載入和監控的工具。tRAT就是其中一款惡意軟體,該惡意軟體是模組化的RAT,用Delphi語言編寫。本文價紹對該惡意軟體參與的攻擊活動和惡意軟體進行分析。
攻擊活動
2018年9月,Proofpoint檢測到一起垃圾郵件攻擊活動中使用啟動巨集的惡意word文件來下載之前沒有記錄過的RAT。惡意文件濫用Norton品牌,偽裝為安全產品保護的文件。訊息中的主題使用了社會工程技術,啟用了嵌入巨集來安裝tRAT。
圖1: 9月27日攻擊活動中的誘餌檔案
圖2: 9月27日攻擊活動中的TripAdvisor誘餌
10月11日,研究人員發現一起由TA505傳播tRAT的垃圾郵件活動。攻擊活動非常複雜,使用了Microsoft Word和Publisher檔案,攻擊目標主要是商業銀行的使用者。
攻擊活動中使用了不同郵件地址來發送資訊,主題行的格式為:Inovice (sic) [random digits] – [random digits],附件名為inv-399503-03948.pub。含有惡意word附件的郵件地址來自Vanessa Brito,但顯示不同的發件地址,訊息中的附件名report.doc。
圖3:10月11日的垃圾郵件樣本
在所有的樣本中,附件都含有巨集,啟用巨集後就會下載tRAT。
圖4: 10月11日的樣本誘餌文件
惡意軟體分析
下面分析tRat惡意軟體。研究人員分析樣本發現,惡意軟體會複製二進位制檔案到以下路徑來保持駐留:
C:\Users\<user>\AppData\Roaming\Adobe\Flash Player\Services\Frame Host\fhost.exe
然後,tRat會在開始選單建立一個LNK檔案在系統啟動後執行二進位制檔案:
C:\Users\<user>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\bfhost.lnk
大多數tRat的重要字串都是加密儲存並十六進位制編碼的。用來解密字串的python指令碼位於GitHub: ofollow,noindex">https://github.com/EmergingThreats/threatresearch/blob/master/tRat/decrypt_str.py 。
tRat使用TCP 80埠進行C2通訊,資料是加密儲存的,十六進位制編碼傳輸。為了生成解密金鑰,tRAT會將3個字串拼接起來,結果就是大寫十六進位制編碼的。樣本中的字串如下所示:
"Fx@%gJ_2oK" "AC8FFF33D07229BF84E7A429CADC33BFEAE7AC4A87AE33ACEAAC8192A68C55A6" "&LmcF#7R2m"
目前還不清楚不同樣本中的字串是不是一樣。除了生成key以外,tRat在解密過程中會用1536位元組的表。截至目前,研究人員還不能確定表中元素的意義和是否改變。但可以確定的是解密過程使用了表中資料和加密資料的XOR值。表的索引是基於key值的,樣本中的表和python指令碼都在Github上可以看到,也可以用於解密通訊。
tRat的初始網路請求叫做AUTH_INF,解密示例如下:
MfB5aV1dybxQNLfg:D29A79D6CD2F47389A66BB5F2891D64C8A87F05AE3E1C6C5CBA4A79AA5ECA29F8E8C8FFCA6A2892B8B6E
字串中含有2個子字串,是用:分開的。第一個子字串是以加密字串形式儲存的硬編碼的id;第二個子字串含有加密的系統資料,如下所示:
FASHYEOHAL/nXAiDQWdGwORzt:3A176D130C266A4D
這些資料含有受感染主機的計算機名、系統使用者名稱和tRat bot ID,但研究人員目前還不清楚bot ID是如何生成的。
為了響應AUTH_INF,C2會用[P]或命令列表響應。如果tRat收到[P],就會響應[G]。這看著像輪詢命令,但是命令列表的格式、命令、模組資料都是未知的。目前,研究人員相信loader中唯一支援的命令就是MODULE,其中含有一個模組名和一個輸出名。為了接收模組,Trat會順序執行以下動作:
·傳送"[GET_MODULE]"
· 如果接收到"[WAIT_FOR_AUTH_INF]",傳送AUTH_INF資料
· 如果接收到"[WAIT_FOR_MODULE_NAME]",傳送模組名
· 響應可以包括以下內容之一:
· "[ERR_MODULE_NOT_FOUND]"
· "[ACCESS_DENIED]"
· 模組長度
· 如果接收到模組長度,就傳送"[READY]”
· 接收模組
· 該模組使用的加密與C2通訊相似,但是使用的key不同
· 解密後,模組會以DLL載入,並使用接收到的export名執行。
目前研究人員還沒有發現C2傳輸的模組,所以不確定惡意軟體增加了什麼功能。
總結
TA505因為其攻擊的體量、頻率和複雜性,一度改變郵件威脅情景。研究人員最近發現其新的郵件攻擊活動中使用了Locky這樣的惡意軟體和FlawedAmmyy這樣不太常用的惡意軟體。