歡迎光臨
每天分享高質量文章

一個帶簡單密碼的病毒分析

來自:信安之路(微信號:xazlsec)

作者:陳十一(信安之路病毒分析小組成員)

病毒檔案基本信息

檔案名:lab09-01.exe

MD5:B94AF4A4D4AF6EAC81FC135ABDA1C40C

VT報毒情況:

是否加殼:

從上圖可以看出它並沒有加殼。

基本靜態分析、動態分析

1、使用 strings 查看程式的字串

分析有用的字串,大致猜測該病毒的功能,此病毒有請求域名服務器、註冊服務、修改字串、呼叫 cmd 命令列執行程式等功能。

2、分析匯入表

a:匯入的 DLL

b:分析 dll 中的匯入函式分析病毒功能

1) ADVAPI32.DLL

可以看出此病毒對註冊表、服務進行操作

2) SHELL32.DLL

執行指定的檔案

3) WS2_32.DLL

雖然通過序號匯出,但是 Dependency Walker 下麵也給出了該dll的序號對應的函式名,進行網絡的操作

3、通過Process Monitor與Process Explorer查看運行病毒後的行為

打開兩個軟體,設置好過濾,運行病毒

運行這個病毒後,只抓取到了病毒讀取了一些註冊表項,就刪除了自己,並沒有做其餘得操作,從前面在字串猜測運行此病毒要用到,-in 、-cc、-re引數等

三、程式流程

四、使用 IAD pro 與 OD 進行分析

首先來到 main 函式,如圖:

分析如果不帶引數得情況,則執行 401000 函式,函式得功能是打開註冊表,判斷鍵 SOFTWAREMicrosoft XPS  是否存在 Configuration, 沒有傳回 0,有傳回 1

如果傳回為 0 得話,呼叫 402410,如圖,惡意代碼獲取到自己得路徑,拼接命令,將自己刪掉,然後退出程式了。

打開 OD,看看惡意病毒拼接得命令如圖:

如果傳回值為 1,則表明惡意程式被安裝過,執行後門功能。(後面分析)

如果帶引數則將最後一個引數當作引數傳入函式 402510 中,在函式 402510 中首先判斷長度是否為 4,然後在判斷第一個字符是否為‘a’如圖:

接下來依次判斷剩下得三個字符是否為 bcd,如果都匹配成功得話,傳回 1,匹配失敗則傳回 0,所以惡意樣本會判斷給的最後得引數是否是 abcd,如果是才繼續進行下一步:

如果不是 abcd 則執行 401420 函式將自己刪掉。接下來惡意程式分析倒數第二引數是什麼,圖中是提供得全域性得字串:

可以看到惡意病毒提供得命令,然後依次匹配引數是否是:-in、-re、-c、-cc下表是對應得命令執行函式:

如果引數是 -c,修改註冊表,如圖:

如果引數是 -cc 則在命令列視窗打印惡意病毒得安裝信息:

如果引數是 -re 則把創建得服務卸載掉,刪除自己得備份檔案、刪除註冊表值如圖:

如果引數是 -in,則安裝後門,如圖:

其中使用 OD:

創建了一個自啟動服務,啟動程式是 %SYSTEMROOT%system32Lab09-01.exe(病毒將自己拷貝到了那個目錄下)

下麵分析程式得後門功能,後門是在不帶引數運行惡意程式的時候,惡意程式判斷註冊表值,若存在對應得鍵值則執行,如圖:

函式 402020 如圖:

從函式 0x401E60 的傳回值獲得命令,來比對是否是 SLEEP、UPLOAD、DOWNLOAD、CMD、Nothing

下表為命令與對應執行函式:

分析函式 0x401E60,惡意程式訪問遠程主機,然後傳回資料搜索得到相關命令,如圖:


編號805,輸入編號直達本文

●輸入m獲取文章目錄

推薦↓↓↓

 

Web開發

更多推薦25個技術類微信公眾號

涵蓋:程式人生、演算法與資料結構、黑客技術與網絡安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

    赞(0)

    分享創造快樂