-
-
[翻译]使用 Sharpshooter + SquibblyTwo 绕过 AMSI 防御的技巧
-
发表于: 2018-10-9 23:57 4304
-
亲爱的读者朋友,你好!今天,我将向你展示一些Red Team社区的常用工具,虽然它们被使用的次数频繁,但很少有人会去专门研究这些工具。然而,如果你是一个安全小白,或者你还没有进入安全行业,这些技术大多数看起来有点困难且啰嗦。我将在下文中为你演示这些技术并不困难,且这次演示无需借助Cobalt Strike来完成,尽管这个神器很棒。
今天我将向你展示:
*如果你对metasploit框架有疑问,我可以理解。通常来说,那些只是随机地攻击主机来获得shell的人才会比较熟悉它。它的用户数量很少,但我认为,我们不应该丢弃一个如此有用的工具。Metasploit是一个很好的工具,如果使用得当,可以提供巨大的价值,而且它是免费的!
所需技能:
我绝不认为这是我所创造的原始方法,这只是我对这种使用方法的个人理解而已,如果你想阅读这些信息的原始来源,可以从这里获取。这是一种由Mdsec的Dominic Chell开发的极好的方法,我想以一种我认为更简洁和系统的方式来重写它。其中的一些图像和视频将作为旁注出现在本文中。
在mdsec已经攥写了极好的文章的情况下,如使用Sharpshooter来生成有效载荷和使用SharpShooter v1.0进行FreeStyling,我选择写这篇文章的原因之一是因为,我假设你已经知道了如何使用文中所提到的这些工具; 如--rawscfile生成有效载荷。
在本文中,我假设你已经掌握了我以前文章中的metasploit和msfvenom的使用经验、xsl的概念(如何手动完成),以及在Linux中使用CLI的经验。
这是一种简单的方法来生成无法被检测到的有效负载,我会向你展示它是多么容易。如果你已经非常熟练,只需浏览并阅读代码部分即可,我相信大多数人只是浏览而已。
要记住的事情:
你需要使用msfvenom来完成这个任务,在其他如何使用SharpShooter的例子中,你会使用像csharp字节数组这样的东西。但在本文中,我们将使用直接shellcode。幸运的是,msfvenom会直接在一个命令中为我们做这件事。
运行以下命令:
如果你以前使用过msfvenom,那你就知道这只是使用meterpreter reverse_http有效载荷为x64架构(64bit),并生成了一个有效载荷。reverse_http有效载荷选项可帮助我们在整过程中保持更隐蔽的状态,并通过低复杂度的数据包检测防火墙。例如,某些防火墙允许“http”流量通过,这就是通过上述的防火墙。
你现在已经生成了自己的shellcode,请将shellcode.txt放在相同的目录下。如果你使用的是Arch Linux这样的发行版,默认情况下“Python”将是Python3。而在Ubuntu和Kali上,默认情况下是Python2。你可以轻松验证你是哪一个版本,只需运行命令python --version即可。
接着运行下面的命令,并使用正确的python可执行文件,对我来说,则是python2。
这行命令将为我们做很多事。首先,它将创建一个无状态有效载荷,这意味着它不会被暂存,因此在这个有效载荷中将包括其需要的一切东西。这可能存在着误导性,因为它稍后会提取一个.xsl文件,但是你只需要知道,这是一个无状态有效载荷。
第二,它将使用指定的dotnet 2,你需要确保渗透测试的目标已经安装了这个版本的dotnet,如果没有,则会失败。大多数Windows目标至少具有dotnet版本2,所以不必太担心。
接下来,我们将指定使用的有效负载类型,在这种情况下,我指定为JS,但是,我们也可以轻松地指定诸如vba的类型。
在此之后,我们将使用--smuggle函数。一些防火墙和安全软件阻止下载.js和.vba文件,这个--smuggle函数将文件包装在html文件中,并对其进行编码和加密。在页面加载时,数据将被解密和解码并保存为一个blob对象。阻止恶意扩展的垃圾邮件过滤器不再起作用。(我喜欢这个功能)。同时,我们也指定了一个模板,我们所做的一切都会使页面看起来更合法,在这种情况下,我们指定SharePoint为模板,这将使网络钓鱼HTML看起来就像是从Microsoft Sharepoint下载的一样。
现在我们来到令人兴奋的步骤,即com-staging。Com-staging是由来自Mdsec的Dom Chell创造的一个术语,为了打破它,一些Microsoft应用程序(如Outlook)开通了允许用户运行shell命令的功能,例如obj.CreateObject("Wscript.shell").run("fun commands")。这是由sharpshooter使用的,在这种情况下,它利用WMI从XSL文件中执行代码。
接下来,我们需要指定--awlurl,这将是xsl文件所在的位置。在我这里,我已经在我http://myip:8000/file.xsl中指定了,因为它默认放在output文件夹中,我将在那儿运行一个python http服务器。
cd到./output文件夹,并执行:
这将在此目录下的8000端口上创建一个基本的python web服务器。
现在,在另一个窗口中,启动Metasploit处理程序。
现在你应启动一个reverse_http处理程序。只需确保8000端口和443端口打开即可。现在跳转到http://yourip:8000/foo.html。你应该能够打开文件,并应该收到一个shell回传!
使用Sharpshooter、SquibblyTwo以及Com-staging,是目前绕过AMSI的最好方法。让我们拭目以待这个方法将持续多长时间。但是现在,我们应该在Red Team的评估和高级测试中多多使用这个方法。
在以后的文章中,我可能会开始研究MacOS安全性能等等......敬请期待!
翻译:看雪翻译小组 Logdty
校对:看雪翻译小组 lipss
原文地址:https://0x00sec.org/t/clientside-exploitation-tricks-of-the-trade-0x01-sharpshooter-squibblytwo/8178
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!