Petya到底是個什麼鬼

wyzsk發表於2020-08-19
作者: 360安全衛士 · 2016/04/06 11:41

Author:Luke Viruswalker

0x00 簡介


上個月底,德國老牌安全廠商歌德塔釋出安全報告,報告中指出出現了一種名為Petya的新型敲詐木馬。那麼這個新型的敲詐木馬到底是怎麼回事呢?

0x01 木馬概述


木馬本身其實技術上並不複雜:木馬用C語言編寫,透過修改系統所在磁碟包括主開機記錄(MBR)在內的前63個扇區的資料,實現開機自動載入木馬寫入的惡意程式碼的目的。而後再強制引發系統重啟,讓計算機自動載入惡意程式碼,進而加密使用者磁碟並展示敲詐介面。

如上所述,兩句話就能說明白木馬的原理,但實際應用起來給我們的感受卻是:簡單!粗暴!但————有效!

0x02 程式碼分析


重啟前的前期準備工作

由於木馬的主要傳播途徑來自於網盤分享,所以木馬做的唯一的偽裝就是在圖示上————偽裝成了一個自解壓程式:

p1

除此之外就不再有其他的偽裝了,直切主題————開啟C盤,並透過DeviceIOControl獲取到C盤所在的物理磁碟。

p2

p3

獲取到磁碟之後,以可讀可寫的模式開啟磁碟(其實就是為了寫入):

p4

萬事俱備,只欠東風————開始正式的寫入了。木馬寫入的全部資料集中在磁碟的前63個扇區內,分為四個部分:1.修改磁碟第1個扇區(0柱面,0磁頭,1扇區)的512位元組內容————即修改MBR;2.將後續扇區空閒部分全部寫入字元“7”(即HEX資料0x37);3.第35個扇區開始填入總長度為8192位元組(0x2000位元組,即16個扇區的空間)的惡意程式碼;4.第55個扇區開始填入長度為512位元組的配置資料。

  • 修改MBR

p5

  • 用“7”填補空閒空間

p6

  • 寫入惡意程式碼

p7

  • 寫入配置資料

p8

改寫的都寫完了,就剩重啟了。木馬並沒有用最小兒科的手段去執行系統的shutdown命令,而是呼叫了一個ntdll中的ZwRaiseHardError函式觸發硬體異常來製造藍色畫面,以此達到強制重啟的目的:

p9

分析暫停,我們來看看磁碟

一直到此處,我們將分析暫停,看看此時的磁碟————包括MBR的前63個扇區的資料均已被木馬修改,加入了惡意程式碼。但磁碟分割槽本身還並未被實質性的破壞。我們用工具開啟磁碟可以清楚的看到已經被修改的MBR和被加入的惡意程式碼:

p10

p11

細看被修改的MBR程式碼,會在一開始便將第34扇區(此處計數是從0開始,也就是文章之前所說的第35個扇區處)的資料迴圈載入記憶體中並執行:

p12

繼續跑起來!看看重啟之後的場景

OK,此時我們讓木馬繼續,觸發系統藍色畫面之後自動重啟,會出現一段磁碟修復資訊:

p13

如上圖所示,系統會提示你正在修復C盤所在的檔案系統,並用全大寫的字型警示使用者(雖然用英文寫這些所謂的“警示”內容在國內完全水土不服)————千萬不要停止關機,一旦你關機了你的資料就全毀了!

然而事實上呢?你不關機你的資料也全毀了————因為這段提示資訊根本就不是系統原本的修復程式,而是木馬自己寫入的欺騙性提示。而下方顯示的進度數值卻是有真實意義的:這個進度恰恰是惡意程式碼在加密你磁碟的進度!下圖是直接使用工具開啟磁碟,從病毒修改的磁碟資料中找到的對應的文字:

p14

在所謂的“檔案系統修復”完成後,使用者面對的便是一個閃瞎雙眼的骷髏圖示(1.截圖無法展示閃爍效果,實際看到的是紅白顏色切換的閃爍;2.平心而論這個介面製作的還是挺精良的!⊙﹏⊙b)

p15

按要求“Press Any Key”之後進入正題!是不是很熟悉?去下個洋蔥瀏覽器(Tor Browser)然後訪問我指定的連結,輸入你的個人解密編碼並交錢,拿到解密秘鑰,才能讓系統恢復正常!

p16

和之前流行了多年的CTB-Locker如出一轍的敲詐手法,只不過這次不再是加密你的特定檔案了,而是加密你的整個磁碟……

0x03 關於防範和修復


這個木馬雖然很獨具匠心的呼叫ZwRaiseHardError函式而非shutdown命令來重啟系統,但畢竟整個木馬的設計思路都是建立在修改系統MBR基礎上的,所以對於大多帶有主防功能且和MBR木馬對抗了這麼多年的安全軟體來說,在修改MBR這一個動作上就已經可以攔截了。加之根據我們的監控該木馬並沒有在國內大規模爆發,所以只要大家安裝有靠譜的安全軟體,對Petya木馬就不必太過於恐慌。

但當你沒有使用安全軟體進行防護的話……那就牽扯到修復問題了。這個就比較麻煩了。

  • 如果你是意識流神操作

假設你的意識足夠好,手速足夠快。只是一時大意不慎中招。一定要記得趕在進入那個假的“檔案系統修復”介面之前徹底關機(此處建議拔電源)。如果你做到了————恭喜!後面的步驟不會很複雜。你只需要找到一個PE系統,讓你的機器從隨身碟引導進入PE系統,然後用裡面的任何關於引導修復的工具去重建MBR即可。

p17

因為此時雖然惡意程式碼已經寫入,但還沒有開始加密磁碟,只要你重建了MBR,正常的系統MBR是不會執行木馬寫入的惡意程式碼的。所以那些惡意程式碼只會成為一大段程式碼屍體————靜靜的躺在你的磁碟裡,永遠不會被執行。當然,如果你連屍體都不想要,在重建MBR之後,再執行一下下面那個“清楚保留扇區”,那麼連屍體都會幫你清理乾淨的。(^o^)/~

  • 如果你是個資訊保安達人

如果你有經常備份系統的習慣,那麼不多廢話了……按照上面的步驟重建MBR之後,還原系統就好了

  • 如果你什麼準備都沒有

如果這樣那很不幸,但即便如此你其實依然不用付贖金。因為和典型的CTB-Locker不同,這個木馬並沒有更改你的任何檔案,而只是破壞了磁碟整體的檔案索引。所以如果你真的有很重要的檔案需要恢復,並且不是很在乎系統本身是否還能啟動,那你完全可以自己動手:

p18

但如果你希望是把整個系統完好無損的還原出來,那就需要比較專業的工具和專業的方法了,所以去找專業的資料恢復服務更為省心一些。

  • 順便說一句

此處順帶說一句,最近國內也出現了一款類似的修改MBR的敲詐木馬:

p19

如果是這個木馬的話,只需要按照上面重建MBR的步驟,之後再加一步找回丟失的分割槽表即可完成修復————因為該木馬只破壞了分割槽表,而並沒有對檔案索引下手:

p20

p21

p22

p23

![p24][24]

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

相關文章