使用雲平臺的ROKRAT木馬分析

雲計算 Yandex Twitter 軟件 安全客 2017-04-11

使用雲平臺的ROKRAT木馬分析

翻譯:興趣使然的小胃

預估稿費:200RMB

投稿方式:發送郵件至linwei#360.cn,或登陸網頁版在線投稿

一、前言


幾周前,Talos實驗室發表了一篇韓國惡意文檔的研究報告。正如我們之前討論的一樣,這個攻擊者反應很快,及時調整了攻擊軌跡,抹掉了受害主機上的痕跡。我們認為攻擊者在任何一次攻擊活動中使用的控制服務器活動時長不超過幾個小時。最近我們又捕獲了一個新的攻擊活動,使用了是韓國常用的惡意Word文檔(HWP文檔),文檔的攻擊載荷是一款遠控工具,我們稱之為ROKRAT。

與之前的文章類似,攻擊活動以釣魚郵件開始,包含一個HWP文檔的惡意附件。其中一個樣本郵件是從首爾延世私立大學郵件服務器發出的,郵件地址是“[email protected]”,為韓國全球論壇的聯繫郵箱,“2016”可能指的是“朝鮮半島的和平統一”,這些字符是想增加該電子郵件地址的合理性和信譽度。

這個HWP文檔包含一個嵌入式EPS對象(Embedded Encapsulated PostScript,EPS是用PostScript語言封裝的一種文件格式),也是一種zlib壓縮文件。攻擊者使用EPS是為了利用已知漏洞(CVE-2013-0808)下載偽裝為jpg圖片的二進制文件。二進制文件解碼後為ROKRAT遠控工具,這個工具以合法的網站作為其命令控制服務器以增加複雜性。這些網站包括Twitter以及Yandex、Mediafire這兩個雲平臺,不幸的是這些平臺的使用一般不會被阻攔,因為它們在大多數情況下都是用於合法用途。此外,這三個平臺使用的都是HTTPS協議,這樣安全人員更加難以識別攻擊行為中的特徵模式和特徵令牌。

二、釣魚郵件


下圖是針對韓國發送的釣魚郵件樣本:

使用雲平臺的ROKRAT木馬分析

我們所捕獲的第一封郵件最為有趣。在這個樣本中,我們觀察到攻擊者在郵件中感謝用戶接受加入“韓國統一與朝鮮問題會議”這個小組,郵件表示用戶應該填寫文檔內容並提交反饋。然而,這個會議是個冒牌會議,與之最為貼近的是2017年1月份舉辦的NYDA統一會議。郵件發送者是“[email protected]”,這是韓國全球論壇的聯繫郵箱。

查看郵件頭部,我們發現郵件發送者IP是“165.132.10.103”,通過“nslookup”命令可知該IP屬於延世大學的一個SMTP服務器。我們認為該郵箱被攻擊者盜用,藉此發送釣魚郵件。

樣本文件名翻譯過來就是“統一北韓會議_調查問卷”,郵件內容又再次強調了統一會議這個主題。此外,攻擊者暗示收件人在填寫文檔並反饋後將會獲得一些“小費”,也許惡意軟件就是那個“小費”。

使用雲平臺的ROKRAT木馬分析

我們捕獲的第二封郵件就沒那麼用心了。該郵件使用了Daum(Hanmail的前身)郵件服務商提供的免費郵件,與之前的相比,該郵件並沒有試圖偽裝成來自官方機構或個人的郵件,而是使用了簡單的“請求幫助”主題,文檔附件名為“我是一名來自朝鮮江原道文川市的人”。我們懷疑攻擊者想借此博得受害者的同情,因為江原道以前曾是韓國領土的一部分。附件內容講述了一個名為“Ewing Kim”的人正在尋求幫助的故事。

郵件的附件使用了兩個不同的HWP文檔,但利用都是CVE-2013-0808這個漏洞。

三、惡意HWP文檔


這個HWP文檔由OLE對象組成。在本文樣例中,該文檔包含一個名為BIN0001.eps的EPS對象。由於HWP文檔的信息使用了zlib壓縮,因此你需要解壓“.eps”對象來獲得真正的shellcode。

使用雲平臺的ROKRAT木馬分析

我們可以從EPS對象中找到利用CVE-2013-0808漏洞的shellcode:

使用雲平臺的ROKRAT木馬分析

shellcode以0x0404開始,而不是以標準的NOP指令(0x90)開始:

使用雲平臺的ROKRAT木馬分析

使用雲平臺的ROKRAT木馬分析

使用雲平臺的ROKRAT木馬分析

使用雲平臺的ROKRAT木馬分析

四、木馬分析


這兩個文檔所下載的木馬都屬於同一族群,主要區別是所使用的命令與控制服務器,其中一個使用了Twitter作為C2服務器,另一個使用了Yandex和Mediafire這兩個雲平臺,兩個樣本都包含同一個Twitter令牌。

(一)反分析策略

ROKRAT作者使用了常見的幾種技術來對抗人工分析和避免在沙箱內執行。

首先,惡意軟件不在Windows XP系統上運行,它使用GetVersion() API判斷操作系統版本,如果主版本號為5,就執行無限循環sleep:

使用雲平臺的ROKRAT木馬分析

此外,惡意軟件檢查當前運行進程,以便識別安全軟件或沙箱環境,如以下代碼:

使用雲平臺的ROKRAT木馬分析

惡意軟件檢查受害者主機上的進程名,查看是否包含包含關鍵詞,關鍵詞列表如下:

使用雲平臺的ROKRAT木馬分析

使用雲平臺的ROKRAT木馬分析

第一個URL是一張“Men of War”的WII遊戲圖片,第二個URL是一部名為“Golden Time”的日本動漫視頻。

使用雲平臺的ROKRAT木馬分析

這兩個URL都沒有惡意,作者使用這些URL來試圖欺騙對其的安全分析。

(二)C2架構

ROKRAT使用合法平臺作為C2服務器並接收指令。我們總共發現了12個硬編碼令牌,通過這些平臺的公共API進行通訊。

1、使用Twitter作為C2服務器

我們在樣本中發現了7個不同的Twitter API令牌(包含Consumer Key、Consumer Secret、Token以及Token Secret)。惡意軟件檢查Twitter時間線上的最後一條信息來接收指令,指令包括執行命令、移動文件、刪除文件、終止進程、下載並執行文件。惡意軟件也可以發佈推文,推文以下面字符串中的隨機三個字符開始:

使用雲平臺的ROKRAT木馬分析

惡意軟件使用的是官方的Twitter API:

使用雲平臺的ROKRAT木馬分析

2、使用Yandex作為C2服務器

Yandex雲平臺允許用戶在Yandex雲中創建磁盤。對於這個C2服務器,我們在樣本中找到了4個Yandex令牌。樣本使用API來下載和執行文件,或者上傳用戶文檔。文檔上傳地址為:

使用雲平臺的ROKRAT木馬分析

其中“12ABCDEF”是一個隨機ID,用來標識受害主機,而“Doc20170330120000”則包含了時間信息。

使用雲平臺的ROKRAT木馬分析

3、使用Mediafire作為C2服務器

這個網站的使用方法與Yandex類似,目的在於使用Mediafire提供的文件存儲功能,以便下載執行文件或上傳用戶文檔:

使用雲平臺的ROKRAT木馬分析

樣本中內置了一個Mediafire賬戶(郵箱、密碼和應用ID)。

(三)其他功能:屏幕截圖和鍵盤記錄

此外,某個樣本可以截取受害主機的屏幕,攻擊者使用了GDI API來實現這一功能:

使用雲平臺的ROKRAT木馬分析

鍵盤記錄中,惡意軟件使用了SetWindowsHookEx()這個API攔截用戶鍵盤輸入,使用GetKeyNameText() API來獲取按鍵代表的字符,惡意軟件同時提取了前臺窗口的標題信息以便了解用戶當前所處的輸入窗口(使用GetForegroundWindow()以及GetWindowText() API)。

使用雲平臺的ROKRAT木馬分析

五、總結


這次攻擊活動中所使用了HWP(用戶主要集中在韓國)文檔,郵件和文檔完全使用韓文撰寫,這表明攻擊者以韓語作為母語。

木馬使用了新穎的通信渠道,包括Twitter和Yandex、Mediafire這兩個雲平臺來發送命令、獲取文件以及上傳文件。這種通信渠道難以防範,因為這些平臺基本都用於合法用途。惡意軟件具備異常處理功能,例如它可以檢測自身是否在沙箱中運行或者目標環境中是否存在安全分析工具,檢測成功則會進入虛假處理流程並訪問合法網站(Amazon和Hulu)。

這次攻擊活動再次表明韓國仍是攻擊者熱衷的目標。本文案例中,攻擊者使用了首爾某大學合法論壇的郵箱來發送釣魚郵件,以提升攻擊成功率。

六、樣本特徵


(一)文件哈希

使用雲平臺的ROKRAT木馬分析

使用雲平臺的ROKRAT木馬分析

相關推薦

推薦中...