自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何快速破解識別APT28網(wǎng)絡(luò)攻擊流量

安全 黑客攻防
近期,歐洲多國大選開始,去年涉嫌網(wǎng)絡(luò)攻擊干預(yù)美國總統(tǒng)選舉的APT28又開始活躍了。在這里,讓我們來看看安全公司Redsocks security如何通過網(wǎng)絡(luò)流量來快速識別和破解APT28攻擊行為。

近期,歐洲多國大選開始,去年涉嫌網(wǎng)絡(luò)攻擊干預(yù)美國總統(tǒng)選舉的APT28又開始活躍了。相繼有德國、丹麥等國紛紛指責(zé)APT28的大肆入侵攻擊行為。而就在最近的法國大選中,有安全專家分析稱,APT28可能已經(jīng)針對首輪投票勝出的紐埃爾·馬克龍(Emmanuel Macron)開展了網(wǎng)絡(luò)攻擊活動。難道APT28又要用鍵盤來操控法國大選了嗎?

在這里,讓我們來看看安全公司Redsocks security如何通過網(wǎng)絡(luò)流量來快速識別和破解APT28攻擊行為。

一、分析簡介

2016年底,Redsocks security發(fā)現(xiàn)了一個APT28使用的過期域名,原本Redsocks security希望通過sinkhole該域名對APT28進(jìn)行一探究竟,卻發(fā)現(xiàn)該域名使用了異常復(fù)雜的加密通信機制。盡管之前像ESET等其它安全公司認(rèn)為APT28使用了RC4加密算法,但還未發(fā)現(xiàn)APT28具體使用的RC4算法和密鑰屬性。在這里,Redsocks security通過對APT28經(jīng)常使用的X-Agent樣本進(jìn)行動態(tài)分析,破解其整體攻擊入侵的網(wǎng)絡(luò)流量行為。以下為分析中APT28經(jīng)常使常用到的一例X-Agent木馬程序樣本文件:

APT28經(jīng)常使常用到的一例X-Agent木馬程序樣本文件

Sinkhole (槽洞)攻擊:通過引誘攻擊者發(fā)起的流量通過一個已被控制接管的節(jié)點,一旦流量數(shù)據(jù)經(jīng)過該控制節(jié)點,接管者就可以對其網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行分析篡改,判斷攻擊者的攻擊手法和入侵行為。

由于涉及到對APT28攻擊行為的網(wǎng)絡(luò)通信機制破解,所以分析過程包括以下幾個方面:

  • 執(zhí)行X-Agent木馬和其釋放的惡意程序
  • 對X-Agent木馬進(jìn)行網(wǎng)絡(luò)行為觀察
  • 破解APT28通信加密機制和算法

Redsocks security通過全網(wǎng)探測和url模式比對,發(fā)現(xiàn)了大量APT28使用的控制端和服務(wù)器,為破解調(diào)查破解APT28通信機制奠定了基礎(chǔ)。

二、X-agent釋放的惡意程序(dropper)

該樣本惡意程序dropper包含兩個步驟功能。首先,向Windows系統(tǒng)文件夾內(nèi)釋放一個ose00000.exe程序和一個惡意dll文件,該dll文件名通常來說是固定的,不會隨著執(zhí)行行為和目標(biāo)系統(tǒng)而改變,如在此例中我們分析的83D2CDE2-8311-40CB-B51DEBE20FA803D1.dll,但極少情況下會隨著木馬功能而改變,如我們發(fā)現(xiàn)的其它釋放樣本文件xpool.dll;其次,通過釋放的惡意dll文件調(diào)用系統(tǒng)shell32庫中的ShellExecuteW方法函數(shù),之后,以rundll32.exe進(jìn)程身份和”C:\Windows\83D2CDE2-8311-40CB-B51DEBE20FA803D1.dll,init”參數(shù)完成對ShellExecuteW方法的進(jìn)一步調(diào)用執(zhí)行,在逆向分析中,我們可以從rundll32執(zhí)行動作中觀察到這一行為。另外,我們還發(fā)現(xiàn)了惡意進(jìn)程會調(diào)用ZwMapViewOfSection方法對目標(biāo)系統(tǒng)進(jìn)行內(nèi)核Hook以系統(tǒng)提權(quán)。最終,木馬程序?qū)詒undll32.exe和ose00000.exe兩個進(jìn)程形成系統(tǒng)駐留。

三、X-agent的木馬行為分析(rootkit)

83D2CDE2-8311-40CB-B51D-EBE20FA803D1.dll其實就是X-agent木馬安裝在系統(tǒng)內(nèi)的rootkit,通過該rootkit實現(xiàn)鍵盤記錄和遠(yuǎn)程控制。

1. X-agent架構(gòu)

如下圖所示,X-agent的程序結(jié)構(gòu)相對復(fù)雜,在功能實現(xiàn)和通信機制方面都具有模塊化的架構(gòu):

X-agent的程序結(jié)構(gòu)

2. X-agent的程序執(zhí)行

整個木馬程序的執(zhí)行從rundll32.exe進(jìn)程加載dll文件調(diào)用初始化函數(shù)開始,首先它執(zhí)行了獲得目標(biāo)系統(tǒng)磁盤序列號等信息的kernel32.GetVolumeInformationW方法調(diào)用,并初始化一些全局變量:

X-agent的程序執(zhí)行

之后,初始化模塊功能實現(xiàn)惡意功能執(zhí)行,本例樣本程序中包括3方面功能模塊:

  • 在樣本逆向代碼中為modKey的鍵盤記錄模塊
  • 為modFS的文件系統(tǒng)控制模塊
  • 為modProcRet的遠(yuǎn)程Shell控制模塊

完成以上功能初始化后,攻擊者結(jié)合CHOPSTICK后門為不同任務(wù)創(chuàng)建了不同的線程,當(dāng)然了,攻擊者也會針對不同的配置和系統(tǒng)構(gòu)造不同的功能和內(nèi)核控制模塊AgentKernel:

控制模塊AgentKernel

所有任務(wù)線程由功能和內(nèi)核控制模塊進(jìn)行控制操作,并負(fù)責(zé)與遠(yuǎn)程C&C服務(wù)器進(jìn)行通信,受害系統(tǒng)身份和支持運行的功能模塊等信息將通過一個ID號為標(biāo)識的數(shù)據(jù)包發(fā)送至攻擊者C&C端。所有這些信息將被保存在臨時文件夾下名為“edg6EF885E2.tmp”的文件中。

報告分析樣本使用WinInet API并通過HTTP信道進(jìn)行通信。與C&C端發(fā)送數(shù)據(jù)之前,惡意程序通信線程會通過測試“adobeincorp.com” 域名解析,檢查與遠(yuǎn)程C&C服務(wù)器的網(wǎng)絡(luò)連通性,如果解析失敗,則轉(zhuǎn)向兩個硬編碼IP進(jìn)行直連。通信通道成功連通后,惡意程序就會通過內(nèi)置的功能模塊發(fā)送不同的URL請求信息和POST數(shù)據(jù)。然而,與C&C端的所有通信都是加密的??傊?,X-agent木馬在受害者系統(tǒng)中會執(zhí)行以下一連串行為:

  • 調(diào)用KERNEL32.GetVolumeInformationW
  • 創(chuàng)建至少5個不同的任務(wù)線程
  • 向臨時文件夾內(nèi)edg6EF885E2.tmp文件讀寫數(shù)據(jù)
  • 調(diào)用socket.connect測試C&C端連通性
  • 加密與C&C端的URL和POST數(shù)據(jù)通信
  • 向C&C端發(fā)送get請求
  • 向C&C端發(fā)送post請求
  • 調(diào)用WININET Http APIs向C&C端對受害者系統(tǒng)發(fā)起控制信息

3. X-agent網(wǎng)絡(luò)通信流量分析

為了破解APT28網(wǎng)絡(luò)通信流量,我們首先得了解X-agent使用的通信模式。在我們分析X-agent樣本中,其一前一后向遠(yuǎn)程C&C端發(fā)送了http get和post請求。除一串請求字符以外,其余http頭信息都是固定的。X-agent發(fā)起的URL請求如下所示:

  1. /webhp?rel=psy&hl=7&ai=L2Bd93t_o-jl022K1Og4Bm9mSk8QO88K_3ZQZuKcoPwur-5Q7Y

其中,“/webhp?rel=psy&hl=7&ai=”和最后的“=”標(biāo)記在所有的執(zhí)行動作中都是一樣的,而其余51個編碼字符“L2Bd93t_o-jl022K1Og4Bm9mSk8QO88K_3ZQZuKcoPwur-5Q7Y”則包含了木馬客戶端的請求發(fā)起時間戳和ID標(biāo)記;另外,木馬程序發(fā)送的POST數(shù)據(jù)則附加在“=”之后,為71個字符的加密串,解密后如下所示:

藍(lán)色部分為受害者系統(tǒng)標(biāo)記ID,黃色部分為數(shù)據(jù)發(fā)送方模塊ID,綠色部分為遠(yuǎn)程C&C端使用的由#符號分隔的一系列功能模塊數(shù)據(jù)。以下為X-agent的HTTP通信實現(xiàn)結(jié)構(gòu):

X-agent的HTTP通信實現(xiàn)結(jié)構(gòu)

X-agent的HTTP通信實現(xiàn)結(jié)構(gòu)

四、X-agent的通信加密機制

X-agent會對所有g(shù)et或post請求的有用數(shù)據(jù)進(jìn)行加密,加密后的數(shù)據(jù)會被添加進(jìn)一些額外的字節(jié)并被轉(zhuǎn)化為BASE64編碼,如下為X-agent的通信模式結(jié)構(gòu):

X-agent的通信模式結(jié)構(gòu)

時間戳為包含系統(tǒng)時間的BASE64數(shù)據(jù),之后,又添加生成了8字節(jié)的BASE64隨機數(shù)據(jù),而加密后的真實數(shù)據(jù)(cypher)則為16字節(jié)之后的信息,其中包含一些初始字節(jié)信息,如數(shù)據(jù)令牌(data token)和

受害系統(tǒng)ID等。而數(shù)據(jù)令牌(data token)中則包含了一個硬編碼字符串“V4MGNxZWlvcmhjOG9yZQ”,以下為X-agent的消息結(jié)構(gòu)流程分解:

X-agent的消息結(jié)構(gòu)流程分解

最終,其BASE64數(shù)據(jù)基于RFC 4648和一個動態(tài)函數(shù)生成,并基于以下排列生成:

  1. ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_  

1. 加密模塊

加密過程由兩個參數(shù)調(diào)用,調(diào)用指針指向兩個數(shù)據(jù)結(jié)構(gòu),包含以下兩方面加密類實現(xiàn)數(shù)據(jù):

  • 加密種子
  • 加密數(shù)據(jù)

其中,加密種子是硬編碼方式固定的,初始函數(shù)通過立即尋址方式把其復(fù)制到數(shù)據(jù)段區(qū)域進(jìn)行加密:

加密種子

之后,在代碼中,4個隨機字節(jié)被追加到種子之后成為54字節(jié)數(shù)據(jù),這種結(jié)構(gòu)形成了加密過程的關(guān)鍵所在。例如,從AgentKernel獲取的默認(rèn)初始請求為39字節(jié),其中包括:受害系統(tǒng)ID、模塊ID、支持模塊信息,這些信息被封裝為20個字節(jié)的數(shù)據(jù)令牌(data token)、4個字節(jié)的受害系統(tǒng)ID和2個字節(jié)的模塊ID數(shù)據(jù)。其中數(shù)據(jù)令牌(data token)被遠(yuǎn)程C&C端用來進(jìn)行加密校驗。在使用了RC4算法創(chuàng)建密碼之后,加密程序?qū)蚱渲刑砑?字節(jié)的隨機值并把整體數(shù)據(jù)轉(zhuǎn)化為兼容BASE64的URL,并向其中生成7字節(jié)的時間戳信息。整個過程如下:

  • 生成隨機的4字節(jié)信息;
  • 使用RC4算法加密消息;
  • 向消息中添加8字節(jié)隨機值;
  • 把消息轉(zhuǎn)化為BASE64的URL;
  • 在消息中生成7字節(jié)的時間戳信息。

2. RC4算法

RC4是基于字節(jié)排列的流密碼算法,在此我們不作重點討論,以下為X-agent使用的RC4算法實現(xiàn)代碼,其中算法涉及到的參數(shù)包含4字節(jié)的隨機值、加密種子和明文數(shù)據(jù):

RC4算法

RC4算法

五、如何破解X-agent數(shù)據(jù)

如前所述,X-agent加密過程的中的唯一隨機性是把4隨機字節(jié)附加到50字節(jié)的加密種子數(shù)據(jù)之后,由于 RC4算法是同步的流密碼加密機制,必須使用同樣的加密密鑰key才能實現(xiàn)解密。所以,解鈴還需第鈴人,X-agent加密機制的破解必須使用相同的RC4算法和調(diào)用參數(shù)才能實現(xiàn)。最終轉(zhuǎn)變生成的密碼消息(cypher)除時間戳和隨機字節(jié)之外,必須與其http請求對應(yīng)的數(shù)據(jù)一致。當(dāng)然了,可以利用暴力攻擊方法枚舉所有可能值(0到2的32次方-1)來破解RC4算法,如果其破解結(jié)果包含一個硬編碼字符串“V4MGNxZWlvcmhjOG9yZQ”,則可以證明這就是APT28的網(wǎng)絡(luò)通信行為,因為該字符串為APT28在網(wǎng)絡(luò)通信中使用的數(shù)據(jù)令牌(data token)內(nèi)容,并且這種破解操作可以在任何普通的個人電腦上快速實現(xiàn)完成,整個過程也就是幾秒鐘的事。具體技術(shù)分析參考Redsocks報告。

責(zé)任編輯:趙寧寧 來源: FreeBuf
相關(guān)推薦

2021-07-04 10:29:12

網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊漏洞

2015-07-16 11:19:32

2023-12-29 14:44:55

網(wǎng)絡(luò)安全人工智能勒索軟件

2011-08-11 16:58:48

IPv6網(wǎng)絡(luò)流量

2024-11-25 15:46:01

2014-10-31 14:04:51

2023-12-05 15:59:19

2023-09-26 19:45:47

2021-10-10 12:19:05

Google黑客網(wǎng)絡(luò)攻擊

2022-05-10 11:51:42

APT組織網(wǎng)絡(luò)攻擊

2022-12-22 12:02:42

2011-08-19 11:50:56

IPv6網(wǎng)絡(luò)

2014-01-21 14:51:49

2024-01-11 11:32:43

2022-02-07 00:17:31

網(wǎng)絡(luò)安全教育技術(shù)

2020-02-07 12:33:55

網(wǎng)絡(luò)攻擊安全架構(gòu)

2012-03-20 14:36:00

2022-04-14 07:25:11

網(wǎng)絡(luò)攻擊安全人才

2022-08-09 08:24:07

網(wǎng)絡(luò)釣魚攻擊Snapchat惡意網(wǎng)站

2024-04-26 14:23:21

點贊
收藏

51CTO技術(shù)棧公眾號