暗渡陳倉:披著圖片外衣的特洛伊木馬
InfoStealer是一種木馬,功能為收集受害計算機系統(tǒng)用戶的敏感信息,并將其轉(zhuǎn)發(fā)到一個預(yù)定的位置,而搜集的信息包含財務(wù)信息,登錄憑據(jù),密碼或者都有,這些信息可能被出售在黑市上。AVAST將其命名為MSIL:Agent-AKP。
下面,我們就來看看一個通過exploit kit(全自動攻擊工具)部署在受害者電腦上的惡意.NET文件。用反編譯器打開該文件后,發(fā)現(xiàn)資源中只包含如下干擾圖片:


以位圖方式打開圖片,一個像素一個像素的處理。對于每個像素,它并不是非黑即白(ARGB不等于0×00000000),3種顏色提取并保存在一個列表中,一個值接著一個值,一列接著一列。
當(dāng)我們提取出整張列表后,得到如下的結(jié)果。注意MZ標(biāo)識,正是可執(zhí)行文件的開頭:

很明顯,我們正在對付一個obfuscator(混淆器),它從位圖中轉(zhuǎn)換數(shù)據(jù),構(gòu)造可執(zhí)行文件。
單單的查看這個位圖文件,并不能立即意識到它還存儲著可執(zhí)行文件。對照BITMAPINFOHEADER和它的bitHeight項,我們可以看到它的值是0X134。

根據(jù)文檔,如果biHeight是正值,相應(yīng)的位圖就是自底而上的DIB(與設(shè)備無關(guān)的位圖),它的起始點在較低的靠左的位置。

下圖展示了這個可執(zhí)行文件的前9個字符是如何隱藏在位圖中的。一個像素包含3個字符,隨后的下一列是下一組3字符(自底而上)。我們發(fā)現(xiàn)紅色標(biāo)識的字符正是可執(zhí)行文件的MZ特征:4D5A90 000300 000004。

仔細觀察Payload
Payload從位圖中被提取出來,原始文件有兩個位圖,其中一個解析后是用.NET寫的加載器,裝載進內(nèi)存并執(zhí)行第二個二進制文件。第一個二進制文件通過修改zone.identifier 來修改數(shù)據(jù)流。
硬盤上的任何文件都或有無被賦予了

這里的惡意文件試圖將zone值設(shè)為2,表明是URLZONE_TRUSTED。

這個區(qū)域的存在是由于安全原因考慮。某些程序/操作系統(tǒng)可能會報告與此類文件有關(guān)的安全信息。

第二個匯編碼是從第二個位圖源文件中提取的。它通過創(chuàng)建Win7zip注冊表Uuid值來生成。

通過創(chuàng)建[HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options],運行之后將禁用幾個安全方案,將調(diào)試器的值設(shè)置成一個不存在的exe文件路徑,每當(dāng)用戶試圖使用受影響的程序時,Windows將運行“調(diào)試”出來的值來代替原本的值,這樣就可以成功的禁用此類程序。下圖顯示了通過修改此注冊表項禁用的程序的列表。

同樣利用修改注冊表項禁用安全組件:
[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer]。將HideSCAHealth的值設(shè)置成1來禁用Action Center。Notification balloons的禁用可以通過修改TaskbarNoNotification的注冊表項來達成。
在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsBackup],修改DisableMonitoring注冊表項,可以禁用Windows備份通知。

通過對注冊表項2500鍵值進行設(shè)置,設(shè)置為3-禁用,就可以關(guān)閉Internet Explorer的保護模式。


如果發(fā)現(xiàn)裝有如下的FTP軟件,就會竊取它們的認證日志:
FileZilla
SmartFTP
CoreFTP
FlashFXP
WinSCP
FTP Commander
可以在它的body中看到下列字符:
FileZilla\sitemanager.xml
SmartFTP\Client 2.0\Favorites
SmartFTP
Software\FTPWare\CoreFTP\Sites
FlashFXP
Sites.dat
Quick.dat
Software\Martin Prikryl\WinSCP 2\Sessions
%s\FTP Commander
%s\FTP Commander Deluxe
Ftplist.txt
它同樣可以修改注冊表項:
注冊表項[HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Plug-in\{version}\UseJava2IExplorer]的種類是REG_DWORD,設(shè)置成0的意思就是禁用JAVA;設(shè)置成1的意思就是啟用JAVA。
注冊表項 [HKEY_CURRENT_USER\Software\Adobe\Acrobat Reader\{version}\Privileged\bProtectedMode]的種類是REG_DWORD,設(shè)置成0就是禁用;設(shè)置成1就是啟用。

(木馬)作者力求保留將來再次感染該系統(tǒng)的可能。一旦用戶再次登錄exploit kit,感染將再次發(fā)生。
InfoStealer同時也向作者報告被入侵電腦上安裝的一些軟件,通過判斷是否存在如下的文件、目錄或者注冊表鍵值:
Software\Valve\Steam
jagexcache
SOFTWARE\Blizzard Entertainment
.minecraft
League of Legends
Software\Skype
例如,“jagexcache”的出現(xiàn)表明在線游戲RuneScape,“.minecraft”表明Minecraft,注冊表鍵值“SOFTWARE\\Blizzard Entertainment”或者“Software\Valve\Steam”告訴我們或許機器上安裝著這來自這些游戲廠商的游戲。“League of legends”和”Software\Skype”這些字符不言自明。
InfoStealer禁用了一些系統(tǒng)服務(wù)。Wuauserv就是“Windows Update service”,wscsvc就是“Security Center”,mpssvc就是“Windows Firewall”,BITS是“Background Intelligent Transfer Service”。

它也擁有“洪水”攻擊目標(biāo)服務(wù)器的能力。

當(dāng)我們試圖搜尋上面提及的命令時,我們發(fā)現(xiàn)了一個地下論壇,如下描述:

通過向[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]下添加“AudioDriver32”值,就能達到永遠存在的效果,即使機器重啟。

InfoStealer木馬通過展示如下的錯誤信息提示窗的聰明方式來迷惑用戶,使其可以提升權(quán)限運行。

無論點“Restore files”還是“Restore files and check disk for errors”后,都執(zhí)行下面的代碼。

InfoStealer使用ShellExecute函數(shù)執(zhí)行自身。要注意“runas”命令,試圖以提升的權(quán)限運行程序。如果一個用戶被提示UAC(用戶訪問控制),他很可能會允許該程序運行,因為它需要“restore his corrupted document files”。
如果用戶點擊了“More details about this error”, 如下的頁面將會打開。它是正常的微軟社區(qū)頁面,用戶在此提問、答復(fù)相關(guān)問題。
這里的問題正是與“Corrupted Documents Folder”相關(guān)的,與展現(xiàn)給受害用戶的出錯信息窗口相關(guān)。

InfoStealer掃描所有正在運行的進程以及它們的啟動命令行參數(shù)。這些命令行會被解析,如果匹配如下的模式,它們還會被報告給(木馬)作者。這些模式代表著比特幣挖掘的進行。如果cgminer在入侵電腦上運行,將會被報告。

所有獲取的數(shù)據(jù)存放在[HKCU\Software\Classes\CLSID\{GUID}]注冊表鍵值中,這些信息稍后會被發(fā)送給攻擊者。

總結(jié)
上面所展現(xiàn)的惡意軟件試圖竊取多種程序的認證信息,或者至少報告它們的存在。通過修改多處系統(tǒng)注冊表值來禁止安全軟件或者action center的通知服務(wù)的運行,且該信息竊取者針對的對象為終端用戶。
SHAs:6ABA3F3DE5BBB513C073066473E39349E0E68403DBDB3E55E444FFF6632274D4
本文來自Avast博客JAROMIR HOREJSI的文章《Your documents are corrupted: From image to an information stealing trojan》。