在 VM 中安全地构建本地渗透测试实验室

信息安全 Web应用程序 渗透测试 linux 虚拟化 owasp
2021-08-27 02:45:14

我想在虚拟机(可能是 Linux 上的 VirtualBox)中设置OWASP WebGoat或类似的易受攻击的 Web 应用程序。为了方便起见,我想让它在我使用的一台主要机器上运行(例如,一台具有互联网连接的笔记本电脑)。我意识到虚拟机并不能提供完全的安全和隔离,比如加载充满病毒的机器,但我只是想用它来学习和练习渗透测试网络应用程序。

需要做什么才能安全地做到这一点?在活跃使用的机器上运行与安全相关的“沙箱”有哪些风险(相对于专用于该目的的隔离机器)?

编辑:澄清一下,我的主要问题是关于用于渗透测试易受攻击的 Web 应用程序的 VM,而不是病毒/恶意软件分析等。

4个回答

你想要的核心心态是:

构建它,就好像它是真实的,而不是虚拟的。

你想要什么?防火墙、访问控制、日志记录等

对于运行病毒分析等的实验室,您通常会将其与网络的其余部分隔离,所以在这里也这样做。我还不知道有任何恶意软件专门设计用于突破虚拟机以破坏主机并以这种方式传播。但是,您会发现相当多的恶意软件会检测到它位于 VM 中并相应地调整其活动,这可能会妨碍分析。

在虚拟机中设置易受攻击的 Web 应用程序相对安全。风险在于攻击者可以通过网络访问该虚拟机,因此只要您限制对虚拟机的网络访问,就不会有问题。

据我了解,默认情况下 VMWare(和其他 VM 软件)将以这种方式配置。

实际上,如果您的主机在 NAT 后面运行 VM,那么您就足够安全了。攻击者无法从 Internet 访问易受攻击的 Web 应用程序,因此无需担心 - 如果他们设法以其他方式进入您的网络,那么您还有其他事情需要担心!

虚拟机非常安全,但就像我们在计算机上使用的所有其他软件一样,它们也存在错误和漏洞。

http://www.exploit-db.com/search/?action=search&filter_page=1&filter_description=vmware&filter_exploit_text=&filter_author=&filter_platform=0&filter_type=0&filter_lang_id=0&filter_port=&filter_osvdb=&filter_cve=

VMware 软件的漏洞。

此外,您总是会遇到使用技术来利用和逃避您正在使用的虚拟化软件的管理程序的恶意软件。

为了更容易设置,只需创建一个虚拟机并将其与任何其他网络分开,但是您应该注意到某些恶意软件会检测到它位于虚拟化环境中并采取相应的行为!

查看这篇文章以获得更详细的解释:http: //zeltser.com/vmware-malware-analysis/

另外: http ://www.cert.uy/documentos/pdf/malware-lab.ppt2.pdf

如果您这样做只是为了练习自己的渗透测试,那么您不需要任何安全性。一方面,你不会玩病毒。如果您进行高级渗透测试,您可能会使用恶意软件,例如 Metasploit 工具包中内置的恶意软件,但这些只是您上传到受害机器的控制程序,它们不会尝试传播(它们不会攻击您的主机机器,他们不会尝试传播到网络上的其他机器)。

一般来说,今天没有实用的病毒通过逃离沙箱来攻击主机。虚拟机沙箱在理论上是安全的:虽然有时会发现 0day 漏洞可能允许逃逸虚拟机,但一旦发现这些漏洞就会迅速修补。故意用病毒感染您的虚拟机时,主要担心的不是病毒逃逸,而是病毒检测到虚拟机并自行关闭,因此您无法对其进行分析。