作者:Mr.Right、Gongmo、K0r4dji
申明:文中提到的攻擊方式僅為曝光、打擊惡意網絡攻擊行為,切勿模仿,否則后果自負。
近期,越來越多的人被一種惡意軟件程序勒索,電腦上的多種重要文件都被加密而無法打開,并且無計可施,只能乖乖支付贖金,以對文件解密。
網上關于該類病毒的詳細分析案例很多,在此不再詳述。本文分享主要通過WireShark從流量分析判斷勒索郵件、再進行深入分析。
通過監控某政府郵件服務器發現,近期大量用戶收到此詐騙勒索郵件,郵件的發件人一般為陌生人,收件人指向明確,且帶有跟收件人名稱一致的ZIP附件,郵件內容一般為“請檢查附件的XX,為了避免罰款,你必須在X小時內支付。”的詐騙威脅內容。
解壓ZIP附件可發現病毒文件。
對于郵件協議的分析,我們首先按OSI七層模型對其數據進行建模,對網絡協議的每層進行分析,最后匯總其安全性。(同樣適用于其它協議)
暫不做分析。
由于該流量接入點為郵件服務器邊界出口,所以多為SMTP數據。該數據鏈路層幀格式為以太幀(Ethernet II),共14字節,前12字節表示兩端的MAC地址,后兩字節0x0800表示后接IPV4協議。
此層數據無異常。
從網絡層數據開始,我們就會逐漸發現異常。當然,這個數據在網絡層對我們有用的也就是源、目的IP地址。源地址10.190.3.172為郵件服務器地址,目的地址191.102.101.248 (哥倫比亞)為發件方地址。
簡單做幾個測試,就發現有異常:
191.102.101.248并未開放TCP25端口;
191.102.101.248與elynos.com無關;
初步判斷發件人的郵箱是偽造的。
我們簡單統計一下該數據的TCP25端口,發現在包數量等于28的附近區域,有大量不同IP發來的郵件,且字節長度也基本相等,可以初步判斷大量郵箱收到差不內容的異常郵件。
提取一封follow tcpstream,可看出,也是一封勒索郵件。
SMTP協議在會話層一般分析要素包括:認證過程、收發關系、加密協商、頭部協商等。
將一封郵件的會話Follow TCPStream,可以看出郵件的發件人是來自外部的“陌生人”。
我們將部分郵件收發關系進行匯總,可以看出雖然發著同樣的勒索郵件,但其發件人地址為了躲避垃圾郵件過濾,偽造了大量的郵箱地址及域名。
在表示層分析要素一般包括編碼和列表等,由于此郵件屬于正常通信郵件,在表示層無異常因素。
針對此案例,應用層分析目標包括:郵件正文內容安全、郵件附件安全、是否為垃圾郵件等。
1.指向性:收件人郵箱名為:[email protected]
,郵件正文稱呼為“dear voice5”,郵件附件名稱為“voice5_*.zip
”,可看出此勒索郵件為騙取點擊率,進行了簡單的社工。
2.郵件正文:
“Please check the bill in attachment.
In order to avoid fine you have to pay in 48 hours.”
明顯的詐騙威脅內容。
3.將此郵件內容Save一下,可得到附件內容。通過分析,可確認附件為敲詐勒索病毒。(本文不詳述)
(注:本章節不全屬于Wireshark分析范疇)
1)病毒文件一共是6個,其中紅框中的3個文件是隱藏文件,js文件是引導用戶打開的文件。為了防止殺毒軟件查殺病毒,病毒文件首先是按照pe結構分開的,js命令把pe文件組合在一起,構成一個完成的bin文件。
2)組合好的病毒文件會放到c:\User\Username\Appdata\Local\temp
目錄下,然后后臺運行。如下圖紅色框中
在IDA中打開bin文件。大段大段的加密數據文件。如下圖所示:
1)病毒解密還原后,才能正常執行。病毒文件經過了很多的亦或乘除等算法,通過VirtualAlloc在內存中存放一段代碼,然后調用RtlDecompressBuffer進行解壓,并在內存里還原代碼。所有API函數都是動態調用的。下圖是其中的一小部分還原數據的內容。
2)在內存解密,申請分頁,并擁有執行能力。
3)病毒會在HEKY_CURRENT_USER下創建一個屬于用戶的key值。
4)病毒會判斷系統版本:從Win2000,xp 一直到最新的Win10以及Win Server 2016;
由于我們的虛擬機是win7;所以這里判斷出是win7 zh代表中國。
病毒開始構造一個連接,準備發往作者的服務器。構造如下:
Id=00&act=00&affid=00&lang=00&corp=0&serv=00&os=00&sp=00&x64=00;
很明顯這是在獲取系統的一些信息,包括ID號,版本號,語言等。
病毒準備提交的網址:
下面的IP地址;都要嘗試連接一次。
通過wireshark截取的數據我們發現:有些IP地址的php網頁已經丟失了。
除此之外,病毒嘗試連接部分c&c服務器網址,部分如下:
5)如果病毒c&c服務器沒有返回信息;則病毒一直處于等待狀態。
6)感染文件。首先循環便遍歷掃描文件。
下圖是病毒要修改的文件格式:
文件名生成部分算法:
文件名被修改過程分為兩部分,前半部分代表系統的key值,后半部分通過算法生成。文件名改名加密算法的局部過程,從”0123456789ABCDEF”當中隨機選取一個字符充當文件名的局部。隨機函數采用CryptGenRandom()
。
文件內容加密總體流程:
首先文件以只讀形式打開,防止其他文件訪問其內容,接著通過AES-128算法加密器內容,最后置換文件。完成文件加密。
文件內容:經過AES-128位算法加密。
打開文件
把加密后的數據寫回文件:
然后通過API函數替換文件。
8)桌面背景被換為:
此類勒索郵件標題、正文、附件內容基本相同,只是針對收件人名稱稍作修改。
為躲避郵件過濾系統,發送者郵箱使用和偽造了大量不同的IP和郵箱地址。
雖然此勒索病毒最終需要通過針對附件樣本的分析才能判斷確認,但基于流量分析可以發現諸多異常,完全可以在流量通信層面進行歸納阻斷。
隨著大量比特幣病毒流入國內,各種敲詐勒索行為日漸增多,對應這種病毒,我認為防范大于修復。因為比特幣病毒對文件的加密算法部分相對復雜,還原的可能性較小。并且每臺機器又不一致。所以,我們盡量做好預防才是根本。以下是幾點需要我們提高警覺性的:(1)及時更新殺毒軟件。(2)注意防范各種不明確的郵箱附件。(3)及時備份重要信息到其他存儲介質。