WireShark駭客發現之旅(7)—勒索郵件

wyzsk發表於2020-08-19
作者: 聚鋒實驗室 · 2016/04/14 10:11

作者:Mr.Right、Gongmo、K0r4dji

申明:文中提到的攻擊方式僅為曝光、打擊惡意網路攻擊行為,切勿模仿,否則後果自負。

0x00 前言


近期,越來越多的人被一種惡意軟體程式勒索,電腦上的多種重要檔案都被加密而無法開啟,並且無計可施,只能乖乖支付贖金,以對檔案解密。

網上關於該類病毒的詳細分析案例很多,在此不再詳述。本文分享主要透過WireShark從流量分析判斷勒索郵件、再進行深入分析。

0x01 截獲郵件樣本


透過監控某政府郵件伺服器發現,近期大量使用者收到此詐騙勒索郵件,郵件的發件人一般為陌生人,收件人指向明確,且帶有跟收件人名稱一致的ZIP附件,郵件內容一般為“請檢查附件的XX,為了避免罰款,你必須在X小時內支付。”的詐騙威脅內容。

解壓ZIP附件可發現病毒檔案。

0x02 WireShark分析


對於郵件協議的分析,我們首先按OSI七層模型對其資料進行建模,對網路協議的每層進行分析,最後彙總其安全性。(同樣適用於其它協議)

(一) 物理層分析

暫不做分析。

(二) 鏈路層分析

由於該流量接入點為郵件伺服器邊界出口,所以多為SMTP資料。該資料鏈路層幀格式為以太幀(Ethernet II),共14位元組,前12位元組表示兩端的MAC地址,後兩位元組0x0800表示後接IPV4協議。

此層資料無異常。

(三) 網路層分析

從網路層資料開始,我們就會逐漸發現異常。當然,這個資料在網路層對我們有用的也就是源、目的IP地址。源地址10.190.3.172為郵件伺服器地址,目的地址191.102.101.248 (哥倫比亞)為發件方地址。

簡單做幾個測試,就發現有異常:

  1. 191.102.101.248並未開放TCP25埠;

  2. 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一下,可得到附件內容。透過分析,可確認附件為敲詐勒索病毒。(本文不詳述)

0x03 勒索病毒分析


(注:本章節不全屬於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)桌面背景被換為:

0x04 總結


  1. 此類勒索郵件標題、正文、附件內容基本相同,只是針對收件人名稱稍作修改。

  2. 為躲避郵件過濾系統,傳送者郵箱使用和偽造了大量不同的IP和郵箱地址。

  3. 雖然此勒索病毒最終需要透過針對附件樣本的分析才能判斷確認,但基於流量分析可以發現諸多異常,完全可以在流量通訊層面進行歸納阻斷。

  4. 隨著大量比特幣病毒流入國內,各種敲詐勒索行為日漸增多,對應這種病毒,我認為防範大於修復。因為比特幣病毒對檔案的加密演算法部分相對複雜,還原的可能性較小。並且每臺機器又不一致。所以,我們儘量做好預防才是根本。以下是幾點需要我們提高警覺性的:(1)及時更新防毒軟體。(2)注意防範各種不明確的郵箱附件。(3)及時備份重要資訊到其他儲存介質。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章