APT 攻擊晉升 64 位元版本

Google 在6月發表 64 位元 Chrome 瀏覽器時提到,升級至 64 位元版本的主要動機就是絕大多數的 Windows 使用者現在都已使用 64 位元作業系統。儘管 64 位元 Windows 作業系統的普及率比 Microsoft 原先預期的稍慢一點,但卻一直有穩定成長,而且軟體開發廠商的支援度也有顯著提升。但不幸的是,駭客也同樣跟進,推出 64 位元惡意程式。

APT

趨勢科技已記錄了多個擁有 64 位元版本的惡意程式,包括 64 位元版本的 ZeuS 在內,而同樣的情況也出現在鎖定APT 攻擊/目標攻擊上。事實上,根據我們的「2013 年下半年鎖定APT 攻擊/目標攻擊趨勢」報告指出,在所有鎖定目標相關惡意程式當中,有 10% 僅能在 64 位元平台執行。

KIVARS:早期版本

趨勢科技所發現的64 位元惡意程式其中之一就是 KIVARS。根據我們的發現,該惡意程式的早期版本僅會影響 32 位元系統,並且是透過 TROJ_FAKEWORD.A (SHA1 218be0da023e7798d323e19e950174f53860da15) 這個惡意程式來植入系統。不過請注意,所有版本的 KIVAR 都會利用這個下載程式來安裝載入程式和後門程式。

當 TROJ_FAKEWORD.A 執行時,它會在系統植入 2 個執行檔以及一個密碼保護的 MS Word 文件,此文件的作用只是當成誘餌:

  • %windows system%\iprips.dll – TROJ_KIVARSLDR
  • %windows system%\winbs2.dll – BKDR_KIVARS
  • C:\Documents and Settings\Administrator\Local Settings\Temp\NO9907HFEXE.doc – 誘餌文件

 圖 1:TROJ_KIVARSLDR 會安裝成名為「iprip」的服務。

TROJ_KIVARSLDR 會將 BKDR_KIVARS 載入記憶體中執行。BKDR_KIVARS 具備下列能力:

  • 下載\上傳檔案
  • 操控\執行檔案
  • 列出所有磁碟機
  • 解除安裝惡意程式服務
  • 擷取螢幕畫面
  • 啟動\關閉鍵盤側錄程式
  • 操控前景視窗 (顯示、隱藏)
  • 觸發滑鼠左鍵、右鍵點選以及點兩下
  • 觸發鍵盤輸入

TROJ_FAKEWORD.A 會利用「強制由左至右書寫」(RTLO) 技巧並結合 MS Word 文件圖示來讓使用者誤以為它只是個一般的文件檔案,這兩項技巧之前就曾經出現在 PLEAD

BKDR_KIVARS 使用了一個小幅修改的 RC4 來將其字串和組態設定加密。它增加了一個位元組的參數,並且會檢查這個位元組的數值是否等於或大於 80h (十六進位)。若條件滿足,就會將該位元組加上 RC4 經過 XOR 運算後的輸出值。此外,它也利用這個功能來解開 10h (十六進位) 位元組金鑰。

圖 2:惡意程式碼字串解密過程。

植入系統的檔案一開始會使用一個經過 XOR 運算的「55h」(十六進位) 金鑰加密。鍵盤側錄記錄檔也是同樣作法,該檔的名稱為:klog.dat。

圖 3:解密後的 klog.dat 檔案。

BKDR_KIVARS 最初傳送的封包是使用 RC4 來加密。封包內含下列資訊:

  • 受害者的 IP 位址
  • 可能的行動 ID
  • 作業系統版本
  • 主機名稱
  • 使用者名稱
  • KIVARS 版本
  • 最近開啟的檔案\桌面資料夾
  • 鍵盤配置

圖 4:BKDR_KIVARS 所傳送的封包解密之後的樣子。

64 位元支援

較新的  KIVARS 版本 (可支援 32 位元和 64 位元) 安裝在受害者電腦之後的樣子稍有不同。例如,載入程式和植入的後門程式採用隨機的檔案名稱。

  • %Windows%system32%\{隨機}.dll
  • %Windows%system32%\{隨機}.{tlb|dat} – 副檔名為 tlb 或 dat

此版本的載入程式依然是安裝成服務,並使用下列其中一個服務名稱:

  • Iprip
  • Irmon
  • ias

此 BKDR_KIVARS 程式的稍早版本只會將後門程式的「MZ」位元組加密。但到了新的版本,後門程式現在則使用修改過的 RC4 來加密。

https://blog.trendmicro.com/trendlabs-security-intelligence/files/2014/07/kivars5.png

圖 5:這段程式碼顯示 64 位元載入程式會使用修改過的 RC4 來解開金鑰。與此惡意程式早期版本的程序相同。

幕後操縱 (C&C) 通訊

新版的惡意程式會發送一個隨機產生的封包。然後再根據此封包產生一個金鑰來檢查幕後操縱伺服器的回覆。當回覆驗證通過之後,就會發送同樣經過 RC4 加密的資訊,但不同的是,前 4 個位元代表的是資訊的大小。

圖 6:新版本的封包解開之後的樣子。

以下是 KIVARS 的一些相關資訊:

偵測名稱

SHA1

幕後操縱伺服器

IP

BKDR64_KIVARS.ZTAL-BA

f3703e4b11b1389fbda1fbb3ba7ff3124f2b5406

herace.https443.org

210.61.134.56

BKDR_KIVARS.ZTAL-BA

f797243bd709d01513897f26ce1f5517ab005194

herace.https443.org

210.61.134.56

TROJ_FAKEWORD.A

218be0da023e7798d323e19e950174f53860da15

TROJ_KIVARSENC.ZTAL-A

709312b048b3462883b0bbebb820ef1bc317b311

gsndomain.ddns.us

211.21.209.76

TROJ_KIVARSLDR.ZTAL-A

6df5adeaea3f16c9c64be5da727472339fa905cb

BKDR_KIVARS.ZTAL-A

9991955db2623f7b34477ef9e116d18d6a89bc3e

TROJ_KIVARSDRP.ZTAL-A

b9543a848d3dfbc04adf7939ebd9cfd758a24e88

TROJ_KIVARSENC.ZTAL-A

8112760bf2191d25cbb540a5e56be4b3eb5902fe

TROJ_KIVARSLDR.ZTAL-A

17ab432d076cc6cb41fcff814b86baf16703e27c

BKDR_KIVARS.ZTAL-A

63d4447168f3d629ec867e83f4ad2e8f107bd3b2

zyxel.blogsite.org

TROJ_KIVARSDRP.ZTAL-A

c738d64fdc6fcf65410ab989f19a2c12f5ef22ab

TROJ_KIVARS.A

d35c2d5f9c9067702348a220f79904246fa4024f

gsndomain.ddns.us

211.21.209.76

與 POISON 的關聯

我們發現 KIVARS 的幕後歹徒也會在攻擊行動中使用 POISON 這個遠端存取工具 (RAT)。以下是 KIVARS 所用到的某個幕後操縱伺服器相關的雜湊值:

偵測名稱

SHA1

幕後操縱伺服器

IP

BKDR_POISON.VTG

6b6ef37904e1a40e33f3fc85da9ba142863867a2

adobeupdate.ServeUsers.com

210.61.134.56

TROJ_POISON.BHV

defeb241b5504c56603c0fd604aea6a79975b31d

butterfly.xxuz.com

210.61.134.56

BKDR_POISON.TUET

ad935580a5d93314f5d22f2089b8e6efeca06e18

truecoco.REBATESRULE.NET

210.61.134.56

 

◎原文來源:KIVARS With Venom: Targeted Attacks Upgrade with 64-bit “Support”    作者:Kervin Alintanahin (威脅分析師)