火絨安全警報:病毒偽裝成「滙豐銀行」郵件盜取用戶賬號
來自專欄 火絨安全實驗室
一、 概述
近日,火絨安全團隊發現名為「TrickBot」的後門病毒正在全球範圍內通過仿冒郵件發起新一輪網路攻擊,世界範圍內多家銀行和比特幣交易平台(共計269家)的使用者都在此次被攻擊範圍之內。病毒「TrickBot」目的明確,在於盜取用戶的銀行賬戶、比特幣賬戶信息,攫取錢財。
圖:受到病毒攻擊威脅的部分銀行、比特幣交易平台名稱
後門病毒「TrickBot」通過偽裝成標題為「您的滙豐銀行申請文檔」的郵件進行傳播,並以附件的形式發給用戶。其內容極具迷惑性,操作說明、注意事項、客服電話以及辦公地址等信息一應俱全,用戶很難辨別其真偽。而用戶一旦打開該文檔,文檔內的惡意代碼將會自動執行,並通過Office漏洞(CVE-2017-11882)下載後門病毒「TrickBot」。以下為受影響版本:
病毒「TrickBot」入侵用戶電腦後,會盜取其銀行賬戶以及比特幣交易平台登錄信息。同時還會收集用戶計算機內的數據信息,包括系統版本,CPU情況,內存,用戶名,系統中的服務項,軟體安裝情況等。不僅如此,病毒團伙可隨時通過遠程操控更改病毒代碼,進行其他破壞行為。例如:植入挖礦病毒、勒索病毒等。
火絨工程師通過技術分析,發現「TrickBot」早在2016年就已經出現,此次火絨安全團隊攔截到的為其變種版本。雖然該病毒的新變種層出不窮,但其主要目標都是盜取用戶銀行賬號、密碼等信息,攫取錢財。
「火絨安全軟體」最新版即可查殺後門病毒「TrickBot」,建議近期收到過類似郵件的用戶儘快進行排查。此外,目前Microsoft Office已經修復該漏洞,建議用戶安裝最新補丁,以免遭受不必要的損失。
二、 詳細分析
近期,火絨截獲到一批病毒樣本,會利用垃圾郵件配合漏洞文檔的形式傳播TrickBot病毒。郵件內容將自己偽裝成滙豐銀行的通知郵件,從而誘騙受害者打開附件中存放的漏洞文檔(CVE-2017-11882),文檔內容同樣將自己偽裝成滙豐銀行通知內容。漏洞被觸發後,病毒會通過訪問C&C伺服器下載執行TrickBot病毒,TrickBot病毒執行會請求遠程的惡意功能模塊到本地執行,病毒模塊功能包括:盜取用戶銀行賬號信息、收集用戶本地操作系統信息、軟體安裝情況等。病毒傳播與執行惡意行為流程圖,如下圖所示:
病毒傳播與執行惡意行為流程圖
偽造的郵件及文檔內容,如下圖所示:
郵件及文檔內容
文檔中所包含的CVE-2017-11882漏洞被觸發後,會執行PowerShell腳本從C&C伺服器(hxxp:// Centre Communautaire Musulman de Longueuil、hxxp://guardtrack.uk)下載執行遠程惡意代碼。PowerShell代碼,如下圖所示:
PowerShell代碼內容
如上圖,PowerShell代碼執行後會將TrickBot病毒下載至 「%TMP%umsiery.exe」位置後進行執行。漏洞觸發後的進程關係情況,如下圖所示:
進程關係
為了對抗安全軟體查殺,病毒被混淆器進行了混淆。在混淆器代碼通過創建窗體、發送窗體消息的方式對抗虛擬機引擎,在窗體消息處理函數中創建Timer,當Timer消息連續被響應360次後才能觸發最終的混淆器解密代碼。相關代碼,如下圖所示:
混淆器代碼
病毒所使用的字元串數據均被進行過加密處理,在病毒代碼使用相關的字元串資源時,會通過解密函數進行臨時解密。解密後的數據被存放在棧中,使病毒分析人員很難通過查看進程內存鏡像的方法找到與病毒功能相關的數據信息,從而加大對病毒的分析和逆向複雜度。除此之外,病毒所調用的所有系統API全部通過病毒獲取的函數地址表進行調用,從而用上述手段對抗安全廠商的分析與查殺。字元串數據解密前後示例,如下圖所示:
字元串數據
獲取API函數地址表相關代碼,如下圖所示:
獲取API函數表
病毒執行後,首先會創建計劃任務創建啟動項,且每隔3分鐘就會重複執行一次。如下圖所示:
計劃任務
在主要病毒代碼邏輯執行後,病毒會使用多種不同的命令編號與C&C伺服器進行通信,從而獲取不同的遠端數據(包含病毒模塊數據及相關配置數據),並將本地計算機信息和病毒運行狀態上傳到伺服器。主要命令編號及作用,如下圖所示:
主要命令編號與對應功能描述
C&C伺服器返回的數據均被使用AES-256演算法進行加密過,數據在受害計算機中也以加密形式進行存放,解密密鑰也被存放在回傳數據中。從C&C伺服器請求到的數據文件及功能描述,如下圖所示:
數據文件及功能描述
TrickBot病毒具有很強的可擴展性,病毒作者可以隨意通過修改C&C伺服器返回數據的方式增減病毒模塊,執行任意攻擊邏輯。病毒在請求到模塊數據後,會根據遠程返回的配置文件調用不同導出函數執行惡意代碼,TrickBot病毒的病毒模塊通常的導出函數共有4個,如下圖所示:
病毒模塊導出函數
我們現在可以請求到的功能模塊共有兩個injectdll和systeminfo,injectdll模塊主要用於盜取用戶賬號,systeminfo模塊則用來收集受害者計算機中的系統信息,下文中將按照病毒模塊進行逐一說明。用於請求功能模塊的遠程配置信息,如下圖所示:
用於請求功能模塊的遠程配置信息
Injectdll
該病毒模塊首先會被注入到svchost進程進行執行,當通過遍歷查找瀏覽器進程進行遠程注入盜取用戶賬戶信息,該病毒只針對IE、Chrome和FireFox進行盜取。通過對病毒配置信息的篩查,我們發現病毒竊取賬戶範圍非常之廣,共包含銀行站點、比特幣交易平台271個。配置中所涉及的個別站點示例,如下圖所示:
站點示例
病毒在檢測到瀏覽器進行後會對瀏覽器進行注入,Hook瀏覽器進程中的網路請求函數,根據病毒配置規則過濾發送向指定網址的數據。瀏覽器進程被Hook情況,如下圖所示:
瀏覽器進程被Hook情況
盜取賬號相關配置信息分別存放在sinj、dinj和dpost中。 sinj解密後配置內容示例,如下圖所示:
sinj配置示例
dinj解密後配置內容示例,如下圖所示:
dinj配置示例
dpost解密後配置內容,如下圖所示:
dpost配置內容
Systeminfo
systeminfo模塊主要用來獲取受害者的計算機信息,主要會收集用戶系統版本、CPU信息、內存大小信息,系統服務信息,軟體安裝信息等,收集到的信息最終會拼接成xml文件。收集本地信息代碼,如下圖所示:
獲取本地系統信息主要邏輯
利用WMI查詢本地系統版本信息,如下圖所示:
通過WMI查詢系統信息
通過遍歷註冊表的方式獲取當前系統中的軟體安裝信息,如下圖所示:
收集軟體安裝信息
三、 附錄
文中涉及樣本SHA256:
推薦閱讀:
※黑客為何能輕易攻入我們的郵箱?
※詳解 | 郵件中抄送與密抄,收件人與抄件人
※教你寫一封特別的「聖誕祝福郵件「
※一鍵快速收發多個賬號的電子郵件|藍視星空
※常見的電子郵件泄密途徑有哪些?