您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關如何實現APT34泄密武器報告分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
APT34是一個來自于伊朗的APT組織,自2014年起,持續對中東及亞洲等地區發起APT攻擊,涉獵行業主要包含政府、金融、能源、電信等。多年來,攻擊武器庫不斷升級,攻擊手法也不斷推陳出新,并且攻擊行為不會因為被曝光而終止。
4月17日,有國外媒體報道,一個名為“Lab Dookhtegan”的用戶在Telegram上曝光了來自APT34組織的攻擊工具包,一些APT34的受害者數據也同時被曝光出來。該事件如同以前的源代碼泄露事件一樣,極具爆炸性。APT34組織至少從2014年開始,持續對中東及亞洲的某些國家發起了多次攻擊,攻擊目標為政府、金融、能源、電信等行業。該組織的目標一般是伊朗的對立國家,所以有人猜測,該組織是伊朗的某個安全部門,或者是和伊朗政府長期合作的安全公司。 該組織擅于使用社交媒體,在社交平臺上偽造不同身份的互聯網賬號,通過社工手段來接近他們的攻擊目標。同時,該組織的攻擊武器庫不斷升級,攻擊手法也越來越高明,他們將魚叉釣魚等攻擊手段與新型攻擊技術相融合,不斷擴大現有目標的滲透范圍。
被曝光的APT34組織成員
從此次泄露的Webshell列表不難看出,該組織在過去一段時間針對中國進行了大規模的攻擊行為。下圖中列出10多家被攻陷的標識為China的WEB站點,可以作為針對國內攻擊的佐證。
Lab Dookhtegan曾經聲稱每隔幾天就會曝光一名組織人員的個人信息,不過現在Telegram和Twitter上的帳號已經被封鎖。
此次源代碼泄露的事件中,包含了大量APT34組織常用的重要攻擊武器,如:Webshells_and_Panel、 posion frog、Webmask、Glimpse。東巽科技2046Lab使用《鐵穹高級持續性威脅預警系統》對這些攻擊武器做了威脅檢測,并從技術層面做了深入分析。
Webshells_and_Panel目錄中主要包含了多種C#編寫的Webshell工具,在Webshell目錄中包含兩個主要的文件夾,分別為HighShell和HyperShell。
1.1 HighShell
在HighShell目錄中只有HighShell.aspx,該Shell為針對Windows服務器的WebShell。打開后默認界面如下圖:
通過上面的圖片可以看出,該版本為5.0版本,擁有認證、文件上傳、命令執行、數據庫操作等多項功能。
使用該Webshell需要在“Login”標簽后的紅色輸入框中輸入連接密碼( Th!sN0tF0rFAN) 后點“Do it”按鈕,當輸入框變為綠色即可通過該Webshell對服務器進行相關操作。下圖為操作“command”命令并獲得服務器信息的操作圖:
1.2 HyperShell
HyperShell包含多個文件,其中包含多個webshell的源碼文件。以下為幾個可以使用的webshell的功能。
simple.aspx
simple.aspx是一個簡易的webshell,其包含認證、命令執行、文件上傳功能。打開后如圖所示:
在Password輸入框中輸入連接密碼(MkRg5dm8MOk)點擊“Login”按鈕后,即可對服務器進行命令控制及文件上傳。密碼連接如下圖:
下圖為操作“command”命令并獲得服務器信息的操作圖:
simpleDownload.aspx
simpleDownload.aspx只有一個上傳功能,如下圖:
HighShelllocal.aspx
HighShelllocal.aspx為HighShell的升級版,版本號為8.6.2,該版本功能與獨立的5.0版大致相同主要對界面及功能進行了優化,界面圖如下:
2.1 Agent
2.1.1 poisonfrog.ps1
Agent僅僅只有一個文件,是失陷主機上用來種植后門程序的,名字是poisonfrog.ps1。該文件運行后,會在失陷主機的C:\Users\Public\Public目錄下留下3個文件,dUpdater.ps1、hUpdater.ps1和UpdateTask.vbs。
這個UpdateTask.vbs腳本就是主機上留下的后門程序,并且通過計劃任務每10分鐘運行一次。它的功能是執行dUpdater.ps1和hUpdater.ps1兩個腳本。
2.1.2 dUpdater.ps1
這個腳本是遠控腳本,生成DNS域名并訪問控制服務器,接收遠控指令,發送和接收文件。在生成DNS域名時使用了DGA.Changer算法,動態地計算服務器域名, 2046Lab對這個DGA.Changer算法進行了復原:
receive函數:
運行EEA函數獲取VVA域名,JJA參數設為r;
嘗試解析VVA域名,若失敗,則拋出異常,并重新生成新域名且嘗試解析新域名,重復操作直到域名解析成功;若成功,則取第一個成功解析的IP,并將該IP的每一段分別取出;
若IP為1.2.3.*,則將NNA設為false,將RRA的值寫入PPA的文件,并退出主函數;
若NNA為true,修改RRA 的值,為IP的前三段,繼續循環主函數;
若IP為24.125.*.*,則將IP的第三段與第四段拼接作為C:\Users\Public\Public\$DDA\receivebox子文件夾名(PPA),將GGA設為1,將NNA設為true,繼續循環主函數;
若IP為11.24.237.110,則停止解析并退出主函數,該IP為OilRig曾經使用的IP。
Send函數:
運行Slaber檢查發送的文件,運行EEA函數獲取VVA域名,JJA參數設為s;
嘗試解析VVA域名,若失敗,則拋出異常,并重新生成新域名且嘗試解析新域名,重復操作直到域名解析成功;若成功,則取第一個成功解析的IP,并將該IP的每一段分別取出;
若IP為1.2.3.*,則取出IP的第四段得值并循環主函數;
若IP為11.24.237.110,則停止解析并退出該函數,同時刪除要發送的文件。
Slaber函數:
檢查發送的文件大小,超過600kb則報錯,否則運行resolver函數。
resolver函數:
解析發送的文件,每30個字符為一組。
processor函數:
處理接收的文件,MMB為”sendbox”文件夾中的文件;
若接收的文件名以”0”結尾,將接收的文件寫入”sendbox”文件夾內,并使用UTF-8編碼,隨后移除之前接收的文件;
若接收的文件名以”1”結尾,若接收文件內容里存在路徑,則將該路徑作為發送路徑;
若不存在則將”File not exist”字符串寫入MMB文件,隨后移除之前接收的文件;
若接收的文件名以”2”結尾,將RRB設為”done”文件夾中的文件,將接收的文件移動至”done”文件夾下,再將該文件內容寫入MMB文件,隨后移除之前接收的文件。
2.1.3 hUpdater.ps1
解析"myleftheart.com"的IP,并嘗試連接;
若存在C:\Users\Public\Public\files\ 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:\Users\Public\Public\files\$SSA[0]。
若SSA[2]長度大于0并且SSA[2]不存在“not”字符串,則從http://myleftheart.com/fil/SSA[3]下載文件至C:\Users\Public\Public\files\$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”,則循環運行主函數;
若SSA[0] 長度大于0并且SSA[1]不存在”not”字符串,則上傳路徑p的文件至http://myleftheart.com/res/$PPA$SSA[0],并刪除路徑p的文件。
Server端是APT34用于管理失陷主機的的總控制端,可以從失陷主機上下載文件,上傳文件到失陷主機。
這個服務端提供了一個簡單的登入界面。
用戶和密碼的管理非常簡單,僅僅通過一個json配置文件來管理。在泄露的文件里,使用了簡單的用戶名(blacktusk)和密碼(fireinthehole)。
下圖中的GUID( /7345SDFHSALKJDFHNASLFSDA3423423SAD22 )的作用是引導瀏覽器進入登陸頁面,這個GUID可以說是很重要的。
在Server端,也提供了HTTP Agent和DNS Agent的主機列表。從這個列表中可以很方便地看到哪些主機現在是受到控制的。
每個HTTP Agent和DNS Agent具有詳細信息的頁面,在這里,就可以對這個失陷的主機下發C&C的命令,上傳或下載文件了。這里的DNS Agent可能是合并了Glimpse的某些功能,Glimpse在下面做了詳細的介紹。
對于失陷主機,APT34使用一個默認的BAT遠控腳本來獲取主機信息,獲取的信息非常的詳細,包括系統、用戶、組、域、特定注冊表、計劃任務、反病毒軟件等等。
該工具主要部署在攻擊者服務器上,實現DNS代理,針對特定的DNS域名進行劫持,并將域名默認指向本地服務器,通過Squid3+ICAP實現HTTP/HTTPS代理,竊取受害者賬號密碼等敏感信息。
dns-redir目錄:
dnsd.py:DNS代理轉發腳本
config.json:配置文件
dnsd.js: JS類型的DNS代理腳本,和dnsd.py功能類似a。
本地模擬DNS代理功能截圖展示如下:
icap目錄:
icap.py:需要和Squid3結合使用,構建http/https代理,并將代理中的敏感數據記錄到本地。
squid.conf配置文件:
Squid3+ICAP實現透明代理服務器,icap.py腳本對密碼等敏感數據進行提取,記錄到本地log文件中。
icap腳本文件中針對應答response_body部分加入了劫持的代碼,在受害者瀏覽器中加載指定的圖片元素。
Glimpse是DNS遠控工具,主要分為3個部分Agent、Panel和Server三個部分。從Glimpse Server中的某些代碼來看,它的某些功能可能和poison frog是重合的,比如下發命令的方式。
總體來說,Glimpse和上面介紹的poison frog非常類似。在泄露的資料中,也給了我們Glimpse的使用方法。
4.1 Agent
同樣,Glimpse中的Agent是運行在失陷主機上的后門程序,他的主要功能是接受命令,上傳和下載文件。
Agent使用主機上的C:\Users\Public\Libraries目錄作為其工作目錄。發送文件、接受文件都會在這個目錄下的子目錄內完成。
Agent可以工作在兩種模式下面,一種是ping模式,另一種是text模式。
ping模式主要用來交換主機信息。而text模式相當于Agent和Server的內部協議模式,可以接受內部指令。
4.2 Panel
Panel用來查看總控的狀態,可以看到有多少失陷主機被控制,同時在這里可以向失陷主機發送命令。
可以看到,通過panel對失陷主機發送命令,并得到了返回結果。
4.3 Server
Server是總控端, 通過DNS隧道協議進行通信,能夠 響應Agent發送的ping模式消息或TXT模式的命令 , 同時也以TXT模式向Agent發送命令 。 從某些地方的代碼風格來看, Glimpse和poison frog應該是出于同一個團隊的作品。
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
cd0bbff03ce7946cd7c9dc339726d90a9d3d8fe14927172ca5546bdb95d947625e17061bf2dce87d402ddd8531abb49f
myleftheart.com
11.24.237.110
1.不要輕易打開可疑文件,如電子郵件、可疑鏈接、可疑文檔等等。
2.及時安裝系統補丁,使用最新版本的軟件。
3.安裝殺毒軟件、及時更新病毒庫。
以上就是如何實現APT34泄密武器報告分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。