構建屬於自己的惡意軟件特征庫


引自 http://blog.sina.com.cn/s/blog_e8e60bc00102vjz9.html

感謝 阿里雲安全 的分享

 

 

0x00 簡介

最近研究了一些開源的殺毒引擎,總結了一下利用ClamAV(www.clamav.net)來打造屬於自己的惡意軟件分析特征庫。特征庫主要包括HASH匹配、文件內容特征庫、邏輯特征庫、二進制特征碼(SHELLCODE)、ASCII特征碼。

 

0x01 ClamAV部署

1.       實驗環境

所有實驗均在Kali Linux V1.0.9操作系統上。

2.       安裝clamav

apt-get install clamav

3.       其他環境

其他環境請參考如下URL: http://www.clamav.net/doc/install.html

 

0x02 ClamAV惡意軟件特征庫

1.       特征庫位置

特征庫默認安裝位置在/usr/lib/clamav/目錄下,main.cvd即是主要特征庫,daily.cvd則是每日增量式更新的特征碼庫。

構建屬於自己的惡意軟件特征庫

2.       解壓特征庫

root@kali:/var/lib/clamav# sigtool -u ./main.cvd

構建屬於自己的惡意軟件特征庫

3.       特征庫解釋

后綴名稱

包含內容

main.ndb

十六進制特征碼

main.mdb

Windows PE惡意軟件文件的MD5哈希值

main.hdb

已知的惡意軟件文件的MD5哈希值

 

0x03 構造屬於自己的惡意軟件特征庫

   下面利用一個免殺木馬來構造一個特征庫。我們利用clamav發現我們自己編譯的木馬是沒有被發現的。

構建屬於自己的惡意軟件特征庫

1.       構造MD5庫

a)       生成md5哈希庫

sigtool --md5 update.exe >test.hdb


構建屬於自己的惡意軟件特征庫

 

b)       利用test.hdb來查殺

clamscan -d test.hdb update.exe

構建屬於自己的惡意軟件特征庫

2.       構造PE頭信息特征庫

a)       生成PE頭信息簽名的工具

wget http://hexacorn.com/d/PESectionExtractor.pl

b)       查看PE簽名

構建屬於自己的惡意軟件特征庫

c)       生成PE頭信息簽名

sigtool --mdb *.dat >pebase.mdb


構建屬於自己的惡意軟件特征庫

 

d)       利用生成的簽名進行檢查

clamscan -d pebase.mdb update.exe

構建屬於自己的惡意軟件特征庫

3.       構建文件內容特征庫

a)       查找特征碼

首先利用IDA PRO來查看惡意軟件的特征碼。

構建屬於自己的惡意軟件特征庫

b)       轉換成十六進制

構建屬於自己的惡意軟件特征庫


c)       利用十六進制特征碼構建特征庫

在構建特征庫之前先看一下可擴展的特征碼格式:

SigName:Target:Offset:Hex

字段

含義

SigName

特征碼唯一描述的名字

Target

0(任意文件類型)

1(Windows PE可執行文件)

2(對象鏈接和嵌入OLE)

3(標准化的HTML)

4(Email文件)

5(圖像文件)

6(Linux ELF文件)

7(標准化的ASCII文件)

Offset

文件中的偏移量

Hex

十六進制匹配

下面我們構造特征碼:

echo 'Malwareupdate:1:*:636d642e657865'>custom.ndb

 

我們查殺一下:

構建屬於自己的惡意軟件特征庫


0x04 參考文獻

http://infosec4breakfast.blogspot.com/2013/06/fun-with-clamav.html

https://github.com/vrtadmin/clamav-devel/raw/master/docs/signatures.pdf

文章來自:@cnbird2008 @阿里雲安全#鳥哥談安全#系列,轉載請注明出處。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM