當前位置:
首頁 > 新聞 > 如何在數秒之內破解APT28流量?

如何在數秒之內破解APT28流量?

如何在數秒之內破解APT28流量?



安全公司Redsocks最近發布了一個有趣的報告,解密了如何在幾秒鐘內破解APT28流量。


在2016年年底,Redsocks就曾對APT28所使用過的過期域( expired domain)的安全性進行過研究,APT28利用這些過期域的攻擊受到加密通信通道的阻礙。雖然許多關於APT28的研究組織,如ESET都提到了RC4加密演算法,但並沒有詳細介紹所使用的密鑰細節和RC4實現的細節,也沒有對其進行靜態特徵進行分析。在本研究中,Redsocks就旨在為我們揭示x-agent惡意軟體的整個運行過程,以解密其怎樣干預流量。XAgent具有反調試,鍵盤記錄,下載文件和加密通信等惡意能力,在各種主流操作系統中都有樣本出現。


本文首先通過使用APT28 dropper開始進行調查:

由於Redsocks調查的重點是解密APT28的通信流量,因此,本文詳細闡述了x-agent的加密功能,並研究了關於開發x-agent通信流量的問題。也就是說,Redsocks不但對x-agent的加密功能進行了破解,還對以下3各方面進行了研究:


1. dropper和x-agent的執行行為


2.x-agent的網路行為


3. 在幾秒鐘內破解APT28的加密演算法


按照Redsocks提出的加密及解密方案,只要大家通過本文所介紹的互聯網掃描和URL模式,相信你一定可以找到當前活躍的APT28伺服器和有關的受害者,並對這些伺服器進行進一步調查。


X-agent dropper


dropper功能的實現要分為兩步,在第一步,它只解壓縮到Windows文件夾的dll,由於文件的名稱是固定的(靜態的),所以它不會被多次執行或被不同的工作站所改變。在第二步中,dropper通過調用shell32庫的ShellExecuteW函數載入dll。此函數由rundll32.exe和「C: Windows 83D2CDE2-8311-40CB-B51D-EBE20FA803D1.dll」,init「作為參數調用。這意味著X-agent的蹤跡應該在rundll32執行中查看。 dropper還在Windows文件夾中創建「ose00000.exe」文件,並使用dll和dropper path address的參數調用它。


總而言之,dropper會在具有隱藏屬性的Windows目錄中創建兩個文件「83D2CDE2-8311-40CB-B51D-EBE20FA803D1.dll」和「ose00000.exe」(請參見表1相應的哈希值),並使用rundll32.exe載入一個文件。 dropper執行的結果是rundll32.exe和ose00000.exe分別作為兩個單獨的進程,在dropper執行期間是觀察不到任何網路活動的。


X-agent刪除rootkit


dropper的目標是將控制項轉移到具有鍵盤記錄和遠程執行代碼的rootkit的83D2CDE2-8311-40CB-B51D-EBE20FA803D1.dll(參見表1中的SHA256哈希)。

X-agent架構


x-agent具有複雜的架構,它具有功能和通信通道實現的模塊化結構。圖1給出了我們分析的樣本的x-agent架構。

如何在數秒之內破解APT28流量?



X-agent執行


執行從rundll32載入dll的init函數開始,將控制轉移到Init後的第一個有趣的事件是調用KERNEL32.GetVolumeInformationW。在這個調用之後,Init函數就開始初始化全局變數:

如何在數秒之內破解APT28流量?



接下來,init函數初始化可用的模塊,本文列舉了X-agent的3個惡意攻擊模塊:


1.KeyLogging模塊,在代碼中被稱為modKey

2.文件系統模塊,在代碼中被稱為modFS


3.遠程Shell模塊,在代碼中被稱為modProcRet


在初始化這些模塊的數據結構之後,CHOPSTICK為不同的任務創建不同的線程。模塊會基於它們的配置循環創建,並且AgentKernel的創建方式不同:

如何在數秒之內破解APT28流量?



創建線程後,執行將傳輸到AgentKernel和Module線程。代理內核模塊一開始就為伺服器準備一條消息,然後等待伺服器使用命令進行響應。該消息是通過代理ID將受害者引入伺服器,並報告支持的模塊開始執行。此消息將寫入臨時文件夾中的edg6EF885E2.tmp文件。本文分析的樣本是通過HTTP通道進行通信,以實現使用WININET API。


在發送數據之前,通道線程要檢查與伺服器的連接。首先,會嘗試連接「adobeincorp.com」域名,如果連接失敗,它會嘗試連接到兩個硬編碼的IP地址。成功連接到伺服器後,會根據其他模塊準備的數據創建URL請求並發布數據。X-agent首先要發送獲取請求,然後發送發送請求。在此過程中,通信會始終加密。


總而言之,下面這8個操作過程會發生在x-agent的每次執行中:


1.調用KERNEL32.GetVolumeInformationW


2.創建至少5個不同的線程

3.在temp目錄下讀寫edg6EF885E2.tmp


4.通過調用socket.connect檢查連接


5.加密URL查詢字元串和POST數據


6.發送獲取請求


7.發送發送請求


8.使用WININET Http API將支持的命令和代理號碼發送到伺服器。


X-agent流量通信


為了解密APT28流量,我們首先需要了解X-agent的流量模式。本文所分析的x-agent版本就是通過發送HTTP發送請求之後的初始GET請求進行通信。除請求的一個查詢字元串外,HTTP請求頭值被硬編碼,x-agent流量的URL如下所示:


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


「/ webhp?rel = psy&hl = 7&ai =」作為URL的一部分,最後的「=」符號可以連接到不同的進程中。事實上,代碼中的「/ webhp?rel = psy&hl = 7&ai =」是硬編碼的。接下來的51個位元組都不是明文形式的,簡要地說,它包含請求的時間戳和代理的ID。 x-agent的初始POST數據為71位元組,並以a =結尾。數據被加密,解密時等於:

56 34 4D 47 | 4E 78 5A 57 | 6C 76 63 6D | 68 6A 4F 47 | 39 79 5A 51 | 6B 30 84 F2 | 01 00 00 01 | 00 23 01 10 |23 01 11 23 | 01 13 23


這段解密的代碼是由四部分組成,分別是代理人(受害人)的身份號,發送數據的模塊的ID以及由#字元(0x23)分隔成的兩部分模塊,如下圖所示:


以下是x-agent通道的Http實現:

如何在數秒之內破解APT28流量?



X-agent流量加密


加密模塊


加密模塊是使用兩個參數調用加密過程的,指針包含兩個數據結構,這些數據結構提供了加密類的兩個參數:


1.種子加密


2.要加密的數據

種子是經過硬編碼的,除此以外,init函數使用即時常量將其複製到數據段:

如何在數秒之內破解APT28流量?



接下來,在代碼中,4個隨機位元組被附加到種子上,與這些字母一起形成加密的核心。種子為50位元組,密鑰長度為54位元組。數據的大小可變,例如,來自AgentKernel的默認初始請求總共為39個位元組(見圖4),包括:代理ID,模塊ID(消息的發送方)和支持的模塊。


這些數據總是附加到20位元組的數據令牌,代理ID和發件人模塊ID。該數據令牌用於伺服器的解密結果驗證。使用RC4創建密碼後,加密過程將向消息添加8個隨機值,然後將整個二進位字元串轉換為兼容URL的BASE64。 接下來,加密過程會向消息中添加一個7位元組的時間戳。總而言之,加密的過程包含以下5個操作:


1. 隨機生成4位元組


2.使用RC4加密消息


3.向消息中添加8個隨機位元組


4.將二進位字元串轉換為BASE64


5.向消息添加時間戳(BASE64中為7個位元組)

RC4的功能


RC4是流密碼演算法,基於位元組置換。以下代碼是由x-agent實現的RC4演算法。函數的參數是附加到種子和明文數據的4位元組隨機值:

如何在數秒之內破解APT28流量?


如何在數秒之內破解APT28流量?



如何解密x-agent數據


如上所述,x-agent加密中唯一的隨機性是附加到上一節中給出的50位元組種子的4個隨機位元組。由於RC4是同步流密碼,所以只能使用與加密相同的密鑰來解密流量。在x-agent的解密演算法中必須使用相同的RC4函數進行解密。密碼輸入必須是來自http請求的相同的數據位元組流,即時間戳和隨機位元組必須被刪除。必須以強制方式調用RC4函數,其中所有可能的值都是從0到-1。由於這是一個已知的純文本攻擊,所以解密結果必須包含「V4MGNXZWlvcmhjOG9yZQ」。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 嘶吼RoarTalk 的精彩文章:

英特爾剛剛修復了一個隱藏七年之久的漏洞,但大部分電腦可能沒法更新
4位密碼、明文存儲、還不讓用戶修改,這家美國百年企業說自己很安全
「果粉」速遞:簡單9步輕鬆繞過iCloud 激活鎖

TAG:嘶吼RoarTalk |

您可能感興趣

APP神探能破解主流聊天APP定位 精度可達20米
小米27W極速快充慘遭PPS破解,網友:都已經有120W了!
iOS安全神話破滅:iOS 7至12.3設備均可被破解
PS4主機4.05系統遭網友破解 已有數款大作可下載!
iPhone被輕鬆破解,僅用兩個數據線最短3.4小時就能破解
PS4固件4.05被破解 網路上出現大量盜版PS4遊戲
AI 能破解600年前的神秘字元嗎?
PS4完美破解固件4.05發布:兼容PS2遊戲
UGNX8.0破解版下載
美國FBI絞盡腦汁無法破解,現在iPhone僅需50美元就可以破解了
AMD成精了!速龍200GE破解成功超頻3.9GHz真香!
驍龍845將率先支持WPA3 Wi-Fi加密:破解再見
再不怕被破解!驍龍845將率先支持WPA3 Wi-Fi加密
iPhone被破解密碼 iOS11.2.5及以前版本均可解鎖
iOS 11 被破解,8和 X 涼了
果粉注意了!iOS 12.4系統遭黑客破解,漏洞危及數百萬用戶
iOS 12.4 beta 5發布,黑客宣稱可以分分鐘破解!
GalaxyS10指紋解鎖遭用戶破解 整個過程只花了13分鐘
iOS 12.1.2被破解:黑客成功獲取iPhone XS Max底層許可權
iOS11下iPhoneX/8秒被安全破解!蘋果驚呆