构建用于恶意软件分析的手动沙箱

Building a manual sandbox for malware analysis

我想构建一个手动沙箱来分析 Windows 系统上的恶意软件。我的意思是手动环境,而不是像 Cuckoo Sandbox 这样的自动化环境。

有很多工具,我选择了其中的一些,但我真的看不出每个工具是否值得。您能说说您的想法吗?这些工具对我的沙箱是否有用?

首先,我认为其中一些是不可避免的,例如 IDA、winDBG、Wireshark、npcap、Fiddler 等 HTTP 代理、Sysinternals 套件、Volatility,也许还有 Foremost。

还有其他一些我从未真正尝试过但似乎很有趣的工具。关于静态分析,我发现了以下工具,我希望得到关于它的最终反馈:Log-MD(一种使用高级 Windows 审计策略查看系统的工具)、Cerbero Profiler、Pestudio、Unpacker (它似乎是一个解压二进制文件的自动化工具,看起来更快但我有点怀疑但我不是 RE 专家,如果你知道这个工具......),oledump.py by Didier Stevens(识别各种启发式模式、IP、字符串等元素)...

关于动态分析,我注意到 Hook Analyzer(使用启发式模式静态分析元素并允许您挂钩应用程序)、Malheur(检测 "malicious behavior")、ViperMonkey(检测 Microsoft Office 中的 VBA 宏记录并模拟他们的行为。

您对我可能忘记的设置和工具有什么建议吗?我想分析经典的恶意元素(PE、PDF、各种脚本、Office文档……)

关于恶意软件规避,是否存在恶意软件在检测 RE 和分析工具时拒绝分析的风险?

最后我应该在沙盒中使用 Internet 吗?现在大多数恶意软件都使用 C&C 服务器,我看到一些沙箱是用 iNetSim 等模拟器构建的,但由于连接不是真实的,我会丢失一些信息吗?

谢谢!

您可能需要考虑 SEE 框架来构建您的分析平台。

其基于插件的设计允许您以非常灵活的方式集成扫描工具。

请记住,许多恶意软件会检查执行环境,如果发现任何 RE 工具,它们将拒绝 运行。

关于互联网连接,这取决于你想收集多少信息。现在确实有很多恶意软件与 C&C 通信,但它们必须确保在目标机器上持久存在。

因此,即使没有互联网连接,注入机制仍然会被执行。我的 2 美分是 运行 默认情况下没有互联网,只在必要时激活它。