20155326《網絡對抗》免考項目——深刻惡意代碼之生成惡意代碼的動態分析

20155326《網絡對抗》免考項目——深刻惡意代碼之生成惡意代碼的動態分析

在上一篇博客中,我學習了利用靜態分析工具對惡意代碼進行分析,這裏我學習了使用Process monitor、Process Explorer以及Regshot對惡意代碼運行先後快照對比對惡意代碼進行動態分析,經過查看相關進程操做、查看有關dll文件、對比分析快照數據,瞭解惡意代碼在主機上的感染目的和惡意操做是什麼。html

Process monitor介紹java

Process Monitor是一款擁有功能強大的監視和過濾的高級Windows進程監視器工具,可實時顯示文件系統、註冊表、進程/線程的活動。它結合了兩個 Sysinternals 的舊版工具 Filemon 和 Regmon 的功能,並添加了一個包含豐富的和非破壞性的普遍加強過濾功能列表,全面的事件屬性(例如會話 ID 和用戶名稱),可靠的進程信息,每一個操做的完整線程、堆棧與集成符號支持,同時記錄到一個文件中,以及更多。其獨一無二的強大功能將使 Process Monitor 在您的系統故障排除和惡意軟件檢測中發揮重要的做用。它監控全部能捕獲的系統調用 -> 容易耗盡內存;一般不用於記錄網絡行爲。git

Process Explorer介紹網絡

Process Explorer漢化版是一款加強型的任務管理器,你可使用它方便地管理你的 程序進程,能強行關閉任何程序(包括系統級別的不容許隨便終止的」頑固」進程)。除此以外,它還詳盡地顯示計算機信息:CPU、內存使用狀況,DLL、句柄信息,很酷的曲線圖。函數

Regshot介紹工具

Regshot是個簡單,實用的註冊表比較工具,它經過兩次抓取註冊表而快速地比較出答案。能夠將註冊表以純文本方式記錄下來,便於瀏覽;還能夠監察 Win.ini,System.ini 中的鍵值;還能夠監察您Windows 目錄和 System 目錄中文件的變化,爲手工卸載某些軟件創造條件。學習

惡意代碼示例在這裏哦~~~線程

基於Lab03-01.exe的分析:

簡單靜態分析

首先先靜態分析一下,用PEID分析Lab03-01,發現它已經被加了殼3d

用PEVIEW查看它的導入名字表,發現只有一個導入函數ExitProcescode

分析這裏咱們能夠看到一個相似於路徑的東西,還有一個網址,下面是一個.exe文件,最後是註冊表的鍵值。這就代表,這個惡意代碼可能可能有聯網下載的操做,在某個路徑下安裝了一些東西,也存在着對註冊表的修改。
以後就能夠開啓監視工具並運行Lab01-03.exe進行簡單的動態分析啦。

使用Process Monitor分析

使用Process monitor時,要只查看Lab03-01的進程行爲,就在過濾中選擇進程名稱——is——lab03-01。而後能夠看到它執行了不少操做

還看到它在C:\WINDOWS\system32下寫入了一個新程序vmx32to64.exe(就是以前看到的那個exe字符串)。

發現這個文件的大小和屬性都和Lab03-01是同樣的,咱們推測是惡意代碼把自身複製了一份,放到了system32文件夾下

使用Process Explorer分析

接下來用Process Explorer看看。

在進程Lab03-01中,咱們能看到與他關聯的dll文件有不少,其中ws2_32.dll、ws2help、等都是跟網絡鏈接相關的。所以能夠肯定,有網絡相關的操做。

這是它的字符串信息,和咱們在PEVIEW上看的差很少

Regshot註冊表的變化狀況

在運行Lab03-01.exe以前進行一次註冊表快照,運行以後在進行一次,並進行比較
經過快照,也能發現它對註冊表進行了修改。

網絡行爲分析

既然有網絡鏈接,咱們用wireshark抓下包看看。

發現這個程序有一個向www.practicalmalwareanalysis.com鏈接的包,以後與這個ip(192.0.78.25)有數據傳遞的包。

因此,這個惡意代碼的行爲就是,在system32文件夾下自身複製到vmx32to64.exe,而後經過修改註冊表鍵值來達成自啓動,以後也會與www.practicalmalwareanalysis.com進行網絡鏈接。

基於Lab03-02.exe的分析:

簡單靜態分析

咱們先用PE-ID來對它進行靜態分析,發現沒有加殼

用PE-VIEW查看他的導出函數。從servicemain中能夠看出多是跟某個服務有關

運行這個dll程序

對於exe文件,咱們能夠直接雙擊運行。
那麼對於dll文件該怎麼辦呢?

rundll32.exe程序是全部的Windows中包含的程序,提供了運行dll的平臺。

C:\rundll32.exe DLL name, Export arguments(須要先將dll文件放到C盤目錄下)
  • Export值必須是一個DLL文件導出函數表中的函數名或者序號。

由於惡意的DLL文件一般在DLLMain(DLL入口點)執行他們的代碼,由於不管何時被加載,DLLMain函數總會被執行,因此就能夠經過rundll32.exe來加載DLL,動態的獲取信息。

而後咱們將運行dll文件先後的快照進行對比(左邊爲運行前的快照,右邊爲運行後的快照)

發現運行dll文件後,新添加了兩個鍵,是建立了一個IPRIP服務。

運用process exporer分析

這個服務是經過哪一個宿主程序來運行的呢?咱們在process exporer中用搜索一下。

原來宿主進程是svchost.exe,還知道了它的進程號是1180

運用ProcessMonitor分析

知道了PID,那麼在ProcessMonitor中咱們就能夠根據這個PID來進行過濾啦~~~

固然,也存在網絡特徵碼。

那麼這個病毒代碼感染的跡象就是在註冊表中建立了一個IPRIP服務,而後把服務經過svchost.exe來運行。
經過抓包能夠發現,訪問的網址還是practicalmalwareanalysis.com,向其請求了一個serve.html的網頁。

基於Lab03-03.exe的分析:

簡單靜態分析

先對Lab03-03進行靜態分析。用PEID觀察到這個惡意代碼沒有被加殼。

用PEVIEW分析惡意代碼,看到裏面有字符串svchost.exe,下面可能用獲得

使用process explorer分析

打開process explorer對其進行動態分析:

打開lab03-03,能看到先出現綠色,而後瞬間出現紅色,以後lab03-03.exe消失,預留下來程序,孤兒進程svchost.exe

對比一下磁盤鏡像中的字符串和內存中的字符串,發現內存字符串存在寫入的文件名和一些鍵盤值以及進程的PID,而磁盤鏡像中沒有。

而後經過過濾進程號來觀察。

發現這個進程執行了不少寫操做,並且都是寫在practicalmalwareanalysis.log文件下。

並且發現,每進行一次輸入操做,他就多加入了一個進程。由此判斷應該是記錄了咱們鍵盤的輸入。

總結

經過Process monitor、Process Explorer以及對惡意代碼運行先後快照對比,咱們逐漸掌握了這三個惡意代碼的當心思,大多都存在網絡行爲、修改鍵值等一系列不易察覺的行爲,因此咱們更要提升自身的警覺意識,不要打開奇怪的連接、下載不是官網的軟件~~~

相關文章
相關標籤/搜索