我经常在我的环境中遇到受感染的设备,并且想了解更多有关已进入的特定感染的信息。我可以使用哪些最佳工具和技术来做到这一点?我正在考虑拍摄设备的图像并创建一个虚拟机,这样我就可以运行测试、杀死它并从头开始创建一个新的受感染的虚拟机。
有哪些方法可以分析受感染机器中的恶意软件,而不仅仅是清理它?
恶意软件分析应在最好与 Internet 断开连接的 VM 中进行。这主要是为了保护您的系统,并阻止它传播(如果恶意软件具有该功能)。你也可以使用快照,或者有时你可以设置一个虚拟机从不保持状态。 VirtualBox是免费的,可以完成这项工作。VMWare Player 也是免费的,但有限制。不幸的是,不允许使用快照。
有各种工具可以帮助您进行恶意软件分析。与 Internet 断开连接有时可以阻止恶意软件执行其恶意代码。有几个沙盒工具可以侦听端口,并适当地响应网络请求,以强制恶意软件继续运行。Practical Malware Analysis 推荐的一种是FakeNet。使用 FakeNet,您甚至可以设计对专有协议和/或非标准端口的自定义响应。
Cuckoo Sandbox是一款开源工具,可以在恶意软件运行过程中提供分析报告。它可以跟踪系统调用,保留恶意软件创建的文件的副本(即使它们后来被删除),并提供整个系统的内存转储。一个非常强大的工具。
大多数恶意软件都已打包,因此您需要确保可以解压缩二进制文件、提取资源等。UPX 是最常见的。 CFF Explorer对于分析资源非常方便,并且包含一个 UPX 实用程序。您可能想查看MAMB 推荐的这5 个工具。
这些工具将让您很好地了解恶意软件在系统上所做的事情。然而,如果你需要深入了解细节,你会想要你曾经流行的IDA Pro。这主要适用于您无法强制运行的更复杂的恶意软件。一些恶意软件将在暂停的线程中启动以稍后运行。有些人只是知道您没有通过他们自己的检查连接到 Internet。所以你必须依靠反汇编来弄清楚他们想要完成什么。
其他有用的工具,调试器。 Windbg或Ollydbg是最常见的两种,但有很多选择。允许您在运行时附加到恶意软件,设置断点,检查内存等。
您可以使用 Moonsols DumpIt 拍摄内存图像并使用 Volatility 分析图像。您还可以使用 Mandiant Redline 来收集内存映像,并对可能出现的问题进行一些通用分析。
如果你有一个 tap 或 span 端口设置,如果你正在做完整的数据包捕获,你可以返回并分析数据包。
您可以使用自动运行、进程浏览器和进程监视器等 sysinternals 工具来快速了解正在发生的事情。
一旦您能够隔离恶意软件,您就可以将其复制并在诸如 malwr 之类的沙箱或您提到的安全 VM 中运行它。我建议您阅读《实用恶意软件分析》一书,了解如何安全地设置 VM 以及用于动态和静态分析的工具。