专业黑客如何在不损害自己计算机的情况下测试自己的恶意软件/病毒?

信息安全 恶意软件 病毒 虚拟化
2021-09-02 20:47:42

昨天我出于好奇http://xeushack.com/tutorials/上开始了一些黑客教程我使用 Android 应用阅读了有关“黑客”不同方式的不同文章。作者明确指出,其中一些不应该复制,因为它们基本上会损害计算机,例如著名的Zip 炸弹Fork 炸弹,甚至是Folder blaster

所以,我想知道在不损害我自己的计算机的情况下,复制这些“恶意软件”的最佳方法是什么。但我也有兴趣找到一种可以用于许多不同类型的恶意软件/病毒测试/开发的方法。

我想到的第一个解决方案是使用虚拟机,这样我就可以在安装后拍摄 VM 的快照,然后在其上执行任何操作,而不会损害真实的操作系统。但我不确定这是否是最好的解决方案,即使它是否会起作用。我想它会,但这是一个猜测。

3个回答

专业黑客如何在不损害自己计算机的情况下测试自己的恶意软件/病毒?

几乎所有的恶意软件,如果不是全部的话,都是默默无闻的。一旦你了解了它的工作原理,并且拥有了适当的技能,你就可以很容易地击败它。如果它是你自己的恶意软件和病毒,那么它真的很简单:你确切地知道你的恶意软件做了什么,以及如何打败它,对吗?毕竟,你编程了它。

虽然是的,但我总体上同意使用虚拟机,但不是 100%。没有什么是100%的。你可以感染你自己的机器,不管它们是在线的还是离线的,然后用它们做一些有趣的事情。

您可以通过许多不同的方法观察恶意软件如何与您的环境交互。以下是一些值得注意的例子:

  1. 观察文件系统和/或硬盘驱动器的所有变化。
  2. 观察记忆
  3. 调试器,例如OllyDbgIDA Pro
  4. 网络数据包捕获工具,例如Wireshark.

禁用虚拟机的互联网连接以获得最佳效果

当其他人谈论恶意软件“可能逃脱”时Virtual Machine,尽管有可能,但可能性不大。即使恶意软件可以检测到它在虚拟机中运行,这也无济于事,除非恶意软件self-destructs检测到虚拟环境。

即使没有检测到虚拟机,恶意软件也可以简单地通过假设它可能存在来尝试逃避它。因此,防止恶意软件检测到它在虚拟机内的方法可能不起作用,除非它是在检测到它时自毁的类型。

关于你提到的“攻击”,让我们看看它们的结果,假设你可以删除感染:

  1. 拉链炸弹
    • zip 炸弹,也称为 zip 死亡或解压炸弹,是一种恶意存档文件,旨在使读取它的程序或系统崩溃或失效。它通常用于禁用防病毒软件,以便为更传统的病毒创造机会。
    • 删除感染后,可以通过删除文件来消除遗留的 zip-bomb。如果你自己做这个,只需做一个清理程序。如果你不是自己做的,只需做一个清理程序。如果程序仍在强制运行,您可以重新启动。
    • 不会导致硬件出现物理问题。
  2. 叉子炸弹
    • 在计算中,分叉炸弹(也称为兔子病毒或 wabbit)是一种拒绝服务攻击,其中一个进程不断复制自身以耗尽可用的系统资源,从而导致资源匮乏并减慢或崩溃系​​统。
    • 不会导致硬件出现物理问题。
  3. 文件夹爆破
    • 与 zip 炸弹相同的概念,但带有文件夹垃圾邮件。只需编写一个例程即可删除它们。
    • 不会导致硬件出现物理问题。

更好的是,如果你有virtual testing environment,你可以通过保存感染前虚拟机的状态来自动删除它们,并在完成对输出的研究后恢复它。这是迄今为止最简单、最有效的方法。

根据恶意软件的工作方式,虚拟化可能足以控制它。通过在虚拟机中运行恶意软件,它只会在虚拟机内部造成损坏,并且只会消耗分配给它的那些资源。

然而,也有一些恶意软件要么不能在虚拟机内运行,要么即使在一个虚拟机中使用也很危险。在这种情况下,测试它的唯一方法是使用备用硬件。

一些恶意软件能够识别其何时被虚拟化,并尝试使用我见过的最有趣的策略“跳出框框思考”……有时甚至试图控制键盘。真正测试它们的唯一方法是设置一个有气隙的笔记本电脑或台式机并在其上运行,然后在完成后重新安装所有操作系统......耗时但唯一“最安全”的赌注。