APT34攻擊全本分析

綠盟科技發表於2019-04-26

一、事件綜述

2019年4月18日,駭客/駭客組織使用假名Lab Dookhtegan在Telegram頻道上出售APT34團伙的工具包,此外還有收集到的受害者資料及工具後端皮膚內容截圖。早在2019年3月中旬,該駭客/駭客組織就已經開始在網路上釋出並售賣此套工具包。非常有意思的是,科威特的安全公司CEO發twitter特別強調了這個訊息的真實性:

APT34攻擊全本分析

此次洩露的工具包中工具列表如下:

-  Glimpse(基於PowerShell的的新版木馬,Palo Alto Networks命名為BondUpdater)

-  PoisonFrog(舊版BondUpdater)

-  HyperShell

-  HighShell(Palo Alto Networks稱之為TwoFace)

-  MinionProject(fox管理介面,載入了HighShell模組)

-  Webmask(HTTP代理劫持工具,DNSpionage的主要工具,用於DNS修改)

綠盟科技伏影實驗室和綠盟M01N戰隊的成員共同對此工具包進行了分析,確定此次洩露的工具包中的工具相較於以前公佈的APT34組織使用的攻擊工具有不同。本文將對此次洩露的工具進行詳細分析,同時,從TTPs的角度來對此次洩露的工具進行解讀。


攻擊目標行業梳理


APT34主要針對中東國家。本次事件中國內地及台灣地區受到攻擊。在過去的幾年間,該組織對中國內地和台灣地區、土耳其、阿爾巴尼亞等地區均進行過攻擊。


經過分析,我們找到了與國內公司相關的14個Webshell檔案,6個港澳臺地區公司相關的Webshell檔案。

公佈的工具集中也包含了大量的口令資訊,按照資訊來源進行打包並公佈:

APT34攻擊全本分析


可以從中看到機場、石油公司相關的名稱。被公佈的口令強度很低,此次一共公佈了1.2W多個弱口令:

APT34攻擊全本分析


 APT34歷史資訊梳理


APT34組織由FireEye命名,該組織使用的工具和攻擊思路與OilRig組織相似度極高,而後者是由Palo Alto Networks持續追蹤的一個活躍在中東的組織,兩者相似度極高。該組織的活動時間至少可以追溯至2014年,其目標包含了金融,政府,能源,化工和電信等多個行業,該組織一直活躍在中東地區。


2017年11月4日,FireEye發現該組織使用CVE-2017-11882進行攻擊,其使用的攻擊工具與此次洩露的工具類似。


傳播方式梳理


該組織透過魚叉式釣魚郵件進行攻擊,其傳送的垃圾郵件往往附帶惡意連結,帶有CVE-2017-11882等漏洞的附件檔案,帶有誘導點選連結的演示文件等。


二、TTPs

本次APT34洩露樣本,經過對樣本功能分析,以TTPs角度從Procedures倒推APT34所涉及的攻擊戰術和技術,整體來看本次洩露樣本主要涉及到其攻擊鏈的四部分,包括Privilege Escalation、Collection、Exfiltration和Command and Control等。


Privilege Escalation階段


本次洩露樣本中涉及到HighShell、HyperShell以及MinionProject等多個Webshell後門程式,並且均為.Net程式,部分涉及到通訊加密以規避防禦。結合洩露檔案中包含的工具使用記錄文件和APT34已攻陷目標網站列表可以看出,APT34組織使用這些Webshell主要針對Exchange伺服器的Outlook郵箱系統的攻擊,並且被放置在/owa/auth/目錄下。全球已攻擊目標中共包含14箇中國內地能源行業和證券行業等的企業單位。

APT34攻擊全本分析


Collection階段


本次洩露樣本webmask推斷主要還是針對Outlook服務的攻擊,涉及Email Collection和Man in the Browser相關技術,從樣本原始碼和使用說明文件分析,該工具會去竊取Outlook使用者認證相關的郵箱賬號密碼及Cookie等資訊,並會透過向流量中注入程式碼的方式完成進一步的資訊收集。

APT34攻擊全本分析APT34攻擊全本分析APT34攻擊全本分析


Exfiltration階段


這裡主要是Exfiltration Over Command and Control Channel,攻擊者會在此階段透過C2控制將敏感資料以DNS協議方式進行回傳,這種方式可以規避掉一般的資料防洩漏防護而導致資訊的洩露。

APT34攻擊全本分析


Command and Control階段


本次洩露樣本分為新舊兩個版本的RAT,以DNS協議通訊為載體實現對目標伺服器的遠端控制:

舊版:poisonfrog.ps1

新版:Glimpse(dns_main.ps1)

經過對樣本的分析,可以發現兩個版本都使用了PowerShell作為Agent執行程式碼,且在執行之前需要劫持受害者的DNS伺服器以進行DNS重定向,從而解析攻擊者指定的域名字尾。透過使用特定的演算法生成子域名,受害者機器向DNS伺服器即C2 Server傳送子域名A/TXT記錄的DNS查詢請求並獲取C2提供的IPv4地址從而進行通訊。此外,還需要透過計劃任務的形式讓Powershell指令碼定期執行,從C2 Server端獲取資訊從而執行命令。該C2的功能主要包括命令執行,檔案上傳和下載。


舊版C2中已經包含了對代理的檢測,並透過從遠端伺服器下載檔案以進行網路代理的配置。但只支援對DNS A記錄的查詢。生成的子域名中包含了受害者系統的部分UUID值。


新版C2中不包含代理的配置,預設已經完成了對DNS的劫持。新增對DNS TXT記錄的解析。生成的子域名中不包含系統UUID值。

APT34攻擊全本分析


三、木馬及Webshell細節分析


工具目錄結構

Glimpse:

APT34攻擊全本分析

PoisonFrog:

APT34攻擊全本分析


Webmask:

APT34攻擊全本分析


Webshells_and_Panel:

APT34攻擊全本分析


在對檔案梳理並嘗試還原的過程中,我們發現遠控工具存在邏輯不全的地方,無法一鍵部署,需要進行分析和重新配置才可以正常執行,而Minion中也缺少檔案,無法直接執行:

APT34攻擊全本分析


因此,我們認為此次洩露的工具包內容不完全,在分析過程中應當特別注意,目前為止,我們並沒有發現洩露者預留後門。


Glimpse


Glimpse是一套使用DNS隧道的遠控工具,分為Agent、Panel和Server三部分;


Agent 

Agent為受控端程式。

主要功能

啟動指令碼為runner_.vbs,用於啟動powershell主指令碼;

主體指令碼為dns_main.ps1,用於與服務端通訊。

檔案操作

程式生成特定目錄PUBLIC\Libraries\guid\(下稱agent目錄,guid由此指令碼生成),並在目錄下建立receivebox、sendbox、done等子資料夾,透過這些子目錄下的檔案讀寫來實現與服務端的通訊。

通訊流程

1.    程式使用ping mode(對應DNS A mode)和text mode(對應DNS TXT mode)兩種方式與服務端進行通訊,接收服務端的指令並以檔案的形式儲存到agent目錄\receivebox\下,以rcvd為檔名字首;

2.    判斷服務端指令並執行對應的行為;

服務端指令列表如下:

APT34攻擊全本分析

3.    服務端指令處理完成後,Agent會將agent目錄\sendbox下的檔案傳送至服務端。


Panel 

Panel為該工具的圖形皮膚,用於管理Server與Agent的通訊。

APT34攻擊全本分析

Server 

Server為服務端。

主要功能

此服務端透過DNS隧道協議進行通訊,能夠以A或TXT型別的DNS隧道進行檔案收發,由此向agent傳送指令或接收agent上傳的檔案。

檔案操作

程式建立ALLUSERSPROFILE/Glimpse/dns/aid/(下稱server目錄,aid為從agent接收到的guid編號),並在目錄下建立wait、receive、done、sended、sending等子資料夾,透過這些子目錄下的檔案讀寫來實現與agent的通訊。

通訊流程

1.    接收agent傳送的偽DNS請求;

2.    使用本地規則解析agent資訊:

偽DNS請求內容格式為:data.mainData.mainData2.mainData3,四個部分分別儲存不同的內容。


data部分 

APT34攻擊全本分析


若data尾部字串為CxxT(x為任意字元),則此data為隧道協議資料,由server進行判斷;


若尾部非以上格式,則server進行轉發;


datarand: 記錄action和aid,資料位置可變,由reqNoIndex和actionIndex兩個值來決定

aid:此資料包的id資訊,server端據此生成server目錄

action:對應agent行為

APT34攻擊全本分析APT34攻擊全本分析


mainData部分

儲存指令檔案的內容

mainData2部分

儲存指令檔名

mainData3部分

儲存C&C域名


隧道格式

服務端作為偽造的DNS伺服器,響應agent的DNS請求並回復指定ip字串,不同的ip字串指代不同的通訊內容。

ip字串對應如下:

APT34攻擊全本分析


 PoisonFrog


主要功能 

PoisonFrog是一款可以竊取受控端資訊和執行C&C端cmd指令的的遠控工具。

執行流程 

1.    首先執行poisonfrog.ps1指令碼透過該指令碼釋放hUpdater.ps1和dUpdater.ps1指令碼,以及一個UpdateTask.vbs指令碼,並且設定Windows計劃任務

2.    hUpdater.ps1指令碼訪問CC域名,透過域名下發的指令進行上傳和下載檔案功能。

3.    dUpdater.ps1指令碼對目錄下檔案進行操作,識別指令碼名的最後一個字元作為指令,對檔案進行操作。

4.    計劃任務設定為每10分鐘執行1次UpdateTask.vbs指令碼。

下圖包含poisonfrog.ps1指令碼部分內容。

APT34攻擊全本分析


元件分析 

hUpdater.ps1指令碼 

該指令碼主要用於與C2伺服器傳送資料和從C2服務接收命令和檔案等。

當cfg.ini檔案存在時,會讀取檔案內容提取proxy代理,使用代理模式與C2伺服器進行通訊。

APT34攻擊全本分析


指令格式解析,透過從C2伺服器獲取字串,對字串進行分割操作,分隔符為“<>",分割後陣列不小於4。(eg:SSA[0]<>SSA[1]<>SSA[2]<>SSA[3]<>SSA[4]<>SSA[5])根據陣列中每位的不同對應響應的功能,例如當SSA[2]不等於"not"並且有值的時候執行下載檔案操作。下載到指定的目錄下。具體指令格式如下圖

APT34攻擊全本分析APT34攻擊全本分析

dUpdater.ps1指令碼 

根據receivebox資料夾下遍歷到的檔名(ZZA[0])最後一位字元作為指令解析:如下表格所示:

APT34攻擊全本分析APT34攻擊全本分析


server端指令碼 

Server端指令碼功能包含下發指令,上傳檔案以及下載檔案。指令格式與Agent端hUpdater.ps1指令碼中指令格式解析部分相對應。具體函式對應功能如下:

APT34攻擊全本分析


Webmask


該工具被APT34組織用於DNS代理與HTTP劫持。


主要功能 

工具分為三部分,shell指令碼install.sh用於安裝,icap.py用於竊取密碼與劫持,dnsd.py、dnsd.js和config.json用於配置本地DNS代理。


元件分析 

dnsd模組 

該模組啟動本地DNS代理,配置檔案與代理伺服器ip由啟動引數指定,預設情況下,指令碼只進行dns轉發;

dnsd模組可使用python指令碼或js指令碼啟動,對應檔案為dnsd.py和dnsd.js。

guide.txt用於說明工具的使用方法,給出兩種解決方案:

第一種:

APT34攻擊全本分析

即使用dnsd.py進行透明代理


第二種:

APT34攻擊全本分析

即使用native-dns模組進行DNS代理,說明中給出的ip 195.229.237.52 為一個位於阿聯酋的DNS伺服器,而ip 185.162.235.106 為一個示例的bot IP;


icap模組 

該模組是利用pyicap編寫的工具,pyicap是用於編寫ICAP伺服器的python3框架。ICAP通常用於擴充套件透明代理伺服器,在透明HTTP代理快取中實現內容過濾器等功能,能夠對HTTP請求/響應執行特定的服務,這些服務內容可以由開發者指定。

APT34攻擊全本分析


extract_login_password方法:用於竊取http資訊中的賬號密碼並記錄至指定檔案中。使用正規表示式對http請求中的資料進行提取。

同時,該工具記錄http互動中的頭部資訊,包括使用者端IP,請求時間,請求內容,記錄cookie資訊。在程式碼中我們發現了劫持程式碼,加入了以下的js指令碼語句:

APT34攻擊全本分析


當這部分執行時,第一個img src會使得受害者的機器訪問攻擊者伺服器上的logo.jpg,這個過程中會自動進行NTLM認證,此時攻擊者可以獲取到NetNTLMv2的hash值,該值可以用於MITM攻擊。

假設攻擊者已獲得對代理的控制權,他可以讓他的伺服器回答DNS對WPAD的請求,然後讓他的伺服器回答獲取具有實際上是PAC檔案的影像的請求。


Webshells_and_Panel

Webshells_and_Panel 目錄中主要包含了多種 C# 編寫的Webshell 工具:

有較為簡單,只有上傳功能的 simpleDownload.aspx:

APT34攻擊全本分析

還有再複雜一點的 simple.aspx(多了認證和命令執行的功能):

APT34攻擊全本分析

還有功能齊全的,看起來像是初版的 highshell.aspx,包含了檔案上傳,命令執行,資料庫操作等多種功能。這個版本 2017 年被 Palo Alto Networks報導過。

APT34攻擊全本分析


登入認證的方式如下:

APT34攻擊全本分析


用虛擬碼表示為:

 Base64(sha256(bytes(cookies[“p”] + salt))) == pp

其中 salt 和 pp 均為預定義的值:

APT34攻擊全本分析


設定好 cookies 值後即可認證使用。

除此之外,在 Hypershell 目錄中還發現了多個版本的 highshell 的升級版(此為8.6.2, 還有其他版本,稍有差異)如下:

APT34攻擊全本分析


這個版本使用了 Semantic UI 框架重新編寫,同時後端也進行了模組化的拆分,比普通版本在工程化上更進了一步。認證方式和上述類似,都是基於 cookie 來認證的。


四、 IOC資訊

myleftheart.com

C:\Users\Public\Public\atag[0-9]{4}[A-Z]{2}

C:\Users\Public\Public\dUpdater.ps1

C:\Users\Public\Public\hUpdated.ps1

C:\Users\Public\Public\UpdateTask.vbs

27e03b98ae0f6f2650f378e9292384f1350f95ee4f3ac009e0113a8d9e2e14ed

b1d621091740e62c84fc8c62bcdad07873c8b61b83faba36097ef150fd6ec768

2943e69e6c34232dee3236ced38d41d378784a317eeaf6b90482014210fcd459

c3772977316a604504065b61635947727bd6ea1a4de358f679344688f4c31820

6950d0f99684678b595d3551ec6642a77b6e8be33aba061ef9b39379af9de46d

fe1b011fe089969d960d2dce2a61020725a02e15dbc812ee6b6ecc6a98875392

eb1ded644e7491f3f60982be9652cbe40b0c819329927ea654cb43e40acb9b1c

544a1f8fe76776f0172ac2e5dd8d7be6ee9b5a492054fa1f5505e2f0371ca5a7

228d1f1d90f26b64ab57e220ae0d883ddc3887a861cc935993ed0472b6083f61

99.250.250.199

199.250.250.99

11.24.237.110

253.25.42.87

3.2.1.0

1.2.3.0

185.56.91.61

195.229.237.52

185.162.235.106

94.23.172.164

46.105.221.247

148.251.55.110

185.15.247.147

145.239.33.100

82.102.14.219


五、緩解建議 

1、注意陌生郵件,不主動點選非常見發件人發來的郵件中的附件,不隨意點選郵件中的附加的連結,避免出現資訊洩露或者計算機中毒的情況。

2、不使用弱口令密碼,應不定時更換密碼,保證密碼強度。

3、及時修復漏洞,注意邊界裝置、不常用裝置的自動更新正常開啟,保證裝置及軟體處於最新版本。

4、使用安全公司提供的邊界防護裝置、情報預警系統,防患於未然。


六、檢測手段 


網路層面

檢查是否存在IOC中列舉的DNS解析伺服器地址;

檢查機器是否對外傳送大量的DNS請求,時間間隔為50ms一次;

異常的域名請求;

主機層面

檢查機器中是否存在以下目錄或檔案:

C:\Users\Public\Public\atag[0-9]{4}[A-Z]{2}

C:\Users\Public\Public\dUpdater.ps1

C:\Users\Public\Public\hUpdated.ps1

C:\Users\Public\Public\UpdateTask.vbs

檢查機器中DNS伺服器地址是否被篡改;

檢查http伺服器根目錄下是否存在未知檔案;

檢查主機是否監聽特定埠。



伏影實驗室專注於安全威脅研究與監測技術,包括但不限於威脅識別技術,威脅跟蹤技術,威脅捕獲技術,威脅主體識別技術。研究目標包括:殭屍網路威脅,DDOS對抗,WEB對抗,流行服務系統脆弱利用威脅、身份認證威脅,數字資產威脅,黑色產業威脅 及 新興威脅。透過掌控現網威脅來識別風險,緩解威脅傷害,為威脅對抗提供決策支撐。

相關文章