當前位置:
首頁 > 新聞 > 狩獵俄羅斯APT28——對其一系列新的惡意軟體分析

狩獵俄羅斯APT28——對其一系列新的惡意軟體分析

一、簡介

最近,一系列新的惡意軟體樣本被提交到主要的在線沙箱。我們注意到一些提交給Virus Total的樣本被一些專家歸因溯源到俄羅斯APT28組織。

APT28組織(又名Fancy Bear,Pawn Storm,Sednit,Sofacy,和Strontium)至少從2007年以來一直活躍,針對全球的政府、軍事和安全組織。該組織還參與了針對2016年美國總統選舉的一系列攻擊。

在研究人員DrunkBinary(Twitter ,@DrunkBinary)的幫助下,我們獲得了一組樣本,與我們擁有的樣本進行比較,以發現是否存在臭名昭著的APT28後門的新變種X-Agent。

我們所分析的攻擊是多階段的,用Delphi編程語言(APT28在其他行動中使用的語言)編寫的初始dropper惡意軟體從Internet下載第二階段有效載荷並執行它。有效載荷使用HTTPS協議與伺服器通信,因此無法竊聽其生成的惡意流量。

我們還分析了另一個惡意DLL,它顯然與以前的樣本無關,但與俄羅斯APT組織的其他有效載荷有許多相似之處。這個惡意軟體對我們來說特別有意思,因為它與名為「marina-info.net」的命令和控制伺服器通聯,明確提到義大利軍事公司Marina Militare。這導致我們猜測惡意代碼是針對義大利Marina Militare或與之相關的其他實體而開發的。

最後一個DLL似乎與之前的樣本完全沒有關聯,但進一步的調查使我們相信它是APT28在此行動中用來攻陷目標系統的附加組件。

APT28擁有豐富的武器庫,由大量模塊組成,包括我們分析的X-Agent的dll組件。X-Agent是注入受害計算機的持久有效載荷,幾乎適用所有計算機操作系統,也可以通過添加開發的新ad-hoc組件來增強特定網路攻擊。在我們的案例中,當新的攻擊行動正在進行時,該組件已提交到在線沙箱。我們不能排除APT組織開發後門以針對特定組織,包括義大利Marina Militare或任何其他承包商。在分析中,我們無法將惡意dll文件直接連接到X-Agent樣本,但相信它們都是APT28支持的協調良好的攻擊的一部分。

連接到marina-info.net的DLL可能是僅在特定條件發生時觸發的最後階段的惡意軟體,例如當惡意軟體感染具有屬於特定範圍的IP地址的系統時。

二、發現的樣本

在本節中,我們將報告調查中分析的所有樣本。

「sdbn.dll」

「upnphost.exe」

三、四個可執行文件背後隱藏著相同的惡意軟體

在我們調查的新攻擊行動中,上一節中列出的前四個可執行文件被用作感染媒介。樣本顯示為不同的有效載荷,但進一步的基本靜態分析使我們發現它們是相同的惡意軟體樣本:

·前兩個樣本是相同的,唯一的區別是第二個樣本使用UPX工具打包。解壓縮後,我們發現了相同的有效載荷以及與第一個樣本相同的散列

·第三個和第四個也是相同的,不同之處在於第四個是使用UPX工具打包的。

·我們有兩個不同的樣本,然後能夠從第二個系列中提取2個文件:經典的「.lnk」文件和「jpg」文件。

圖1 - 提取的文件

這些文件似乎是經典的img和鏈接,但實際上jpg文件是第二個示例的可執行文件,並且在鏈接文件中隱藏了以下命令:

%systemroot%System32cmd.exe /c copy 12-033-1589(1).rar

C:UsersPublic12-033-1589(1).exe || copy 12-033-1589(2).jpg

C:UsersPublic12-033-1589(1).exe & start C:UsersPublic12-033-1589(1).exe

1. upnphost.exe

執行該文件後,它會聯繫IP 45.124.132.127,定期發送在操作系統上使用命令行「cmd.exe / c tasklist&systeminfo」收集的一些信息。

根據WHOIS記錄,該伺服器位於香港:

使用POST方法通過HTTPS通信將信息發送到命令和控制伺服器。

圖2 - 嗅探的POST流量

一旦惡意軟體將有關主機配置的信息發送到C2,它將下載另一個文件upnphost.exe,該文件是最終的有效載荷,存儲路徑為「%APPDATA%LocalTemp」。

此外,可執行文件通過設置註冊表項來實現持久性機制:

圖3 - 持久性機制的註冊表項

另一個文件與位於拉脫維亞的另一個命令和控制伺服器46.183.218.37通聯:

圖4 - 關於46.183.218.37的Whois信息

2.我們提交給VirusTotal

我們還發現upnphost.exe文件是由我們提交給Virus Total的,可能是因為dropper實現了evasion技術。

為了分析dropper,我們修補了它。應用修補程序後,我們就能夠分析惡意軟體的完整惡意行為。

圖5 - dropper的補丁點

惡意代碼開始聯繫前面提到的命令和控制伺服器並下載「upnphost.exe」文件。

下面是我們獲取的在VirusTotal上提交的修補版本的結果:

圖6 - VirusTotal得分

3.AutoIt 腳本

使用AutoIt語言編寫的腳本管理與命令和控制伺服器的通信。此腳本作為資源嵌入upnphost.exe文件中,並在啟動時與HTTPS中的其他伺服器通信,發送有關受害者計算機的一些信息。

圖7 - 一段反編譯代碼

上圖顯示了一段AutoIt腳本的反編譯代碼,其中IP地址和路徑以及用戶代理使用十六進位編碼偽裝。

解碼參數後,我們獲取了用於通聯C&C的IP地址,路徑和用戶代理,並發回有關目標系統的信息。

另一個特點是提供HTTPS通信代碼的函數的名稱。其名稱為checkupdate(),似乎惡意軟體被指示定期聯繫C&C等待新命令。

下圖顯示了多階段攻擊:

圖8 - 多階段攻擊方案

4.sdbn.dll

此文件是從威脅情報平台獲取的,並被標記為APT28樣本,如同之前的文件。目前尚不清楚此樣本是否與之前的樣本相關聯,但它可能屬於同一個感染行動,因為它是在幾個在線沙箱中的同一時間段上傳的。

與之前文件的另一個共同特點是,它是用Delphi編程語言編寫的,就像四個初始dropper文件一樣。很難找到用Delphi語言編寫的惡意軟體,但其他安全公司之前進行的調查證實,APT28組已經在過去的攻擊行動中使用過該語言編寫的惡意軟體。

從sdbn.dll的分析中得出的最重要的證據是,它聯繫了域名:marina-info.net,明確提到了義大利語Marina Militare。該域名已解析為位於荷蘭的IP 191.101.31.250:

圖9 - 關於「marina-info.net」的Whois

在本樣本中,也通過使用HTTPS協議來執行與C2的通信。我們發現了至少有三條與自定義用戶代理標頭聯繫的路徑:

表1 - 發現的URL和路徑

與upnphost.exe惡意軟體一樣,此可執行文件會定期聯繫命令控制伺服器等待新命令。但是,我們發現伺服器始終響應403狀態代碼,對惡意軟體本身發送的請求也是如此。

圖10 - 來自C2C的響應

這種行為可能是伺服器實施的伺服器端控制的結果,只允許來自特定IP地址的請求,或者只是被攻擊者故意禁用,可能是因為他們認為已經被受害者或安全人員發現。它可能是攻擊者實施的安全機制,應對安全公司進行嚴格的調查。此外,我們決定進一步調查VirusTotal上這個新文件的檢測率。當我們開始分析它時為零,這意味著威脅完全未被發現,目前惡意代碼的檢測率為35/65。

四、攻擊地圖

在本節中,我們展示威脅圖,其中包含我們分析的樣本所通聯的各種IP地址。

圖11 - 威脅地圖

正如我們所看到的,黑客組織所覆蓋的攻擊面非常寬:歐洲有兩個不同的C2C,另一個在中國,用於誤導分析,這會在重建完整的網路攻擊時造成混亂。

Yara rules

import "pe"

rule Dropper_APT28XAGENTJuly2018 {

meta:

description = "Yara Rule for dropper of APT28 XAGENT

July2018"

author = "CSE CybSec Enterprise - Z-Lab"

last_updated = "2018-07-13"

tlp = "white"

category = "informational"

strings:

$a =

$b =

condition:

(pe.number_of_sections == 9

and pe.sections[3].name == ".bss"

and all of them)

or (pe.number_of_sections == 3

and pe.sections[0].name == "UPX0"

and pe.sections[1].name == "UPX1"

and pe.number_of_resources == 70

and pe.resources[61].type == pe.RESOURCE_TYPE_RCDATA

and pe.resources[60].type == pe.RESOURCE_TYPE_RCDATA

and pe.resources[59].type == pe.RESOURCE_TYPE_RCDATA)

}

rule FirstPayload_upnphost_APT28XAGENTJuly2018 {

meta:

description = "Yara Rule for APT28 XAGENT July2018 First

Payload"

author = "CSE CybSec Enterprise - Z-Lab"

last_updated = "2018-07-13"

tlp = "white"

category = "informational"

strings:

$a =

$b =

condition:

pe.number_of_resources == 26

and pe.resources[19].type == pe.RESOURCE_TYPE_RCDATA

and pe.version_info["FileDescription"] contains

"Compatibility"

and all of them

}

rule SecondPayload_sdbn_APT28XAGENTJuly2018 {

meta:

description = "Yara Rule for APT28 XAGENT July2018 Second

Payload sdbn.dll"

author = "CSE CybSec Enterprise - Z-Lab"

last_updated = "2018-07-13"

tlp = "white"

category = "informational"

strings:

$a =

$b =

condition:

pe.number_of_sections == 6

and pe.number_of_resources == 1

and pe.resources[0].type == pe.RESOURCE_TYPE_VERSION

and pe.version_info["ProductName"] contains "Microsoft"

and all of them

}


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

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


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

詳細分析微軟Edge瀏覽器Chakra引擎UAF漏洞
Gartner分享2018年Top10安全項目

TAG:嘶吼RoarTalk |