zoukankan      html  css  js  c++  java
  • 构建属于自己的恶意软件特征库

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

  • 相关阅读:
    Android四大组件--事务详解(转)
    Android课程---关于数据存储的学习(3)之数据库和事务
    初学DW资料——js的prompt的返回值
    初学DW资料——target=的理解
    初学JAVA资料——链表
    初学JAVA资料——哈希表
    初学JAVA资料——线程
    初学JAVA——代码练习(验证字符串结束字符)
    初学JAVA——代码练习(数学运算)
    初学JAVA——代码练习(字符串)
  • 原文地址:https://www.cnblogs.com/amoy9812/p/9817812.html
Copyright © 2011-2022 走看看