Manalyze:PE文件的静态分析工具

华盟原创文章投稿奖励计划

  另一方面的原因也是我对杀毒软件日益失望,它们不会解释为什么把某个文件判断为恶意软件。显然,大部分人需要有个杀毒软件来帮他们做决定。但我认为很多专家用户,即病毒分析人员可以使用一种能够提供尽可能多信息的工具来分析PE可执行文件,并且由他们自己来做最后的决定。

  想要查看此工具生成的样本报告,可访问manalyzer.org

  PE文件的静态分析工具

  Manalyze是用C++写的,支持Windows和Linux平台,以GPLv3协议发布。Manalyze是一款针对PE文件的强大分析器,它有灵活的插件架构,能让用户深入分析文件。它能够

  能够识别PE的编译器

  识别加壳的可执行文件

  应用ClamAV签名

  查找可疑字符串

  寻找恶意的入口组合(即 WriteProcessMemory + CreateRemoteThread)

  识别程序中密码算法(跟IDA的findcrypt插件类似)

  提交哈希值到VirusTotal

  验证authenticode签名(仅Windows)

  如何生成

  Linux 和 BSD平台(Debian Jessie 和 FreeBSD 10.2测试通过)

       Manalyze:PE文件的静态分析工具

  Windows平台

  1. 从boost.org获取Boost库,安装CMake

  2. 生成boost库

      Manalyze:PE文件的静态分析工具

  添加一个BOOST_ROOT环境变量,指向boost_1_XX_0文件夹的路径

  3. 下载安装Git

  4. https://github.com/JusticeRage/Manalyze.git&& cd Manalyze &&cmake

  5. Manalyze文件夹中应该有一个VisualStudio项目manalyze.sln。

  离线生成

  如果你要在没有网络的电脑上生成Manalyze,你要查看以下项目:

  Yara

  hash-library

  将这两个文件放到external文件夹,即external/yara和external/hash-library。然后运行runcmake . -DGitHub=OFF。

  二进制文件

  Windows x86二进制文件

  所有的二进制文件都有证书签名,指纹为:26fc24c12b2d84f77615cf6299e3e4ca4f3878fc。

  生成ClamAV规则

  由于ClamAV签名数量庞大并且更新频繁,把它们放在二进制文件里显然不合适。当你第一次使用ClamAV插件时,可能会看到这个错误信息:[!]Error: Could not load yara_rules/clamav.yara。要生成一下的话就去bin/yara_rules运行update_clamav_signatures.py。

  要更新签名的时候就运行一下这个脚本。

        用法

        Manalyze:PE文件的静态分析工具

  可用插件:

  – clamav:使用ClamAV病毒特征库扫描二进制文件

  – compilers: 尝试判断生成二进制文件所使用的编译器

  – peid: 返回二进制文件的PEiD签名

  – strings: 检测可疑字符串(anti-VM,process names…)

  – findcrypt: 识别程序中密码算法

  – packer: 检测加壳

  – imports: 检查可疑入口

  – resources: 分析程序的资源

  – authenticode: 检查PE的数字签名是否有效

  – virustotal: 在VirusTotal检查样本检测结果

  – all: 运行所有可用插件

  使用范例

  manalyze.exe program.exe

  manalyze.exe -dresources -dexports -x out/ program.exe

  manalyze.exe –dump=imports,sections –hashes program.exe

  manalyze.exe -r malwares/ –plugins=peid,clamav –dump all

  样本报告

  Manalyze:PE文件的静态分析工具

原文地址:https://hack.77169.com/201605/226537.shtm

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容