Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86390746

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

受影響的平台:Microsoft Windows;受影響方:Windows用戶;影響:從受害者的電腦中收集敏感信息;嚴重性級別:嚴重;FortiGuard實驗室捕捉到了一個網絡釣魚活動,該活動傳播了一種新的AgentTesla變體。這個著名的惡意軟件家族使用基於.Net的遠程訪問木馬(RAT)和數據竊取程序來獲得初始訪問權限,它通常用於軟件即服務(MaaS)。

AgentTesla源於2014年的一款鍵盤記錄產品,演變至今,儼然成為了黑客專門用來竊密的工具軟件。經過不斷迭代,AgentTesla覆蓋面越來越廣,功能也越來越強。

AgentTesla變體攻擊了瀏覽器、FTP、VPN、郵箱、通訊軟件、下載工具、數據庫等。反分析功能上又增加了反沙箱、反虛擬機以及反windows defender的相關功能,同時誘餌文件使用了多層或分批解密,大大增加了分析難度。

AgentTesla是一種“MAAS”(malware-as-a-service)惡意程序,在過去的7年間,一直保持著較高的活躍度。近兩年,國內也出現了多起使用AgentTesla進行商業竊密的攻擊活動。

研究人員對本次活動進行了深入分析,從最初的釣魚電子郵件到安裝在受害者設備上的AgentTesla的活動,再到從受影響的設備收集敏感信息。接下來,我們將介紹此次攻擊的內容,如釣魚電子郵件如何啟動活動,CVE-2017-11882/CVE-2018-0802漏洞(而非VBS宏)如何被利用在受害者設備上下載和執行AgentTesla文件,以及AgentTesla如何從受害者設備收集敏感數據,如憑據、密鑰日誌,以及受害者的屏幕截圖。

儘管微軟於2017年11月和2018年1月發布了對CVE-2017-11882/CVE-2018-0802的修復,但該漏洞在攻擊者中仍然很受歡迎,這表明即使在多年後,仍有未修復的設備。

網絡釣魚電子郵件1.png

捕獲的釣魚電子郵件

釣魚電子郵件偽裝成採購訂單通知,如上圖所示,要求收件人確認工業設備供應商公司的訂單。這封電子郵件附帶了一個名為“Order 45232429.xls”的Excel文檔。

CVE-2017-11882/CVE-2018-0802被Excel文檔利用附件中的Excel文檔為OLE格式。它包含精心製作的方程數據(equation data),利用CVE-2017-11882/CVE-2018-0802漏洞執行惡意shellcode。

2.png

Excel文件的內容

打開附加的Excel文檔會向用戶顯示一條欺騙信息。同時,精心製作的方程數據中的shellcode被秘密執行。

CVE-2017-11882/CVE-2018-0802是一個RCE(遠程代碼執行)漏洞,當被利用時,它會導致EQNEDT32.EXE進程在解析特製的方程數據時內存損壞,這可能導致執行任意代碼。

下圖顯示了在OLE複合讀取器中解析的Excel文檔,其中方程數據位於存儲文件夾“MBD0057E612”下的流“\x01Ole10NativE”中。

3.png

OLE Excel文檔中的方程內容

一旦打開精心編制的Excel文檔,惡意方程式數據就會被稱為“EQNEDT32.EXE”的MS Office進程自動解析。這會觸發CVE-2017-11882/CVE-2018-0802漏洞,並在後台執行方程數據中的惡意shellcode。

4.png

即將在易受攻擊的EQNEDT32.EXE進程中執行的ShellCode

在下圖中,我們可以看到,精心編制的方程數據覆蓋了EQNEDT32.EXE的堆棧,並使其跳轉兩次(通過0x450650和0x44C329的固定地址)到0x33C006C(堆棧中)的shellcode。

自我解密後,研究人員觀察到shellcode的主要工作是從URL“hxxp://23[.]95.128.195/3355/chromium.exe”下載並執行一個額外的惡意軟件文件。為此,它調用了幾個API,如URLDownloadToFileW(),將惡意軟件下載到本地文件夾,ShellExecuteW()在受害者的設備上運行惡意軟件。在下圖中,我們可以看到shellcode即將調用API URLDownloadToFileW()將其下載到本地文件中,並將其重命名為“%TEMP%”文件夾下的“dasHost.exe”。

5.png

調用API下載惡意軟件

查看下載的文件下載的文件(“dasHost.exe”)是一個由IntelliLock和.Net Reactor兩個數據包保護的.Net程序。

下圖顯示了dnSpy中下載文件的EntryPoint函數,其中文件的程序集名稱為“Nvgqn7x”。你可能已經註意到,所有名稱空間、類、方法和變量的名稱都完全混淆了。

6.png

被混淆後下載文件的EntryPoint函數

下載文件的.Net Resources部分中有一些資源文件,下載的文件(“dasHost.exe”)從.Net Resources部分提取兩個無文件執行模塊。一個是AgentTesla的有效負載模塊,另一個是AgentTesla有效負載文件的Loader模塊。

7.png

下載文件的.Net Resources部分

上圖顯示了.Net Resources部分中的所有資源。根據我的分析,資源“rTMIRNhcvIYnT8lMa6.UJQcCvWAsvT8GV6hyn.resources”是編碼的Loader模塊,其程序集名稱為“Cassa”。資源“FinalProject.resources”是加密和壓縮的AgentTesla有效負載模塊,其組件名稱為“NyZELH bX”,並在Loader模塊的“DeleteMC()”函數中作為模塊加載,如下圖所示。

8.png

Loader“Cassa”的DeleteMC()函數

你可能已經註意到的,資源被偽裝成Bitmap資源,並與有效負載混合在一起。 Bitmap.GetPixel()和Color.FromArgb()是被調用來從資源中讀取有效負載的兩個API。然後,它通過解密和gzip解壓縮來恢復有效負載文件,該文件通過調用AppDomain.CurrentDomain.Load()方法作為可執行模塊加載。最後,從Loader模塊(“Cassa”)調用有效負載文件的“EntryPoint”函數。

AgentTesla有效負載模塊和Process Hollowing有效負載模塊是一個.Net程序,並且是完全混淆的。幸運的是,我使用了幾個分析工具來消除混淆。 Process-Hollowing是一款windows系統進程注入工具,它能夠將目標進程的映射文件替換為指定進程的映射文件,被替換的通常是一些系統進程,如svchost。惡意代碼借助此技術可以運行在其他進程中而不被檢測到。

與大多數惡意軟件一樣,開發人員在單獨的進程中運行惡意軟件的核心模塊。這是一種常見的保護策略,可以增加惡意軟件在受害者設備上運行的成功率。

有效負載的主要功能(除了持久性)是執行Process Hollowing,然後將另一個解密的可執行文件,該文件來源於有效負載文件中的一個稱為“7gQsJ0ugxz.resources”單獨的資源,該文件放在Process Hollowing中並執行它。在這個分析中,研究人員把這個解密的可執行文件稱為Agent Tesla的核心模塊。

9.png

用於執行Process Hollowing的API

上圖包含有效負載模塊調用以執行ProcessHollowing的關鍵API。它調用CreateProcess()創建一個掛起的“dasHost.exe”進程。接下來,它通過核心模塊的API VirtualAllocEx()在該進程中分配內存。然後多次調用WriteProcessMemory(),將保存在數組變量byte_1中的核心模塊複製到新進程中。它最終調用API SetThreadContext()和ResumeThread(),將新進程從掛起狀態恢復為執行AgentTesla的核心模塊。

之後,負載模塊通過調用Loader模塊的DeleteMC()中的Environment.Exit()退出。

持久性攻擊為了持續盜取受害者的敏感數據,即使受影響的系統重新啟動或AgentTesla進程被終止,它也要執行以下兩個操作。

1. TaskScheduler

它執行一個命令,在負載模塊內的系統taskscheduler中創建一個任務。本文的分析環境中的命令是'C:\Windows\System32\schtasks.exe' /Create /TN 'Updates\kCqKCO' /XML 'C:\Users\Bobs\AppData\Local\Temp\tmp68E9.tmp',其中“Updates\kCqKCO”是任務名稱,“/XML”指定它是由以下參數提供的XML文件創建的,即tmp68E9.tpm。下圖顯示了XML內容的詳細信息,其中文件“C:\Users\Bobs\AppData\Roaming\kCqKCO.exe”是下載的“dasHost.exe”的副本。任務設置為在受害者登錄時開始。

10.png

在系統TaskScheduler中創建任務

2.在系統註冊表中自動運行

11.png

系統註冊表中的自動運行項

核心模塊在系統註冊表“C:\Users\Bobs\AppData\Roaming\sOFvE\sOFvE.exe”中添加了一個自動運行項,它是在系統啟動時自動啟動的“dasHost.exe”的另一個副本。

竊取受害者的敏感信息AgentTesla核心模塊從受害者的設備中竊取敏感信息。這些信息包括一些軟件的保存憑據,受害者的鍵盤記錄信息和受害者設備的屏幕截圖。

竊取憑據12.png

AgentTesla從中竊取憑據的Web瀏覽器信息

它從受害者設備上安裝的指定軟件中竊取保存的憑據,包括網絡瀏覽器、電子郵件客戶端、FTP客戶端等。

根據其特點,受影響的軟件可分為以下幾類:

Web瀏覽器:

Opera瀏覽器、Yandex瀏覽器、Iridium瀏覽器、Chromium瀏覽器、7Star瀏覽器、Torch瀏覽器、Cool Novo瀏覽器、Kometa瀏覽器、Amigo瀏覽器、Brave瀏覽器、CentBrowser瀏覽器、Chedot瀏覽器、Orbitum瀏覽器、Sputnik瀏覽器、Comodo Dragon瀏覽器、Vivaldi瀏覽器、Citrio瀏覽器、360瀏覽器、Uran瀏覽器、Liebao瀏覽器、Elements瀏覽器、Epic Privacy瀏覽器、Coccoc瀏覽器、Sleipnir 6瀏覽器、QIP Surf瀏覽器、Coowon瀏覽器、Chrome瀏覽器、Flo瀏覽器ck瀏覽器,QQ瀏覽器,Safari、UC瀏覽器、Falkon瀏覽器

電子郵件客戶端:

Outlook,ClawsMail,IncrediMail,FoxMail,eM客戶端,Opera Mail,PocoMail,Windows Mail應用程序,Mailbird,The Bat!Becky!Eudora

FTP客戶端:

Flash FXP, WS_FTP, FTPGetter, SmartFTP, FTP Navigator, FileZilla, CoreFTP, FtpCommander, WinSCP

VPN客戶端:

NordVPN,Private Internet Access,OpenVPN

IM客戶端:

Discord,Trillian,Psi/Psi+

其他:

Mysql Workbench,\Microsoft\Credentials\,Internet Download Manager,JDownloader

Keylogging攻擊AgentTesla調用API SetWindowsHookEx()來設置鍵盤掛鉤,以監視低級別的輸入事件。 Keylogging攻擊是指攻擊者跟踪鍵盤、鼠標活動,獲得用戶輸入的信息,包括帳號、口令等。

13.png

設置掛鉤程序以記錄鍵盤活動

在上圖中,當受害者在他們的設備上打字時,就會調用回調掛鉤進程“this.EiqpViCm9()”。 AgentTesla將程序標題、時間和受害者的鍵盤輸入內容不時地記錄到一個本地文件“%Temp%/log.tmp”中。

它還有一個每隔20分鐘由計時器調用的方法,用於檢查“log.tmp”文件並通過SMTP傳輸其內容。

錄製屏幕截圖在核心模塊中,AgentTesla設置了另一個定時器,每間隔20分鐘調用另一個Timer函數。該Timer函數檢查設備上的任何活動,並確定是否記錄並傳輸屏幕截圖。為此,它調用API GetLastInputInfo()來檢索系統接收到的最後一個輸入事件的時間,然後將其與當前時間進行比較。

下面的偽代碼片段演示了AgentTesla如何捕獲屏幕截圖。

加图.png

“memoryStream”變量將截圖保存為jpeg格式。

通過SMTP傳輸敏感數據AgentTesla提供了多種傳輸被盜數據的方式,例如使用HTTP POST方法或通過SMTP作為電子郵件正文。該變體選擇通過電子郵件SMTP協議傳輸從受害者設備收集的數據。變體中的SMTP服務器地址和端口硬編碼為“mail.daymon.cc”和587。

下圖顯示了將要調用smtpClient.Send()函數來傳輸憑據數據的惡意軟件,電子郵件主題以關鍵字“PW_”開頭,後跟憑據數據的用戶名/計算機名。

14.png

在電子郵件中傳輸被盜憑據

電子郵件正文采用HTML格式,在瀏覽器中將電子郵件正文解析為HTML時,如下圖所示。

15.png

被盜憑據示例

16.png

鍵盤記錄程序收集的信息示例

電子郵件的主題是“KL_{User name/Computer name}” ,其中KL是鍵盤記錄程序的縮寫,電子郵件正文是收集的鍵盤記錄數據。如下圖所示,電子郵件正文包括在名為“Untitled-Notepad”的記事本中輸入的鍵擊記錄。

捕獲的屏幕截圖保存在一個變量中,並在傳輸給攻擊者時作為電子郵件附件添加。下圖顯示了它將屏幕截圖數據作為附件添加到電子郵件中。截圖的電子郵件主題格式是“SC_{User name/Computer name}”,電子郵件正文只是關於受害者設備的基本信息。

17.png

傳輸受害者截圖的示例

總結惡意活動流程圖大致如下。

18.png

該分析表明,釣魚電子郵件附帶的惡意Excel文檔利用老化的安全漏洞執行下載AgentTesla的shellcode。它在Resource部分中對相關模塊進行加密和編碼,以保護其核心模塊不被分析。

然後我解釋了這種變體是如何在受害者的設備上建立持久性的。我還展示了AgentTesla能夠從受感染的設備中竊取的軟件和數據,包括憑據、密鑰記錄數據和活動屏幕截圖。

最後,我提供了幾個例子,說明這種AgentTesla從分析環境中獲得的敏感數據類型,以及這些被盜的敏感數據是如何通過SMTP協議通過電子郵件傳輸給攻擊者的。