譯者:知道創宇404實驗室翻譯組
原文鏈接:https://decoded.avast.io/janrubin/complex-obfuscation-meh/
前言
最近一段時間,我們一直在監測一種新的惡意程序,我們稱之為“Meh”。這一切都是在我們遇到大量文件時開始的,這些文件的開頭是隨機生成的字符串,然后是一個編譯的AutoIt腳本……
分析
Meh由兩個主要部分組成。
第一部分是解密器,我們將其命名為MehCrypter,它由多個階段組成,并作為已編譯的AutoIt腳本進行分發,以隨機生成的字符串序列作為前綴。AutoIt解釋程序將跳過此字符串序列,該解釋程序將掃描確定文件格式的字節并有效地混淆文件,而不會影響其功能。
第二部分是密碼竊取程序,稱為Meh。竊取程序是惡意軟件的核心,并具有許多功能。它能夠竊取剪貼板內容,鍵盤記錄,竊取加密貨幣錢包,通過種子下載其他文件等。它幾乎所有功能都在子線程中執行,這些子線程是從注入的進程執行的。在下一篇博客文章中,我們將重點介紹密碼竊取器。
MehCrypter
首先,Meh是密碼竊取/鍵盤記錄程序。但是要到達那里,我們需要仔細檢查MehCrypter。
在實際的加密程序中,文件開頭的字符串是隨機生成的,長度也有所不同。在這段區域中具有幾MB數據的樣本幾乎沒有數據。
該文件還包含已編譯的AutoIt腳本的代碼,這部分代碼可由AutoIt解釋程序解釋。解釋器的設計方式是搜索整個文件內容,直到找到AU3!EA06字符串為止。因此,整個前置字符串將被完全跳過,并且僅用作避免檢測的混淆技術。
反編譯產生了一個非常可讀的腳本,該腳本具有一個目的:連接硬編碼的十六進制字符串,對其進行解碼,并通過自定義AutoIt PE加載器使用反射加載來加載結果PE。
MehCrypter dropper
從上述腳本中,我們可以手動提取二進制文件。這個二進制文件是用Borland Delphi編寫的非常簡單的dropper,它向C&C服務器發出幾個HTTP POST請求,以下載三個附加文件:
- http://83[.]171.237.233/s2/pe.bin
- http://83[.]171.237.233/s2/base.au3
- http://83[.]171.237.233/s2/autoit.exe
這些文件下載后,將它們保存到C:\testintel2\目錄中并使用base.au3執行該文件(即解釋autoit.exe)。pe.bin是加密的Meh密碼竊取程序二進制文件,我們稍后會談到。
此外,該刪除程序還嘗試從以前安裝的Meh密碼竊取程序中清除環境,我們將在本博客系列的下一部分中對此進行深入討論。具體來說,它嘗試終止幾個進程:
- notepad.exe
- werfault.exe
- vbc.exe
- systeminfo.exe
- calc.exe
Meh將這些過程用于以后的PE注射。在此階段,它還將刪除其安裝文件夾C:\programdata\intel\wireless。
這讓我們想到一個同樣由Meh Dropper創建的C:\testintel2\a.txt文件:該文件僅包含三個字節:meh。乍一看,這真是太好笑了,我們決定將其命名為whole family Meh,包括其加密程序MehCrypter。
base.au3使用與原始樣本相同的密碼器(MehCrypter)。但是,它只包含一個shellcode,而不是整個PE二進制文件。因此,它省略了PE加載器部分,并使用CallWindowProc API函數執行。
base.au3 shellcode
base.au3 shellcode有兩個部分。
在第一部分中,shellcode在堆棧上構造了另一個shellcode。我們可以在地址處看到它的開頭0x00000025。第二個Shellcode通過間接跳轉執行。
第二部分是未加密的二進制文件。MZ標頭從地址0x0000168A開始。第二個(構造的)shellcode實際上是另一個PE加載器,它僅加載并執行硬編碼的二進制文件。該二進制文件是加密器信封的最后階段,是Meh密碼竊取者的stager。
Meh stager
此程序是第三個(也是最后一個)PE加載程序,它使用非常簡單的XOR密碼解密上述pe.bin文件。
pe.bin
解密功能需要兩個輸入:一個base64編碼的密文和一個密鑰。幸運的是,這兩個都包含在中pe.bin。
文件的開頭有一個隨機生成的字符串,類似于初始的AutoIt腳本。但是,在一系列隨機字母之后,我們可以看到一個由豎線分隔的字符串,后跟一個base64字符串。這些正是解密功能所需的參數。可以在下面找到用Python編寫的相應解密器。
如上所示,該密鑰沒有以這種確切形式使用。惡意軟件用“ a” 替換密鑰字符串的第一個字符,并省略最后一個字母。因此,實際密鑰為asUzmbiYd。
之后,我們對base64字符串進行解碼,并從XOR密鑰字符串派生一個一字節的密鑰。
然后,此一字節密鑰的位取反版本用于解密文件的內容。
由于錯誤的密鑰派生過程,密鑰空間的實際大小僅為256個密鑰。因此,分析人員可以對解密密鑰進行暴力破解,例如通過嘗試對PE文件頭進行解密以查找MZ字節。
用Python編寫的整個解密器可以在這里找到。
活動概述
Meh和MehCrypter感染從6月中旬開始激增,每天能記錄到千次感染。該惡意軟件在西班牙最為流行。但是,在西班牙,Avast阻止了我們80,000多名用戶的感染嘗試。第二個最受攻擊的國家是阿根廷,有2,000多個受攻擊的用戶。
總結
在本文中,我們研究了MehCrypter系列,該系列用于混淆許多在野外流通的惡意軟件。這些系列之一是Meh密碼竊取程序,我們將在系列的下一部分中對其進行詳細介紹,敬請期待!
IoCs

URL
http://83[.]171.237.233/s2/pe.bin(ZoomEye搜索結果)
http://83[.]171.237.233/s2/base.au3
http://83[.]171.237.233/s2/autoit.exe
Repository:https://github.com/avast/ioc/tree/master/Meh
本文由 Seebug Paper 發布,如需轉載請注明來源。本文地址:http://www.bjnorthway.com/1340/
暫無評論