當前位置:
首頁 > 新聞 > 朝鮮APT組織Lazarus使用KEYMARBLE後門攻擊俄羅斯

朝鮮APT組織Lazarus使用KEYMARBLE後門攻擊俄羅斯

一、簡介

在過去的幾周里,我們一直在監控針對俄羅斯公司的可疑活動,我們觀察到朝鮮對俄羅斯實體開展的一次攻擊,這個活動暴露了我們之前從未見過的捕食者-獵物關係。雖然將攻擊歸因於某個威脅組織或其他組織是有問題的,但下面的分析揭示了其與朝鮮APT組織Lazarus使用的戰術、技術和工具的內在聯繫。

這一發現來自我們正在跟蹤的為俄羅斯受害者專門設計和製作的多個惡意Office文檔。通過仔細檢查這些文檔,我們能夠看出它們屬於感染鏈的早期階段,此感染鏈的終端是一個多功能Lazarus後門的更新版本,被US-CERT稱為KEYMARBLE 。

Lazarus有時也被稱為Hidden Cobra,是當今世界上最流行和最活躍的APT組織之一。此臭名昭著的組織,據稱是朝鮮贊助的威脅行為者,被認為是過去十年中一些重大安全事件的幕後黑手。其中包括Sony Pictures Entertainment hack,孟加拉國銀行搶劫案(Bangladesh bank heist)以及眾多其他高風險業務,例如從全球至少五種不同的加密貨幣交換服務中盜竊價值數百萬美元的加密貨幣。

雖然我們的活動時間表與上周EST安全報告(report )中針對韓國安全公司的「Operation Extreme Job」活動重疊,但我們觀察到兩個活動中採用了不同的策略、技術和程序(TTP)。

長期以來,安全界一直認為,Lazarus至少分為兩個分支:第一分支名為Andariel,主要側重於攻擊韓國政府和組織,第二分支是Bluenoroff,其主要關注的是貨幣化和全球間諜活動。同時進行的兩次活動之間的差異再次證實了多個分支同時運作的理論。

然而,這一事件代表了朝鮮威脅行動者對受害者的不尋常選擇。通常,這些攻擊反映了朝鮮與美國、日本和韓國等國家之間的地緣政治緊張局勢。但在本案例中,針對的是俄羅斯機構。

二、感染鏈

在分析中,我們遇到兩種不同的感染流程。

主要感染流程包括以下三個步驟:

1、一個包含兩個文件的ZIP文件:良性誘餌PDF文檔和攜帶宏的惡意Word文檔。

2、惡意宏從Dropbox URL下載VBS腳本,然後執行。

3、VBS腳本從dropzone伺服器下載CAB文件,使用Windows expand.exe實用程序提取嵌入的EXE文件(後門),最後執行它。

起初,感染鏈由上述所有階段組成,但在某一時刻,攻擊者決定跳過感染鏈的第二階段,修改惡意Word宏直接「下載並執行」第三階段的Lazarus 後門。

圖1: 感染流程

1.偽裝Office文檔

與此活動相關的所有文檔在26-31/01/19時間周期,從俄羅斯的不同來源上傳到VirusTotal,看起來與原始文件名相似。

所有文檔包括類似的元數據,其中「home」作為作者姓名,以及韓語代碼頁。

在活動期間,攻擊者利用多個誘餌圖像來說服受害者點擊「啟用內容」按鈕並觸發惡意宏代碼。

「2018.11.2~2019.1.26_ErrorDetail.doc」

首次提交: 2019-01-31 13:45:04

代碼頁: Korean

作者: home

注意: 圖片中的西里爾文字元

SHA-1: 088c6157d2bb4238f92ef6818b9b1ffe44109347

「Serial_Numbers.xls」

首次提交: 2019-01-31 06:56:00

代碼頁: Korean

作者: home

SHA-1:4cd5a4782dbed5b8e337ee402f1ef748b5035709

「LosAngeles_Court_report.doc」

首次提交: 2019-01-26 09:59:50

代碼頁: Korean

作者: home

SHA-1:e89458183cb855118539373177c6737f80e6ba3

2.惡意宏

該活動在dropper的XLS和DOC變體中有著非常相似的宏代碼。

宏本身非常簡單明了,但在本案例中,保持宏簡單並且沒有任何高級混淆技巧,導致惡意文檔無法被Virus Total上許多著名的安全供應商檢測到。

其中在一個文檔中的下載階段,HTTP請求標頭中出現了Dropbox 「Host」欄位(無法解釋其作用)。

圖2: HTTP請求標頭中的Dropbox 「Host」欄位

謎團很快解決了,因為我們找到了另一個相關樣本,它從Dropbox下載了感染鏈的下一階段。很明顯,在此活動期間Dropbox是第二階段感染的原始來源。

圖3: 負責從DropBox下載第二階段感染的代碼

3.誘餌文檔

在此活動期間,至少有一個惡意Office文檔最初是通過ZIP文件分發的,另外還有另一個名為NDA_USA.pdf的PDF誘餌文檔。

圖4: ZIP中包含的誘餌和惡意文件

良性文檔試圖使文件看起來合法,內容為StarForce技術的NDA。StarForce是俄羅斯一家提供軟體複製保護解決方案的公司。

圖5: 發送給誘餌受害者的良性文檔

4.Dropzone

眾所周知,Lazarus組織利用一系列受到入侵的伺服器進行運營,此次也不例外。

此活動中的最終有效載荷以CAB文件的形式從受感染的伺服器下載,稍後將其擴展為KEYMARBLE後門。重要的是要注意CAB文件偽裝成受感染主機上的JPEG圖像(http://37.238.135 [.]70/img/anan.jpg)。

仔細觀察受感染的伺服器,可以看出其為South Oil Company信息部門的網站。該伺服器位於伊拉克,由EarthLink Ltd. Communications&Internet Services託管。

圖6: 伊拉克伺服器遭到入侵

三、KEYMARBLE 後門

KEYMARBLE是一個通用的後門,NCCIC在去年八月的報告中描述過。惡意軟體是一種遠程管理工具(RAT),為操作人員提供從受害者機器獲取信息的基本功能。一旦執行,它會進行多次初始化,聯繫C&C伺服器並無限期地等待來自它的新命令。每個接收的命令由後門在適當的函數內處理,該函數收集信息或在目標機器上進行相應動作。

1.AV檢測

作為之前描述的感染流程的一部分,所有提到的惡意文檔下載的KEYMARBLE均在CAB文件中壓縮。

有趣的是,通過將後門封裝在CAB文件中,攻擊者能夠將此樣本的檢測率從五個供應商降低到僅僅兩個。VirusTotal上的檢測結果:

圖7: AV檢測結果

2.版本比較

該惡意軟體類似於其前身的流程和功能。二者都有兩個主要階段 - 初始化階段,建立必要的數據結構並與C&C伺服器通聯;主命令調度循環,從伺服器接收命令並將它們傳遞給相應的處理程序。這些階段中的特定機制也出現在源自朝鮮的其他惡意軟體中,其中很多都歸咎於臭名昭著的Lazarus組織。

話雖如此,該變體與之前報道的同一家族樣本存在特殊差異。首先,作者使用了wolfSSL,這是一個開源代碼存儲庫,用於向C2伺服器驗證客戶端的身份並加密通信。這並不是朝鮮惡意軟體第一次使用此庫。Intezer描述了一種不同的RAT,出現在去年對加密貨幣交易的攻擊中。另外,雖然後門處理的大多數命令代碼在新舊版本中都重疊,但是最近的樣本中省略了一些代碼,並且修改了其他幾個代碼,以及處理程序的功能。

在接下來的段落中,我們將概述KEYMARBLE的主要特徵,重點關注其與US-CERT報告中樣本的相關性和區別。

3.初始化

兩個後門變體都以動態Win32 API函數解析操作開始。這是一個非常典型的初始階段,在多個朝鮮惡意軟體中出現,其中函數名列表在運行時解密,然後解析為內存中的全局表。隨後將使用該表中的地址來調用所需的API函數。此機制中區分此惡意軟體與其他惡意軟體的一個特徵是利用開源McbDES2中的DES演算法實現函數名解密。

圖8: 兩個版本的KEYMARBLE中API解析邏輯的比較

圖9: 使用開源McbDoDES庫進行API函數名解密

此後,KEYMARBLE將開始準備與C&C伺服器通信所需的數據結構。這將包括啟動WolfSSL相關結構以及與伺服器的初次通聯。對於前者,惡意軟體會將硬編碼的PEM證書釋放到磁碟中的%TEMP%下,文件名為「Thumbss.db」,讀取數據並傳遞給名為ProcessFile的內部WolfSSL函數。依次解析,並將從證書派生的數據分配給用於通信的全局上下文結構。此示例中使用的證書可在下面的IOC部分中找到。

圖10: 使用wolfSSL初始化通信

至於啟動與C2伺服器的通聯,惡意軟體將創建一個套接字,通過調用命令參數設置為0x8004667E的ioctlsocket將其設置為非阻塞,並嘗試連接到硬編碼的IP地址194 .45 .8 .41通過埠443。這將無限期的發生,每次連接嘗試之間間隔30分鐘,直到成功,此時惡意軟體將從循環中斷並繼續後續工作。

4.通信協議

在惡意軟體和伺服器之間交換的每條消息都具有預定義的結構(如圖4所示),類似於TLS應用程序記錄。如前所述,惡意軟體利用SSL進行通信,因此每個此類消息將使用客戶端和伺服器SSL在握手期間交換的密鑰進行加密,發送或接收數據的操作將由指定的wolfSSL函數處理(SendData和 receiveData)。

圖11: 自定義協議消息結構,類似於TLS記錄。

在啟動與C2伺服器的首次連接後,KEYMARBLE將發出信標消息。此消息用於發送機器的UID,即MD5(ProductID|MAC)的結果,其中第一個欄位是通過查詢SOFTWAREMicrosoftWindows NTCurrentVersionProductId註冊表項獲得的,第二個欄位是通過調用GetAdaptersInfo函數獲得的MAC地址。但是,只有在來自伺服器的顯式請求之後才會獲取此UID,並且在完成之前信標中的數據欄位一直為空。

圖12: UUID為ProductID和MAC地址的MD5

在初始信標之後,惡意軟體將進入無限循環,等待從伺服器獲取命令代碼。這些命令將被傳遞給調度函數,其中每個命令將由相應的處理程序處理。該命令分兩部分接收 - 首先伺服器將發送一條帶有命令數據長度的消息,然後它才會發出實際的命令代碼。

圖13: 信標和主消息循環

5.後門命令

命令調度程序是一種非常基本的機制,它使用一個switch case來將控制權傳遞給相應的函數。命令代碼的範圍從0x1234556到0x1234578,並且大多數與舊版後門中出現的命令重疊。但是,此版本的命令數量較少(18對22),其中只有很少一部分的代碼和功能與舊版本不同。此外,與接收命令代碼相似,發送的每個命令參數(如果需要)將在前面加上一條長度消息,以指示應為發送的參數分配緩衝區的大小。

圖14: 比較新舊版本KEYMARBLE的命令調度函數

所有命令,它們的邏輯和響應總結在下表中:

Check Point通過其SandBlast威脅防禦解決方案防範此攻擊。

IOCs

·2b4fb64c13c55aa549815ec6b2d066a75ccd248e (新KEYMARBLE樣本)

·d1410d073a6df8979712dd1b6122983f66d5bef8 (舊KEYMARBLE 樣本)

·4cd5a4782dbed5b8e337ee402f1ef748b5035709 (Maldoc)

·a5b2c704c5cff550e6c47454b75393add46f156f (包含PDF的ZIP )

·194.45.8.41:443 (KEYMARBLE C2)

·hxxp://37.238.135.70/img/anan.jpg (Dropzone 伺服器)

·PEM 證書:

—–BEGIN CERTIFICATE—–

MIIDYjCCAkqgAwIBAgIIAZAXmK UHF4wDQYJKoZIhvcNAQELBQAwZjELMAkGA1UE

BhMCVVMxGTAXBgNVBAoMEEdsb2JhbFNpZ24gbnYtc2ExPDA6BgNVBAMMM0dsb2Jh

bFNpZ24gT3JnYW5pemF0aW9uIFZhbGlkYXRpb24gQ0EgLSBTSEEyNTYgLSBHMjAi

GA8yMDE4MDkwMjE0NDgwOVoYDzIwMjAwMTE2MTQ0ODA5WjBmMQswCQYDVQQGEwJV

UzEZMBcGA1UECgwQR2xvYmFsU2lnbiBudi1zYTE8MDoGA1UEAwwzR2xvYmFsU2ln

biBPcmdhbml6YXRpb24gVmFsaWRhdGlvbiBDQSAtIFNIQTI1NiAtIEcyMIIBIjAN

BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvwzKLRSyHoRCW804H0ryTXUQ8bY1

n9/KfQOY06zeA2buKvHYsH1uB1QLEJghTYDLEiDnzE/eRX3Jcncy6sqQu2lSEAMv

qPOVxfGLYlYb72dvpBBBla0Km OlwLDScHZQMFuo6AgsfO2nonqNOCkcrMft8nyV

sJWCfUlcOM13Je 9gHVTlDw9ymNbnxW10x0TLxnRPNt2Osy4fcnlwtfaQG/YIdxz

G0ItU5z Gvx9q3o2P5jehHwFZ85qFDiHqfGMtWjLaH9xICv1oGP1Vi jJtK3b7Fa

F9c4mQj k1hv/sMTSQgWC6dNZwBSMWcjTpjtUUUduQTZC zYKLNLve02eQIDAQAB

oxAwDjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBRe7BnZbn005fj

P5in0Pv6FMWy9x7kzjI2e6JcxXr LuEisfxACkw2g2yFrQAzZguTSGYiSIDtwURE

A ALRoZFa9gVwtqKQFOQOBcDYINZIqI8Ma7eprcF/O tAOzHIRoifyYYpv0Is89x

6xI8og9hRzVTyov5eYK0tqjdMZwRWSQz2hmghhqXx43YlRw0f69iKjJ7MpHtv/Ru

uMPlbwo/VRXY8kywL/GkFG3nPxWKXm7T4nBFp5/sYCvfakPpZDuzEN7igXhOWaqL

TwkCOWQf3m6oX56DDpzeHJmLYEukX7QNjVBF3mTW7LIuPT5rR3nJFYJA9Tf0umvd

B30JttH5

—–END CERTIFICATE—–

參考

·https://www.us-cert.gov/ncas/analysis-reports/AR18-221A

·https://www.intezer.com/lazarus-group-targets-more-cryptocurrency-exchanges-and-fintech-companies/

·https://github.com/wolfSSL/wolfssl

·http://read.pudn.com/downloads198/sourcecode/crypt/ca/930917/McbDES2.hpp__.htm

·https://graphics.stanford.edu/~mdfisher/Code/WebPagePreprocessor/zip.cpp

附錄

在執行代號0x1234558的處理程序期間枚舉的每個文件和目錄使用的結構:

用於代碼0x123455D處理程序中的收集系統和網路信息的緩衝區如下所述:

其中info_item是以下結構的FAM:

system_info具有以下結構:


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

Cve-2019-6340 Drupal遠程代碼執行漏洞
域滲透——Kerberoasting

TAG:嘶吼RoarTalk |