加载中…
个人资料
阿里云安全
阿里云安全 新浪机构认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:41,387
  • 关注人气:50
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

构建属于自己的恶意软件特征库

(2015-02-27 11:30:02)

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 @阿里云安全#鸟哥谈安全#系列,转载请注明出处。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有