我只是以业余爱好玩过metasploit,但想知道实际的测试人员和/或黑客是否真的使用metasploit进入系统,还是完全编写了自己的后期开发模块或自己的程序?

我问的原因是因为metasploit似乎无法有选择地清除Windows事件日志等,或者也许我找不到它。(我能找到的最近的是clearev,但这很简单清除掉所有不是很偷偷摸摸的东西)此外,即使它能够有选择地清除事件日志,在环0中也会有类似预取队列的地方,在这里取证将能够从系统映像中找到我所做的事情。 。

评论

笔测试人员不仅使用Metasploit,而且在许多情况下,这是他们唯一知道的操作方法。

在渗透测试中擦拭日志有什么意义?除非您要进行Redteam评估。

#1 楼

就取证而言,Metasploit具有专门设计的有效载荷,以使取证分析的工作更加困难。例如,默认情况下与很多利用模块一起选择的最著名的有效负载是抄表器有效负载。它完全在内存中运行,并且不会触摸磁盘进行任何操作(除非用户特别要求)。这意味着在预取文件夹或磁盘上的任何其他位置都没有证据。

您不必清除所有事件日志。您可以通过Meterpreter脚本event_manager选择性清除所需的任何事件日志。

Meterpreter有一个名为timestomp的工具,可以将硬盘上任何文件的修改,访问,创建和执行时间更改为任何任意值。您可以使用sdel(安全删除)模块安全擦除所有文件,该模块不仅安全擦除文件内容,而且在删除之前将文件重命名为随机的长字符串,这样不仅可以对内容还可以对文件元数据进行取证恢复同样非常困难。

现在,您将了解实际攻击中实际恶意攻击者对Metasploit的使用的第二部分。有报道称,Metasploit被用于对伊朗核设施的攻击之一。您不经常看到Metasploit的原因是该产品的开源特性。由于漏洞利用程序和有效负载对所有人都可用,因此默认情况下,每个安全产品(例如防病毒,IDS / IPS等)都将这些文件视为恶意文件。国防工业已经达到某种程度,即使使用Metasploit创建了一个完全良性的文件,几乎所有的AV解决方案都可以检测到它。生成一个空的有效负载,例如:

echo -n | msfencode -e generic/none -t exe > myn.exe


将其上传到VirusTotal,您将看到超过一半的AV解决方案将其检测为恶意。可以在Matt Weeks的博客上找到更多详细信息。

通过这种行为,由于很高的检测率,因此攻击者不会冒用Metasploit进行实际攻击的风险。可以轻松自定义模块,并且通过Metasploit绕过AV和其他安全控制也很容易。但是,此时很难确定有效负载是从头写入的还是Metasploit模块已被修改。因此,很难确定到底有多少攻击者在其操作中使用或继续使用了Metasploit。

评论


下次,建议您不要使用novirusthanks(单击“不分发”框),否则AV将获取您的恶意软件样本,并在几天之内将其检测到。

– k1308517
16年4月8日在9:06

目的是让读者知道,几乎所有的AV都将与msf相关的任何内容视为恶意内容。同样,上面的myn.exe也不是用户在活动期间将使用的实际有效负载。它只是一个虚拟的有效负载,除了使用默认的解码器和exe模板外,没有任何内容。

–void_in
16年4月8日在10:31

#2 楼

我不了解恶意攻击者/黑客,但我知道几个渗透测试者(包括我自己),在他们的工具箱中包含Metasploit。到目前为止,它并不是唯一使用的工具,但肯定有其用途。话虽这么说,您的问题似乎与“发现自己的足迹”有关,这自然对恶意攻击者更有用。在我的笔下约定中,我们很少篡改日志,除非检测到日志篡改是“蓝队”目标之一。 (然后我们执行此操作以查看是否被检测到。)

#3 楼

是的,测试者确实使用Metasploit。使用自定义exe模板和shikata_ga_nai,您几乎可以欺骗几乎所有的AV解决方案(使用Google for AV evasion以了解更多信息),而meterpreter有效负载确实很容易升级Windows域中的特权。

话虽这么说,Metasploit只是众多工具中的一种,一个优秀的pentester应该知道并使用正确的工具来完成正确的任务。

当目标不被发现并且使SIEM系统傻瓜时,清除事件日志中的特定条目可能会有助于渗透测试。但是,仅因为Metasploit(到目前为止)缺少此功能,并不意味着您不能使用已经存在的所有有用模块。

关于自定义工具包,我想那会是使用Metasploit或简单地编写自己的利用后模块(例如选择性事件日志删除)更有效。

这就是开源软件的魅力。

评论


小附加说明:不应使用shikata_ga_nai(或任何其他编码器),以避免使用AV软件。它经常工作,但是编码器主要是为了避免出现坏消息等。Metasploit Pro实施了一种真正的防病毒规避技术,可以生成真正的随机程序。

– Stolas
14年6月11日在8:47

我不明白为什么我不应该使用shikata_ga_nai来避免AV Software吗?如果我不需要Metasploit Pro,又不想为此而买单,为什么我不应该只使用shikata_ga_nai?您是否有任何特定原因导致这样做不好?

– Sebastian B.
2014-09-19 14:04

好吧,它(可能)会被您未准备好的启发式方法检测到。创建“无法读取”的代码只会愚弄愚蠢(大多数AV都是愚蠢的)安全产品。但是他们大多数会检测到文件可能已“关闭”。如果对它进行编码,则熵将变高。这将导致“捕获”“今天”“病毒”。但是,如果您制定了更好的随机程序,那么同样会触发同样的条件,因为抄表员被检测到的机会要低得多。从外观上看,它像一个普通程序。

– Stolas
2014-09-19 18:24



shikata_ga_nai已被AV检测很长时间了。编写自己的编码器会更容易,这将更难检测。专业版可能具有出色的编码器,但是对于您自己可以做的事情来说,这是很多钱。不过,如果您的工作能为您带来回报,那就太好了,因为从那时起,您将有更多时间花在实际的笔试上。

–森林
18年1月24日在13:39

#4 楼

与Rapid7(无论是商业Metasploit产品还是FOSS MetaSploit框架,又名MSF)相比,使用Immunity Security或CoreSec产品具有优势。您必须自己进行测试,但这主要与能够运行固定漏洞利用程序和组织计划/结果有关。据我了解,所有MSF漏洞都可以从Core IMPACT运行。但是,Metasploit不会很快消失,并且可以与任何其他工具一起使用。让我看看是否可以首先解决它的一些弱点。

在有效负载方面,MSF的功能(包括抄表器)还有很多不足之处。大多数MSF负载很容易通过AV和HIPS进行识别。默认的有效负载可执行文件实现了许多我不喜欢使用的常见Windowsism,例如标准W32库调用和依赖项。来自ImmSec的INNUENDO(和更早的MOSDEF)更好,但是MOSDEF最近也看到了一些指纹。应用程序白名单是任何植入物后门技术的另一个关注点,但这是利用MSF一部分的绕过方法。这是另一个利用Powershell的工具。许多专业人员避免使用默认可执行文件,并使用generate -t标志(或通过msfvenom)删除psh(Powershell),dll(用于AppInit注册表注入)或另一种不常见的格式。 Cobalt Strike的Beacon,其功能远远超过Meterpreter可以单独完成的工作。强烈推荐!

此外,我还听说过其他人使用诸如Throwback之类的工具来简化操作。有其他选择是很好的。我发现的另一个是ClickOnce。

当通过Web_delivery通过Powershell攻击现代Windows(Win7及更高版本,Win Server 2k8r2或更高版本)时,MSF本身甚至似乎正在走一条新路线。攻击者可以在此框架上构建基础,以便为后开发任务注入更多Powershell动作,例如:



https://github.com/mattifestation/PowerSploit-更多信息-更多信息


https://github.com/Veil-Framework/PowerTools-Veil也有它的自己的有效载荷传递系统Veil-Catapult以及许多其他方面
https://github.com/samratashok/nishang
https://github.com/clymb3r/PowerShell
https://github.com/PyroTek3/PowerShell-AD-Recon
https://github.com/leechristensen/UnmanagedPowerShell

https://github.com/trustedsec/unicorn(以及TokenHunter和PasswordHunter的更多功能)
https://github.com/roo7break/PowerShell-Scripts
https://github.com/nullbind/Powershellery
https://github.com / enigma0x3?tab = repositories

MSF模块web_delivery也可以传递Python或PHP有效负载,并且可能会进行修改以支持其他解释器,例如Ruby。如果您想将所有内容放在一起以更深入地了解“为什么使用Powershell而不是MSF”,请参阅此博客文章-http://www.labofapenetrationtester.com/2015/04/pillage-the-village-powershell-version。 html

在Windows 10中运行Device Guard时,Powershell还要担心。

[更新]根据下面的评论之一,Metasploit Pro可以利用更强大的有效负载它们也已集成到MSF的开源版本中。如果您有Metasploit Pro,请检查辅助/专业模块的改进,例如generate_dynamic_stager。如果没有,请阅读无级抄表器有效载荷。

使用msfconsole route命令,代理链和socks4a服务器模块,可以通过Meterpreter轻松代理使用TCP(以及DNS)的工具。创建会话后,请通过其会话ID设置到其网络(甚至是本地主机,如本段的第一个链接所示)的路由。然后,运行socks4a模块,并将其配置传递给proxychains.conf文件。甚至DNS也应该适当地通过。通过Metasploit运行外部工具的方法可能不止一种。像Ruby(以及之前的Perl)一样,Metasploit是一个框架,其中“有多种实现方法”。作为开发人员,您需要整合自己的想法。使用开源软件的功能,贡献您的更改并加入社区。

评论


Meterpreter更好地用作交互式有效负载。如果是非互动式(例如长时间的广告系列),则不是很可靠。但是,自动重新连接和处理网络错误问题是当务之急,您将在接下来的几周内看到明显的改进。无级抄表器也集成在主树中。是的,Throwback非常棒。

–void_in
2015年4月10日下午4:28

Powershell现在已成为Crowdstrike的关注对象。不久之后,ClickOnce和更新的有效负载概念将迎来鼎盛时期

– atdre
15年4月24日在4:05

在运行时在内存中执行的下载模型中,它们将发挥多少作用?我已经看到这些HIPS解决方案在内存执行方面比AV更好,但仍然有很多不足之处。通过通用功能,例如从HIPS的观点来看,它所执行的操作并不是恶意的。因此,我认为我们正在做的是(要花5个月的时间,在这些方面取得很大的成功)通用有效载荷,这些载荷为用户提供了通往机器的网关,而又无需做太多事情。然后可以按需添加功能

–void_in
15年4月24日在4:26

还有这些-github.com/SherifEldeeb?tab=repositories-第三方meterpreter有效负载:ultimet(inmet)和tinymet。很有用!有什么想法吗?

– atdre
15年8月28日在17:37

是。早在ultimet和inmet问世的时候,我就对其进行了测试,但是现在内置的stageless meterpreter更好,因为它提供了连接弹性功能(如我在第一条评论中所述)。另外,由于您可以通过msfvenom从Metasploit内以原始格式生成无级的抄表器,因此您可以执行各种操作,例如手动编辑程序集或通过Veil加密有效负载

–void_in
15年8月30日在17:20

#5 楼

是的,Metasploit是行业专业人员非常常用的工具。

例如,请参见此链接。

#6 楼

是的,我确实使用Metasploit来利用以Metasploit编写的漏洞利用已知漏洞。就我而言,我们利用Metasploit只是为了证明该漏洞的风险。向客户展示风险。因此,基本上,客户端知道我们何时要利用此漏洞。