大多數人都認為,自己在上網時是安全的。但實際上,任何一款在後臺運行的間諜軟件,都能夠抓取你的密碼,在線跟蹤你的上網習慣並竊取你的個人信息。
Agent Tesla就是間諜軟件家族中的一員,並且已經存活了多年。一旦被感染,此間諜軟件就能夠從許多常用軟件(包括Google Chrome、Safari和Firefox瀏覽器)中竊取信息。
感染鏈
Agent Tesla感染鏈大多從一封釣魚電子郵件開始,而附件很有可能會是一個.arj格式的文件(Dropper):
ARJ是90年代早期的一種壓縮文件格式,經常出現在盜版軟件中,它可以將壓縮文件分割成多個小體積文件,以便於文件更容易通過撥號連接共享。
不過,在本文中分析的ARJ壓縮文件並沒有被分割成多個文件,而是僅包含一個名為“IMP_Arrival Noticedoc.exe”的可執行文件。
Dropper
毫無意外,這個可執行文件實際上是一個經過UPX打包的AutoIt腳本,反編譯結果如下:
一開始,它會進行反虛擬機(VM)檢查,這是Agent Tesla的典型行為。
如果檢查通過,那麼它將對移交給DecodeDataFromPEResourceOrString函數的第一個參數($data)中的字符串進行資源字體類型(8)的解碼和提取。
在GetResourcesFromPE函數中,此參數會被轉換為一個字符串,並拆分為不同的字體資源名稱,結果如下:
- SystemPropertiesDataExecutionPreventionM
- Windows.Media.BackgroundPlaybackK
- windeployL
- LaunchWinAppX
- ccaF
- CellularAPIQ
- MuiUnattendE
- RmClientE
- ucsvcG
- refsutilV
- SpeechRuntimeV
- DPTopologyAppv2_0N
然後,它將從PE資源中提取這些字體類型資源,並連接到一個二進制大文件。
結果同樣存儲在$data變量中(圖7中的第245行),第246行的StringReverse(BinaryToString($data))反轉了存儲字節的順序,這是RC4加密形式的最終惡意軟件Payload,RC4代碼的字節包含在變量$sopcode中。
在準備好shellcode和加密的Payload數據之後,在第262行執行RC4函數並解密Payload。
反彙編的RC4 shell代碼如下:
解密Payload後,腳本將調用最終的InjectPayloadIntoProcess函數,以將Payload注入另一個進程中。值得注意的是,腳本為注入提供了9種不同的合法注入選項,允許攻擊者通過向函數提供相應的編號來選擇具體使用哪一種。
Payload
Payload通常都是Agent Tesla,旨在從一些主流瀏覽器、電子郵箱客戶端、SSH/SFTP /FTP客戶端和其他軟件中竊取憑證。
執行時, Agent Tesla會動態解析配置設置和字符串,並使用Rijndael算法解密某些大型數據。
下圖展示了Agent Tesla運行時的情況,例如解碼某些參數以進行電子郵件滲透。
該函數的去混淆版本如下圖所示:
結論
通過本文中所描述的過程,攻擊者可以將原始惡意軟件隱藏在Dropper中。該惡意軟件僅在運行時解密並注入到內存中,即永遠不會在硬盤驅動器上解密。
這一系列Agent Tesla活動中,攻擊者使用了相對複雜的Dropper,利用了多種不同的混淆技術來儘可能使防病毒程序難以檢測到惡意軟件。不僅如此,通過使用這些Dropper,攻擊者還可以很輕鬆且快速地切換最終的惡意軟件。
閱讀更多 黑客視界 的文章