如何實現APT34泄密武器報告分析

apt34是一個來自于伊朗的apt組織,自2014年起,持續(xù)對中東及亞洲等地區(qū)發(fā)起apt攻擊,涉獵行業(yè)主要包含政府、金融、能源、電信等。攻擊武器庫不斷升級,攻擊手法也不斷推陳出新,而攻擊者不會因為被曝光而停止攻擊行為,這種情況已經持續(xù)多年。

APT34組織背景

4月17日,有國外媒體報道,一個名為“Lab Dookhtegan”的用戶在Telegram上曝光了來自APT34組織的攻擊工具包,一些APT34的受害者數據也同時被曝光出來。該事件如同以前的源代碼泄露事件一樣,極具爆炸性。APT34組織至少從2014年開始,持續(xù)對中東及亞洲的某些國家發(fā)起了多次攻擊,攻擊目標為政府、金融、能源、電信等行業(yè)。該組織的目標一般是伊朗的對立國家,所以有人猜測,該組織是伊朗的某個安全部門,或者是和伊朗政府長期合作的安全公司。該組織善于利用社交媒體,偽造各種身份的互聯網賬號,通過社交工程技巧接近攻擊目標。同時,該組織的攻擊武器庫不斷升級,攻擊手法也越來越高明,他們將魚叉釣魚等攻擊手段與新型攻擊技術相融合,不斷擴大現有目標的滲透范圍。

如何實現APT34泄密武器報告分析

被曝光的APT34組織成員

根據泄露的Webshell列表,很明顯該組織近期對中國進行了大規(guī)模的攻擊行動。這幅圖表列出了超過10家標注為“China”的網站被攻破,可作為證據來支持針對國內攻擊的論述。

如何實現APT34泄密武器報告分析

Lab Dookhtegan曾經聲稱每隔幾天就會曝光一名組織人員的個人信息,不過現在Telegram和Twitter上的帳號已經被封鎖。

如何實現APT34泄密武器報告分析

泄露工具介紹

此次源代碼泄露的事件中,包含了大量APT34組織常用的重要攻擊武器,如:Webshells_and_Panel、 posion frog、Webmask、Glimpse。東巽科技2046Lab使用《鐵穹高級持續(xù)性威脅預警系統(tǒng)》對這些攻擊武器做了威脅檢測,并從技術層面做了深入分析。 ? ?

檢測結果

1.Webshell預警:【高危】

如何實現APT34泄密武器報告分析如何實現APT34泄密武器報告分析

2.文件沙箱檢測預警:【高危】

如何實現APT34泄密武器報告分析

3.DNS隱蔽信道檢測預警:發(fā)現利用DNS異常長域名傳輸的隱蔽隧道

如何實現APT34泄密武器報告分析如何實現APT34泄密武器報告分析 ?

攻擊武器分析
? ?

1.Webshells_and_Panel

Webshells_and_Panel目錄中主要包含了多種C#編寫的Webshell工具,在Webshell目錄中包含兩個主要的文件夾,分別為HighShell和HyperShell。

?1.1?HighShell ?

在HighShell目錄中只有HighShell.aspx,該Shell為針對Windows服務器的WebShell。打開后默認界面如下圖:

如何實現APT34泄密武器報告分析

通過上面的圖片可以看出,該版本為5.0版本,擁有認證、文件上傳、命令執(zhí)行、數據庫操作等多項功能。

使用該Webshell需要在“Login”標簽后的紅色輸入框中輸入連接密碼( Th!sN0tF0rFAN) 后點“Do it”按鈕,當輸入框變?yōu)榫G色即可通過該Webshell對服務器進行相關操作。下圖為操作“command”命令并獲得服務器信息的操作圖:

如何實現APT34泄密武器報告分析

?1.2 HyperShell

HyperShell是一個包含多個源碼文件的項目,其中包括多個WebShell的源碼文件。以下為幾個可以使用的webshell的功能。

simple.aspx ?

包含認證、命令執(zhí)行和文件上傳功能的簡易webshell是simple.aspx。打開后如圖所示:

如何實現APT34泄密武器報告分析在Password輸入框中輸入連接密碼(MkRg5dm8MOk)點擊“Login”按鈕后,即可對服務器進行命令控制及文件上傳。密碼連接如下圖:

如何實現APT34泄密武器報告分析下圖為操作“command”命令并獲得服務器信息的操作圖: ? ?
如何實現APT34泄密武器報告分析

simpleDownload.aspx ?

simpleDownload.aspx只有一個上傳功能,如下圖:

如何實現APT34泄密武器報告分析

?HighShelllocal.aspx ?

HighShelllocal.aspx為HighShell的升級版,版本號為8.6.2,該版本功能與獨立的5.0版大致相同主要對界面及功能進行了優(yōu)化,界面圖如下:

如何實現APT34泄密武器報告分析

2.poison frog

?2.1 Agent

2.1.1 poisonfrog.ps1

Poisonfrog.ps1 is the only file of Agent, which is used to plant backdoor programs on compromised hosts.。該文件運行后,會在失陷主機的C:UsersPublicPublic目錄下留下3個文件,dUpdater.ps1、hUpdater.ps1和UpdateTask.vbs。

如何實現APT34泄密武器報告分析主機上留下的后門程序是UpdateTask.vbs腳本,每10分鐘通過計劃任務自動運行。它的作用是運行兩個腳本:dUpdater.ps1和hUpdater.ps1。

如何實現APT34泄密武器報告分析

2.1.2 ?dUpdater.ps1

此腳本為遠控腳本,它會生成DNS域名并連接控制服務器,從中接收遠程指令,并進行文件的發(fā)送和接收。在生成DNS域名時使用了DGA.Changer算法,動態(tài)地計算服務器域名, 2046Lab對這個DGA.Changer算法進行了復原:

如何實現APT34泄密武器報告分析

receive函數:

運行EEA函數獲取VVA域名,JJA參數設為r;

嘗試解析VVA域名,若失敗,則拋出異常,并重新生成新域名且嘗試解析新域名,重復操作直到域名解析成功;若成功,則取第一個成功解析的IP,并將該IP的每一段分別取出;

若IP為1.2.3.*,則將NNA設為false,將RRA的值寫入PPA的文件,并退出主函數;

若NNA為true,修改RRA?的值,為IP的前三段,繼續(xù)循環(huán)主函數;

若IP為24.125.*.*,則將IP的第三段與第四段拼接作為C:UsersPublicPublic$DDAreceivebox子文件夾名(PPA),將GGA設為1,將NNA設為true,繼續(xù)循環(huán)主函數;

若IP為11.24.237.110,則停止解析并退出主函數,該IP為OilRig曾經使用的IP。

Send函數:

運行Slaber檢查發(fā)送的文件,運行EEA函數獲取VVA域名,JJA參數設為s;

嘗試解析VVA域名,若失敗,則拋出異常,并重新生成新域名且嘗試解析新域名,重復操作直到域名解析成功;若成功,則取第一個成功解析的IP,并將該IP的每一段分別取出;

若IP為1.2.3.*,則取出IP的第四段得值并循環(huán)主函數;

若IP為11.24.237.110,則停止解析并退出該函數,同時刪除要發(fā)送的文件。

Slaber函數:

檢查發(fā)送的文件大小,超過600kb則報錯,否則運行resolver函數。?

resolver函數:

解析發(fā)送的文件,每30個字符為一組。?

processor函數:

處理接收的文件,MMB為”sendbox”文件夾中的文件;

若接收的文件名以”0”結尾,將接收的文件寫入”sendbox”文件夾內,并使用UTF-8編碼,隨后移除之前接收的文件;

若接收的文件名以”1”結尾,若接收文件內容里存在路徑,則將該路徑作為發(fā)送路徑;

若不存在則將”File not exist”字符串寫入MMB文件,隨后移除之前接收的文件;? ? ? ? ? ? ? ? ? ? ? ? ? ?

若接收的文件名以”2”結尾,將RRB設為”done”文件夾中的文件,將接收的文件移動至”done”文件夾下,再將該文件內容寫入MMB文件,隨后移除之前接收的文件。?

2.1.3 ?hUpdater.ps1 ?

解析”myleftheart.com”的IP,并嘗試連接;

若存在C:UsersPublicPublicfiles cfg.ini文件,則取相應參數字段如srv、usr、pas、prt、dom。將srv與prt的值通過”:”拼接為新字符串,并將該字符串使用http設置為代理服務器,將usr、pas、dom的值作為代理服務器的憑證;若不存在,則獲取默認代理服務器;

OOA:隨機取0至9中的若干個整數,取的個數在1至9個隨機選取,將取出的數拼接;

DDA:為dUpdater.ps1腳本中的DDA;

PPA:DDA的第5位插入OOA所得;

從“http://myleftheart.com/co/$PPA”下載文件,設下載的文件內容為QQA,將QQA以“”作分隔,數組設為SSA。

?p為路徑C:UsersPublicPublicfiles$SSA[0]。

若SSA[2]長度大于0并且SSA[2]不存在“not”字符串,則從http://myleftheart.com/fil/SSA[3]下載文件至C:UsersPublicPublicfiles$SSA[2],再將該內容寫入路徑p;

若SSA[1]長度大于0并且SSA[1]不存在“not”字符串,則上傳路徑p的文件上傳至http://myleftheart.com/res/$PPA$SSA[0];

若SSA[4]長度大于0并且SSA[4]不存在“not”字符串,則上傳路徑SSA[4]d的文件上傳至http://myleftheart.com/res/$PPA$SSA[0];

若SSA中最后一個數據中值為“1”,則循環(huán)運行主函數;

若SSA[0]?長度大于0并且SSA[1]不存在”not”字符串,則上傳路徑p的文件至http://myleftheart.com/res/$PPA$SSA[0],并刪除路徑p的文件。?

2.2??Server Side

Server端是APT34用于管理失陷主機的的總控制端,可以從失陷主機上下載文件,上傳文件到失陷主機。

這個服務端提供了一個簡單的登入界面。

如何實現APT34泄密武器報告分析

通過一個 JSON 配置文件管理用戶和密碼非常簡單。在泄露的文件中,使用了易于猜測的用戶名(blacktusk)和密碼(fireinthehole)。

下圖中的GUID( /7345SDFHSALKJDFHNASLFSDA3423423SAD22 )的作用是引導瀏覽器進入登陸頁面,這個GUID可以說是很重要的。

如何實現APT34泄密武器報告分析The host lists for both HTTP Agent and DNS Agent are also available on the server side.。從這個列表中可以很方便地看到哪些主機現在是受到控制的。

如何實現APT34泄密武器報告分析

每個HTTP Agent和DNS Agent具有詳細信息的頁面,在這里,就可以對這個失陷的主機下發(fā)C&C的命令,上傳或下載文件了。這里的DNS Agent可能是合并了Glimpse的某些功能,Glimpse在下面做了詳細的介紹。 ? ?

如何實現APT34泄密武器報告分析對于失陷主機,APT34使用一個默認的BAT遠控腳本來獲取主機信息,獲取的信息非常的詳細,包括系統(tǒng)、用戶、組、域、特定注冊表、計劃任務、反病毒軟件等等。

如何實現APT34泄密武器報告分析如何實現APT34泄密武器報告分析

3.Webmask

該工具主要部署在攻擊者服務器上,實現DNS代理,針對特定的DNS域名進行劫持,并將域名默認指向本地服務器,通過Squid3+ICAP實現HTTP/HTTPS代理,竊取受害者賬號密碼等敏感信息。

如何實現APT34泄密武器報告分析

dns-redir目錄:

dnsd.py:DNS代理轉發(fā)腳本config.json:配置文件

如何實現APT34泄密武器報告分析

dnsd.js: JS類型的DNS代理腳本,和dnsd.py功能類似a。

本地模擬DNS代理功能截圖展示如下:

如何實現APT34泄密武器報告分析

icap目錄:

icap.py:需要和Squid3結合使用,構建http/https代理,并將代理中的敏感數據記錄到本地。

squid.conf配置文件:

如何實現APT34泄密武器報告分析

Squid3+ICAP實現透明代理服務器,icap.py腳本對密碼等敏感數據進行提取,記錄到本地log文件中。 ? ?

如何實現APT34泄密武器報告分析

icap腳本文件中針對應答response_body部分加入了劫持的代碼,在受害者瀏覽器中加載指定的圖片元素。

如何實現APT34泄密武器報告分析

4.Glimpse

Glimpse包括Agent、Panel和Server三個部分,是一種DNS遠控工具。從Glimpse Server中的某些代碼來看,它的某些功能可能和poison frog是重合的,比如下發(fā)命令的方式。

如何實現APT34泄密武器報告分析總體來說,Glimpse和上面介紹的poison frog非常類似。在泄露的資料中,也給了我們Glimpse的使用方法。 ? ?

如何實現APT34泄密武器報告分析

?4.1 Agent

同樣,Glimpse中的Agent是運行在失陷主機上的后門程序,他的主要功能是接受命令,上傳和下載文件。

?Agent使用主機上的C:UsersPublicLibraries目錄作為其工作目錄。發(fā)送文件、接受文件都會在這個目錄下的子目錄內完成。

如何實現APT34泄密武器報告分析Agent可以工作在兩種模式下面,一種是ping模式,另一種是text模式。 ? ?

如何實現APT34泄密武器報告分析

ping模式主要用來交換主機信息。The text mode is akin to the internal protocol mode between the Agent and Server, which enables the acceptance of internal instructions.。

4.2 Panel

Panel用來查看總控的狀態(tài),可以看到有多少失陷主機被控制,同時在這里可以向失陷主機發(fā)送命令。

如何實現APT34泄密武器報告分析如何實現APT34泄密武器報告分析

可以看到,通過panel對失陷主機發(fā)送命令,并得到了返回結果。

4.3 Server ?

Server是總控端, 通過DNS隧道協議進行通信,能夠 響應Agent發(fā)送的ping模式消息或TXT模式的命令 , 同時也以TXT模式向Agent發(fā)送命令 。根據代碼風格來看,Glimpse和Poison Frog應該是由同一團隊創(chuàng)建的。

如何實現APT34泄密武器報告分析

Server端支持了更多的TXT模式的協議命令,我們可以簡要的查看一下這些命令的含義。

if (action == 'M') { // in this place we check the request for type of connection ping or text type if (action == 'W') { // in this place we check the request type if its text we response it else if (action == 'D') { else if (action == '0') { // ctrl[0] => action, if 0 = is there any file else if (action == '1') { // ctrl[0] => action, if 1 = sending the file else if (action == '2') {// ctrl[0] => action, if 2 = receiveing the file

IOCs

MD5:

cd0bbff03ce7946cd7c9dc339726d90a9d3d8fe14927172ca5546bdb95d947625e17061bf2dce87d402ddd8531abb49f

域名:

myleftheart.com

IP:

11.24.237.110

防護措施

1.不要輕易打開可疑文件,如電子郵件、可疑鏈接、可疑文檔等等。

2.及時安裝系統(tǒng)補丁,使用最新版本的軟件。

3.安裝殺毒軟件、及時更新病毒庫。

? 版權聲明
THE END
喜歡就支持一下吧
點贊5 分享