這一切要從一次惡意郵件攻擊活動開始。下圖為我們最近監(jiān)測到的一個以惡意文件為發(fā)送附件的郵件攻擊,請注意郵件信息中的英語寫作水平是多么差勁,其實,這也是惡意郵件的一個特點,還請收件人提高警惕。
郵件樣本
在這封郵件中其附件以“.doc”文件擴展名結(jié)尾,但其實這是一個RTF(富文本)格式文件,文件被嵌入了一個精心構(gòu)造的cve-2010-3333漏洞利用腳本,漏洞產(chǎn)生原因為微軟office文件格式轉(zhuǎn)換器在處理RTF文件“pfragments”參數(shù)屬性時存在棧緩沖區(qū)溢出,遠程攻擊者可以借助特制的RTF數(shù)據(jù)執(zhí)行任意代碼,該漏洞又名”RTF棧緩沖區(qū)溢出漏洞”,但微軟官方已在5年前就已修復了漏洞。
被加密混淆的RTF文件
在上圖中你可以看到,漏洞利用代碼中的shellcode字段被模糊變形以避免殺毒軟件的檢測,在經(jīng)過代碼提取、清理和解密之后,我確定了漏洞利用代碼的shellcode將會從一個未知域名volafile.io下載并執(zhí)行某些文件。
shellcode 的16進制字符串
漏洞攻擊負載
下載的可執(zhí)行文件
經(jīng)過分析,從volafile.io 下載的文件是一個.NET可執(zhí)行文件,通過十六進制文件分析之后可以得到一個有趣的線索,編碼中出現(xiàn)了“HawkEyekeylogger”字段。
Hawkeye 鍵盤記錄的主體
通過GOOGLE搜索技巧,最終我找到了開發(fā)該Keylogger軟件的網(wǎng)站,在網(wǎng)站上,他們聲稱并列出了所有“HawkEyekeylogger”具備的“牛X的功能”。
HawkEye Keylogger 功能列表
在我的動態(tài)分析中發(fā)現(xiàn),該Keylogger在一個名為%appdata%的文件夾下釋放自身副本,啟動一個名為windowsupdate.exe的程序為運行進程,并設置進程啟動信息為隨機自啟動,實現(xiàn)與系統(tǒng)同時啟動。
Keylogger’的例行程序
同時,該Keylogger也在受感染的系統(tǒng)中釋放以下文件:
%Temp%sysinfo.txt–惡意程序的執(zhí)行路徑
%Appdata%pid.txt–惡意進程ID
%Appdata%pidloc.txt–惡意程序可執(zhí)行文件的位置
之后,我想通過觀察Keylogger的網(wǎng)絡外聯(lián)活動以獲取其遠程管理控制IP地址
受感染主機的網(wǎng)絡包
一段時間之后,被Keylogger感染的主機就開始向攻擊者郵箱發(fā)送信息了
被感染keylogger的主機向攻擊者遠程控制管理郵件發(fā)送本機相關信息
這些信息包括:
計算機名稱(或CPU信息)
本地日期和時間
系統(tǒng)語言
安裝的操作系統(tǒng)
系統(tǒng)開發(fā)平臺
操作系統(tǒng)版本
系統(tǒng)內(nèi)存
開發(fā)框架
系統(tǒng)權(quán)限
默認瀏覽器
安裝的防火墻
內(nèi)部IP地址
外部IP地址
電子郵件密碼和相關設置
瀏覽器設置和FTP密碼
如前所述,該Keylogger軟件是利用.NET框架編寫的,所以接下來我用.NET 編譯器ILSpy來完成這項任務。
Hawkeye keylogger 反編譯代碼
我把“HawkEye keylogger”開發(fā)網(wǎng)站上聲稱具備的“牛X的功能”,與反編譯源代碼時認真對照,可以肯定的是其功能確實很厲害。這以下就是其具備的功能:
鍵盤記錄:
鍵盤記錄程序
剪貼板操作記錄:
剪貼板操作例行程序
竊取瀏覽器、郵件客戶端、FTP密碼,它還試圖竊取密碼管理器憑據(jù)和系統(tǒng)密碼:
還有一個將keylogger通過USB傳播感染到其它系統(tǒng)主機的蠕蟲程序:
USB 感染程序
它還針對在線游戲平臺Steam用戶,通過刪除電腦上儲存的游戲配置數(shù)據(jù)和登錄信息,強制用戶再次登錄,然后利用鍵盤記錄程序竊取用戶的登錄密碼。
Steam游戲平臺感染程序
另外,HawkEye keylogger還通過郵件反彈和FTP方式竊取被感染系統(tǒng)的桌面截屏,以確定其程序是否被正確配置。
郵件發(fā)送程序
攻擊者也可以配置鍵盤記錄軟件,通過HTTP通道上傳被盜信息至一個PHP主機,但這部分代碼似乎是空的。
最有趣的是我在反編譯代碼中發(fā)現(xiàn)了一個名為form1()的C#構(gòu)造函數(shù),這就是HawkEye keylogger軟件的配置存儲函數(shù),但攻擊者使用了base64對遠程控制和管理的電子郵件和FTP信息進行了加密隱藏。
keylogger配置信息
但是,這些加密的數(shù)據(jù)并不總是安全的,特別是當反編譯源代碼中就可以看出解密程序來時
解密函數(shù)調(diào)用
下圖就是解密函數(shù),它包含兩個字符串參數(shù)encrypted bytes和secretkey,密鑰字符串是固定的硬編碼hawkspysoftwares
解密程序
同時,HawkEye keylogger使用者還使用了Unicode字符串 “099u787978786″對密碼字符串進行加鹽處理
keylogger 使用的加密方法
出于好奇,我復制了代碼的解密部分,并進行了相應修改,在MS VisualStudio程序下編譯,最終解密成功,包含了郵件和FTP賬戶密碼(對不起,我需要對解密信息進行模糊處理)
經(jīng)過解密的攻擊者的遠程控制郵箱和FTP信息
當然,最終我還是好奇地登錄了攻擊者的遠程控制管理郵箱。
攻擊者的遠程控制管理郵箱登錄界面
在攻擊者的控制管理郵箱里,我發(fā)現(xiàn)了受害者被竊取的電子郵件信息,并嘗試進行了登錄,讓人驚訝的是,受害者的電子郵件系統(tǒng)中被設置了郵件轉(zhuǎn)發(fā)功能,受害者所有的收發(fā)郵件被自動轉(zhuǎn)發(fā)到了攻擊者的另外一個郵箱seemaexport3@gmail.com。
受害者郵箱系統(tǒng)被設置了自動轉(zhuǎn)發(fā)功能
在對此次攻擊分析之后,我們又發(fā)現(xiàn)了另外一個包含CVE-2012-0158漏洞利用代碼的RTF郵件攻擊。雖然這兩個漏洞都比較過時了,但仍然被廣泛用于郵件攻擊中。
(后記:在2015年被發(fā)現(xiàn)的“海德薇”(Hedwig)APT網(wǎng)絡攻擊中,HawkEyekeylogger被用作竊密木馬)
*原文地址:trustwave,clouds編譯,轉(zhuǎn)載請注明來自FreeBuf黑客與極客(FreeBuf.COM)