Noriben 恶意软件分析沙盒
联系方式: @bbaskin 在 Twitter 上 brian _at_ thebaskins _dot_ com
Noriben 是一个基于 Python 的脚本,与 Sysinternals Procmon 协同工作,能够自动收集、分析并报告恶意软件的运行时指标。简而言之,它允许你运行一个应用程序,按下按键,即可获得该样本活动的简明文本报告。
Noriben 不仅能像沙箱一样运行恶意软件,还能在你以特定方式手动运行恶意软件(例如需要不同命令行选项或用户交互)时,记录系统范围的事件。或者,在你使用调试器逐步执行应用程序时观察系统行为。
虽然 Noriben 是为分析恶意软件而设计的,但它也被广泛用于审计常规软件应用程序。2013 年,Tor 项目使用它提供了对 Tor 浏览器套件的公开审计。
以下是调试一个虚拟机检测型恶意软件(因鼠标指针偏移5像素导致误点击 :))但仍能获取沙箱结果的视频。
Noriben 仅需要 Sysinternals 的 procmon.exe(或 procmon64.exe)即可运行。它无需预先过滤(尽管预先过滤会大有帮助),因为其中包含大量白名单项,以减少系统活动带来的无关噪声。
更详细的说明,请查看我在 Black Hat 2015 Arsenal 的幻灯片。以及更详细的博文: http://ghettoforensics.blogspot.com/2013/04/noriben-your-personal-portable-malware.html
我还包含了一个备受期待的前端操作器 NoribenSandbox.py。该脚本允许你在客户虚拟机中自动化执行 Noriben 并取回报告。它目前运行在 OSX 上(但将进行移植),负责:启动预定义的虚拟机及快照、将恶意软件复制到虚拟机、启动 Noriben 和恶意软件、等待预定时间、将结果以 ZIP 形式复制到主机,并截取虚拟机的屏幕截图。你甚至可以使用 --update 自动从主机复制最新的 Noriben,这样当你修改脚本时,无需持续创建新的快照。
想看看实际操作吗?
如果你有一个包含 YARA 签名文件的文件夹,可以使用 --yara 选项指定。每次创建新文件时,都会对照这些签名进行扫描,并在输出结果中显示扫描结果。
如果你拥有 VirusTotal API,将其放入名为 "virustotal.api" 的文件中(或直接嵌入脚本),即可自动向 VT 提交 MD5 文件哈希,获取病毒检测结果的数量。
你可以添加 MD5 列表来自动忽略(例如你的所有系统文件)。使用 md5deep 并将它们放入文本文件,然后使用 --hash <文件> 读取。这些内容最终会记录在变更项下。
你可以自动化脚本用于沙箱环境。使用 -t <秒数> 指定自动化执行时间,并使用 --cmd "路径\exe" 指定恶意软件文件,即可自动运行恶意软件、复制结果,然后恢复快照以运行下一个样本。
--generalize 功能会自动将绝对路径替换为 Windows 环境路径,以便更好地开发 IOC。例如,C:\Users\malware_user\AppData\Roaming\malware.exe 将自动解析为 %AppData%\malware.exe。
用法:
--===[ Noriben v1.7.2
--===[ @bbaskin
用法: Noriben.py [-h] [-c CSV] [-p PML] [-f FILTER] [--hash HASH]
[--hashtype {MD5,SHA1,SHA256}] [--headless] [-t TIMEOUT]
[--output OUTPUT] [--yara YARA] [--generalize] [--cmd CMD]
[-d]
可选参数:
-h, --help 显示此帮助信息并退出
-c CSV, --csv CSV 重新分析已有的 Noriben CSV 文件
-p PML, --pml PML 重新分析已有的 Noriben PML 文件
-f FILTER, --filter FILTER
指定备用的 Procmon 过滤器 PMC
--hash HASH 指定哈希白名单文件
--hashtype {MD5,SHA1,SHA256}
指定哈希类型
--headless 处理后不在虚拟机中打开结果
-t TIMEOUT, --timeout TIMEOUT
收集活动所需的秒数
--output OUTPUT 存储输出文件的文件夹
--yara YARA 包含 YARA 规则的文件夹
--generalize 将文件路径泛化为环境变量。默认:True
--cmd CMD 要执行的命令行(用引号括起来)
-d, --debug 启用调试
Brian Baskin <填入你的名字> <欢迎文档编写者!>
Copyright 2015 Brian Baskin
根据 Apache License 2.0 版本(“许可证”)授权; 除非遵守许可证,否则不得使用本作品。 你可以在 LICENSE 文件中获取许可证副本,或访问:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件均按“现状”分发,不附带任何明示或暗示的保证或条件。请参阅许可证以了解管理权限和限制的具体语言。