偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

一、分析簡(jiǎn)介

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

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

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

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

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

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

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

該樣本惡意程序dropper包含兩個(gè)步驟功能。首先,向Windows系統(tǒng)文件夾內(nèi)釋放一個(gè)ose00000.exe程序和一個(gè)惡意dll文件,該dll文件名通常來說是固定的,不會(huì)隨著執(zhí)行行為和目標(biāo)系統(tǒng)而改變,如在此例中我們分析的83D2CDE2-8311-40CB-B51DEBE20FA803D1.dll,但極少情況下會(huì)隨著木馬功能而改變,如我們發(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ù)完成對(duì)ShellExecuteW方法的進(jìn)一步調(diào)用執(zhí)行,在逆向分析中,我們可以從rundll32執(zhí)行動(dòng)作中觀察到這一行為。另外,我們還發(fā)現(xiàn)了惡意進(jìn)程會(huì)調(diào)用ZwMapViewOfSection方法對(duì)目標(biāo)系統(tǒng)進(jìn)行內(nèi)核Hook以系統(tǒng)提權(quán)。最終,木馬程序?qū)?huì)以rundll32.exe和ose00000.exe兩個(gè)進(jìn)程形成系統(tǒng)駐留。

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

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

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

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

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

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

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

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

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

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

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

控制模塊AgentKernel

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

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

  • 調(diào)用KERNEL32.GetVolumeInformationW
  • 創(chuàng)建至少5個(gè)不同的任務(wù)線程
  • 向臨時(shí)文件夾內(nèi)edg6EF885E2.tmp文件讀寫數(shù)據(jù)
  • 調(diào)用socket.connect測(cè)試C&C端連通性
  • 加密與C&C端的URL和POST數(shù)據(jù)通信
  • 向C&C端發(fā)送get請(qǐng)求
  • 向C&C端發(fā)送post請(qǐng)求
  • 調(diào)用WININET Http APIs向C&C端對(duì)受害者系統(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請(qǐng)求。除一串請(qǐng)求字符以外,其余http頭信息都是固定的。X-agent發(fā)起的URL請(qǐng)求如下所示:

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

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

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

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

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

四、X-agent的通信加密機(jī)制

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

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

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

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

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

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

  1. ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_  

1. 加密模塊

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

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

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

加密種子

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

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

2. RC4算法

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

RC4算法

RC4算法

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

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

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

2021-07-04 10:29:12

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

2015-07-16 11:19:32

2025-05-22 10:27:18

2023-12-29 14:44:55

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

2024-11-25 15:46:01

2023-09-26 19:45:47

2011-08-11 16:58:48

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

2023-12-05 15:59:19

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

2014-10-31 14:04:51

2016-02-25 11:02:11

2011-08-19 11:50:56

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

2020-02-07 12:33:55

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

2014-01-21 14:51:49

2022-02-07 00:17:31

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

2024-01-11 11:32:43

2023-09-11 07:17:30

2012-03-20 14:36:00

點(diǎn)贊
收藏

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