ClamAV
打造属于自己的恶意软件分析特征库。
特征库主要包括
HASH匹配、
文件内容特征库、
逻辑特征库、
二进制特征码(SHELLCODE)、
ASCII特征码。
0x01 ClamAV部署
实验环境
所有实验均在Kali Linux V1.0.9操作系统上。
安装clamav
其他环境
其他环境请参考如下URL: http://www.clamav.net/doc/install.html
0x02 ClamAV恶意软件特征库
特征库位置
特征库默认安装位置在/usr/lib/clamav/目录下,main.cvd即是主要特征库,daily.cvd则是每日增量式更新的特征码库。
Windows一般在C:Program FilesClamAVdatabase。
解压特征库
特征库解释
后缀名称
包含内容
main.ndb
十六进制特征码
main.mdb
Windows PE恶意软件文件的MD5哈希值
main.hdb
已知的恶意软件文件的MD5哈希值
4.查看及更新
命令:sigtool -l main.cvd
更新:freshclam
0x03 构造属于自己的恶意软件特征库
在所在名录shift+右键-在此处打开命令窗口
命令:clamscan(扫描当前目录)
命令:clamscan -r -i C:vir(扫描目录及子目录)
构造MD5库
a) 生成md5哈希库
b) 利用1.hdb来查杀
构建文件内容特征库
a) 查找特征码
首先利用IDA PRO-View-OpenSubView-Strings来查看恶意软件的特征码。
找到一个kerne132.这里它用数字1来代替l,令kerne132看起来想kernel132
6B 65 72 6E 65 31 33 32
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
十六进制匹配
下面我们构造特征码:
VirTest:0:*:6B65726E65313332
我们查杀一下:
命令:clamscan -d 2.ndb Lab01-01.exe
yara简单使用
rule ExampleRule
{
strings:
$my_text_string = "kerne132"
$my_hex_string = {6B 65 72 6E 65 31 33 32}
condition:
$my_text_string or $my_hex_string
}
一些有用的网址
卡饭论坛
精睿论坛
吾爱破解
国外
国内