谁能推荐一种工具来防止恶意软件在Windows x64上自行删除?目的是收集整个感染过程的所有组件。

我看过CaptureBat,但其驱动程序仅为32位。
我还考虑过使用文件恢复实用程序。

评论

无需使用第三方工具。您可以只使用ACL。请参阅serverfault.com/questions/285058/…

好,谢谢。我将尝试使用它,但如建议的帖子中所述,它可能会使应用程序崩溃,甚至阻止其通过“所需”路径执行。不过,我对不会干扰程序流程的东西更感兴趣。

手动修补可执行文件如何?

这是一种方法,但需要发展。或者,如果您的意思是通过使用调试器,那么它也不是直接的。现在看来,我最终将需要开发自己的工具:)

那你弄脏了手吗?我正需要您的要求,我正在分析一种会自我删除的恶意软件。我使用sleuthkit fls创建了取证时间轴,但是没有删除文件的痕迹。可以进行文件雕刻,但很耗时,因此我也在寻找与x32捕捉棒一样实用的东西。

#1 楼

我可以想到几种方法。

首先,您可以使用Cuckoo Sandbox。它是一个自动化的恶意软件分析系统。它是开源的,其模块是用Python编写的。要引用该网站:


恶意软件!撕开它,发现它的来龙去脉并收集可行的威胁数据。 Cuckoo是领先的开源自动化恶意软件分析系统。


非常令人兴奋,不是吗?我相信,它将默认捕获丢失的文件。将恶意软件样本提交到Cuckoo Sandbox并完成分析后,用户将获得分析报告。分析报告的某些子目录将包含Cuckoo能够转储的文件。有关更多信息,请查看Cuckoo的分析结果页面。

此外,您可以创建自己的自定义模块来处理丢弃的文件。什么是处理模块?每个Cuckoo Doc网站:Cuckoo的处理模块是Python脚本,可让您定义自定义方式来分析沙箱生成的原始结果,并将一些信息附加到稍后要使用的全局容器由签名和报告模块使用。您可以根据需要创建任意数量的模块,只要它们遵循预定义的结构即可。


我敢肯定还有其他自动沙箱。但是,您必须记住,不能100%保证沙箱能够像在现实环境中一样执行恶意软件。

第二种方法。您确实需要知道如何删除删除的文件才能使用此方法。我已经在上面的评论中提到了它。您还可以修补可执行文件。假设使用DeleteFile()。如果无法修补恶意软件,则可以在系统范围内挂接DeleteFile()函数。它是用于删除文件的标准Windows API。此功能由Kernel32.dll导出。关于系统范围的钩子或全局钩子及其实现方法的文章很多。在这里我不会详细介绍。但是,有一件事值得一提,您必须确保通过返回适当的值来将恶意软件“欺骗”到“思维”文件中确实将其删除。这就是为什么直接使用ACL可能会出现问题。如果恶意软件检查DeleteFile()的返回值(或用于删除已删除文件的任何内容)并得到ERROR_ACCESS_DENIED怎么办?它很可能会将其从常规的“所需”执行路径中转移出来。

另外,这里还有调试器,可以帮助您使此过程变得半自动化。仅举几例:Immunity Inc.的Immunity Debugger。它使用非常受支持的Python API进行自动化和脚本编写。还有其他选择。

最后我想说的是,你绝对正确。您可能需要研究创建自己的小工具。没有“万能的”解决方案。一些自动化解决方案可能比其他解决方案更好。您将不时地进行挖掘。记住,“肮脏”的手会使您对“窗帘”背后发生的事情有深刻而深刻的理解。我个人很喜欢这种参与,并认为这是一次非常不错的学习经历。

评论


非常感谢您的解释!因此决定,我将尝试开发这样的工具,我需要考虑如何做,我也完全理解您对获得“肮脏”手感的热情,我也喜欢这样做。

– PhoeniX
13年6月18日在20:42