用于恶意软件分析自动化的调试模块
关于如何使用Lupo的详细步骤(含图片和说明),请参阅这篇文章:https://medium.com/@vishal_thakur/lupo-malware-ioc-extractor-cc86ae76b85d
在处理涉及恶意软件的安全事件时,我们经常遇到需要自动化部分分析过程的情况,因为完全手动分析往往由于多种因素(时间、技能、规模等)而无法针对每个案例都进行。
我编写Lupo主要是为了尽可能自动化和加速这一过程。Lupo是一个动态分析工具,可以作为调试器的一个模块使用。第一个版本适用于流行的Windows调试器——WinDbg。未来我将发布其他调试器的版本。
该工具的工作方式非常直接。你将Lupo加载到调试器中,然后执行它。它会运行恶意软件并收集预定义的IOC,然后将其写入磁盘上的一个文本文件。然后你可以利用这些信息来遏制和消除恶意软件活动,或者只是处理你正在应对的安全事件。

我将对工具本身提供更多细节,但不会过多涉及内部工作机制,至少这里不会。我们需要记住,恶意软件作者足够聪明,能够快速调整代码给我们制造麻烦!
该工具用C++编写,并使用Windows调试框架执行代码。它可以作为'插件'与WinDbg一起使用,以帮助自动化分析过程。
如果您想了解更多关于该工具的信息,请随时联系我或在下面评论。
从此仓库下载所有DLL文件。 您还需要所有VC++依赖项,最简单的方法是安装Visual Studio(社区版即可)并选择所有C++组件。
使用该工具非常简单。其工作方式如下:
将Lupo扩展保存到您的扩展目录(默认:安装目录的sdk\samples\exts子目录)。您也可以使用命令'.extpath[+] [Directory[;…]]'来定义扩展路径。
启动调试器
附加要调试的进程(此处为恶意软件)
使用'.load'命令加载Lupo。
使用此命令执行Lupo:'lupo.go'
所有结果将显示在控制台中,并同时写入磁盘上的一个新文本文件。该文本文件的路径和名称也会在控制台中显示。完成!
您可以选择将Lupo的结果与我编写的另一个工具——Ragno一起使用,通过聚合OSINT来推进您的研究和响应,以了解您可能正在应对的活动更广泛的影响。 您可以在另一篇文章中了解Ragno:https://medium.com/@vishal_thakur/introducing-ragno-ioc-multiplier-9b75834353bb