<pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
    <pre id="vvttv"></pre>

      <p id="vvttv"></p>

          <p id="vvttv"></p>

                <p id="vvttv"></p>

                <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                  <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                    <p id="vvttv"></p>

                    原文地址:http://drops.wooyun.org/tips/12560

                    0x00 背景


                    在烏克蘭電力系統被攻擊之后,最近又爆出該國機場也遭受網絡襲擊。罪魁禍首都是黑暗力量(BlackEnergy),BlackEnergy是何方神圣?為何有如此神通?BlackEnergy是最早出現在2007年的一套惡意軟件,后來出現了專門針對烏克蘭政府機構打造的分支。BlackEnergy并不是最近興起的新型惡意軟件,但時至今日仍然站在潮頭興風作浪,這點值得我們關注。

                    0x01 攻擊簡述


                    下邊簡要描述一下BlackEnergy的攻擊過程。XLS文檔通過郵件可以方便傳播,文檔中包含的宏代碼會dropper一個vba_macro.exe,這個exe又會dropper兩個東西。其一.dat結尾的文件是一個dll,而啟動目錄下的快捷方式是使用rundll32來運行dll中序號為1的導出函數。

                    rundll32拉起惡意dll之后,會使用進程外com的方式的去啟動IE進程,然后使用IE進程去連接遠程服務器,下載惡意軟件組件。然后又通過安裝驅動和apc注入,在系統模塊中執行惡意代碼,與遠程服務器通信,根據遠程服務器的指令以及拉取下來的惡意程序執行相應攻擊。

                    p1

                    0x02 樣本危害


                    通過宏病毒入侵系統,留有后門,后續攻擊組件清空關鍵系統文件,使得計算機無法正常工作,達到破壞目的。

                    0x03 重點分析


                    1. FONTCACHE.DATA文件分析

                    FONTACACHE.DATA是由之前的vba_macro.exe來釋放,FONTACACHE.DATA是一個dll文件,通過下面這條命令運行起來。C:\WINDOWS\system32\rundll32.exe "C:\Documents and Settings\Administrator\Local Settings\Application Data\FONTCACHE.DAT",#1可以看到調用dll導出的序號為1的函數。下圖為導出函數表。

                    p2

                    運行后,通過virtualAlloc函數以及拷貝指令脫殼,在0x10010000地址處,寫入了一個另外一個dll,暫稱為primarydll。

                    p3

                    程序最終會執行到primarydll的入口處,primarydll的入口處代碼,會執行sub_100122B6()函數,查看此函數的代碼。

                    p4

                    首先會設置一系列IE注冊表相關的值,然后啟動一個線程。查看線程函數地址。

                    p5

                    通過三個函數注冊RPC服務,開啟監聽。這樣中毒電腦就可以接受黑客的控制。接著往下走,樣本會對NTUSER.LOG文件進行操作。隨后便來到一個while true中。

                    p6

                    在循環中,會調用sub_10012740()函數,靜態分析此函數,可以看到樣本在構造了http請求相關的字段后,通過CoCreateInstance來啟動IE,去下載可執行文件。具體的url為:http://5.149.254.114/Microsoft/Update/KC074913.php(已經失效)

                    p7

                    2. xxx.sys驅動分析

                    惡意樣本實際運行時創建的是一個隨機名字的驅動文件,在此以xxx.sys代替。由于驅動加了殼所以主要通過動態調試來分析。首先進入svchost的進程的上下文,以便把分配好的內存映射到ring3的地址空間。

                    p8

                    初始化APC,從下圖中可以看到?KeInitializeApc的NormalRoutine被設置為0x00c453cc

                    p9

                    插入剛才初始化的APC

                    p10

                    svchost執行到0x00c453cc的情況

                    p11

                    從該地址向回查找可以看到這是實際上是一個PE

                    p12

                    而偏移0x53cc就是這個dll的入口點

                    p13

                    至此可以看出xxx.sys先將自己的dll寫入svchost的地址空間,然后通過插入apc使自己的代碼執行起來。

                    3. Killdisk樣本分析

                    將自身復制到系統盤windows目錄下,重命名為svchost.exe文件,BlackEnergy的作者還真是對svchost情有獨鐘。

                    p14

                    病毒創建一個名為Microsoft Defender Service的服務,使用該名稱用來欺騙用戶,看似正常的系統安全服務程序,通過該服務,啟動病毒拷貝自身到Windows目錄下的svchost.exe文件,啟動命令行是svchost.exe -service

                    拷貝自身到windows目錄下的代碼:

                    p15

                    創建服務代碼:

                    p16

                    創建并啟動服務成功:

                    p17

                    調整進程令牌,提升進程權限,使病毒程序具有關機和修改系統目錄文件的權限。

                    p18

                    p19

                    執行病毒服務函數:

                    p20

                    打開主硬盤PhysicalDrive0,將硬盤前2560個扇區的數據全部清零,破壞硬盤MBR和文件分配表等系統啟動的核心數據。

                    打開主硬盤設備:

                    p21

                    從MBR扇區開始,循環執行256次,清除256個扇區的數據:

                    p22

                    以上操作一共執行了10次,10*256共計2560個扇區的數據

                    從根目錄開始遍歷磁盤目錄下的指定類型的文件,創建多個線程,將遍歷到的指定類型的文件內容全部清0。

                    病毒主要清除的文件類型列表:

                    p23

                    創建新線程,開始遍歷文件:

                    p24

                    掃描所有指定類型的文件:

                    p25

                    p26

                    p27

                    打開文件,將文件內容全部填充為0:

                    p28

                    WriteFileZeroByte函數內容:

                    p29

                    終止系統進程lsass.exe和wininit.exe,并且記錄日志,通過執行shutdown命令,重啟電腦,由于系統MBR、文件分配表等信息都被破壞,系統重啟后奔潰,無法修復

                    終止lsass.exe進程:

                    p30

                    終止wininit.exe進程:

                    p31

                    執行shutdown命令,重啟系統

                    p32

                    由于系統關鍵文件被清空,導致重啟后無法正常工作,整個攻擊流程攻擊完成。

                    0x04 防御思考


                    云端拉黑md5,殺毒引擎增加靜態特征,IDS、IPS等系統上封住已知的遠程服務器ip或者url,如果這些就是我們全部防御策略的話,那么下一次當我們的安全產品面臨類似于BlackEnergy這樣的攻擊的時候,注定是脆弱的。

                    以攻擊的第一步XLS為例,即使不使用office 0day,簡簡單單的宏病毒就可以達成目的。在這個入口點的防御上,使用動態分析要比靜態掃描合適一些的。對于宏腳本加密的樣本來說,不停地變換加密算法對靜態掃描造成了太大的干擾,而動態分析技術則無懼加密變形等對抗手段。

                    這是哈勃文件分析系統(http://habo.qq.com/)對攻擊源頭的xls文件的分析結果。

                    p33

                    p34

                    這是哈勃對第一個dropper文件vba_macro.exe的分析結果。

                    p35

                    這是哈勃對偽裝wordpad釋放并加載驅動樣本的分析結果。

                    p36

                    這是哈勃對killdisk惡意樣本的分析報告

                    p37

                    樣本加殼,數據加密已經成為黑客和木馬作者的必修功課,在這種情況下傳統的靜態掃描越來越難以獨自扛起系統防護的大旗。動態行為分析很可能成為一個備選的解決方案,即使是因為用戶體驗的因素而采取異步分析,也能為威脅感知和威脅情報提取提供重要幫助。

                    哈勃動態分析系統還在摸索中前進,但在不久的將來,類似的動態分析系統很有可能成為企業安全防護系統中一個重要的環節。

                      <pre id="vvttv"><mark id="vvttv"><progress id="vvttv"></progress></mark></pre>
                      <pre id="vvttv"></pre>

                        <p id="vvttv"></p>

                            <p id="vvttv"></p>

                                  <p id="vvttv"></p>

                                  <pre id="vvttv"><cite id="vvttv"><progress id="vvttv"></progress></cite></pre>

                                    <output id="vvttv"><dfn id="vvttv"><th id="vvttv"></th></dfn></output>

                                      <p id="vvttv"></p>

                                      这里只有精品视频