如何绕过Web代理过滤
Brian Fehrman //
最近有人向BHIS提出了一个问题:在实施严格出口过滤的环境中如何创建C2通道。BHIS的测试人员以及整个行业的测试人员经常遇到这种情况。BHIS强烈鼓励使用出口过滤。然而,与许多其他安全方法一样,重要的是要认识到这只是整体安全拼图的一部分。
有多种方法可以绕过严格的出口过滤(感谢Beau在本节中提供的链接和见解)。在某些情况下,可以使用诸如ICMPSploit [1]之类的工具通过ICMP协议创建C2通道。DNScat是一种知名工具,利用DNS请求和响应进行C2流量传输。在本博客中,我们将只关注仅允许基于Web的流量进出环境的情况。我们将对此场景施加额外限制,并假设环境还使用Web代理过滤。越来越多的公司不仅阻止已知的不良站点,还阻止访问未获得分类的站点(例如,购物、金融、体育等)。即使在这种环境中,也有多种方法可以建立C2通道。其中一些方法包括利用Gmail [2]和Outlook [3]。通过CDN服务进行域前置也变得越来越流行[4]。
我想重点介绍一种称为域分类接管(感谢harmj0y的想法)的Web代理过滤绕过方法。我将引导您完成获取自己的分类域的过程,并讨论一些可以利用它的方式。
第一步是找到一个最近过期的域名,该域名在过期前获得了“良好”的分类。想法是,如果您在前任所有者未能续订后不久重新注册一个域名,则该域名获得的分类将保持不变。我们该怎么做呢?简单!!前往位于https://www.expireddomains.net的网站。现在,您可以在不注册任何内容的情况下使用此服务。我建议花几分钟时间注册一个免费帐户。通过注册帐户,您可以访问比匿名浏览时多得多的内容。登录后,您应该看到类似于下面屏幕截图的内容。我突出了主要感兴趣的区域。单击其中一个域后缀(例如,“Deleted .info Domains”)。.com站点可能是注册费用最高的。我通常选择.info,通常可以以每年约1美元的价格购买。
单击“Deleted Domain”后缀后,您将进入一个页面,显示最近过期的具有该后缀的域名以及大量相关信息。所有这些意味着什么?好吧,我将讨论我认为最重要的统计数据。首先,单击“Show Filter”选项。
我喜欢做的第一件事是选中“no Adult Names”框。我们在这里不做评判,但Web代理过滤器肯定会!接下来,我选中“only available Domains”框,以确保当前已注册的域名不会出现在列表中。我做的最后一个更改是将“SimilarWeb Top Country”选择为目标所在的国家/地区。这有助于减少Web代理过滤器的怀疑。一旦您对过滤器选项满意,请单击页面底部的“Apply Filter”按钮。
接下来,单击“SimilarWeb”标题以按SimilarWeb排名对过期域进行排序。本质上,数字越低,站点的“声誉”越高。应用排序后,我开始单击域的SimilarWeb评级,直到找到一个已被分配类别的域。在这种情况下,单击gtavdata.info的SimilarWeb链接显示该站点被分类为“Reference->Maps”站点。对于我们的需求来说,这似乎足够无害!
现在我们已经找到了一个合适的分类域,我们需要注册它。我建议使用https://www.namesilo.com,因为它有一个不错的界面,似乎可以保持域分类完整,并提供免费的WHOIS隐私。我们不需要托管或任何花哨的东西,只需要注册域并设置域的A记录。NameSilo还可以轻松地使用您的域设置Office 365邮件,但这是另一篇博客文章的话题。只需输入您在上一步中找到的域名并注册即可。确保选择正确的域扩展名(例如,.info、.com、.net等),否则技巧可能不起作用。
注册域名后,登录namesilo.com并转到该域的DNS设置。下面的图像序列显示了到达那里的一般步骤。
找到DNS设置后,单击列表中第一个A记录旁边的编辑按钮。将该A记录的IP地址更改为您的C2/测试服务器的IP地址,然后单击提交按钮。
接下来,删除NameSilo为您创建的另外三个默认DNS记录,以便只保留您在上一步中刚刚编辑的A记录。
现在,我们耐心等待A记录更改传播到公共。Namesilo.com似乎在大多数情况下在十五分钟内传播更改。使用您最喜欢的DNS解析工具针对新域持续检查更新。在下面的图像中,您可以看到我使用了dig来验证gtavdata.info现在指向我的C2服务器。
我通常采取的下一步是为新域生成有效的签名SSL证书。拥有用于加密流量的可信证书将增加绕过流量过滤机制的能力,有助于保护可能传输的任何敏感数据,并且还可以规避一些反病毒工具,否则这些工具会看到未加密的有效负载通过网络传输。我建议登录到您的C2服务器,然后查看Carrie的精彩博客文章,了解如何快速免费地完成此操作![5]
生成闪亮的新SSL证书后,您就可以使用分类域名进行测试了!继续阅读Carrie的文章,了解如何将您的域与PowerShell Empire一起使用。
您还可以将证书和分类域与meterpreter和metasploit一起使用。以下是使用msfvenom为我的域生成HTA有效负载的示例。
在启动meterpreter的侦听器之前,您可能希望托管您的有效负载,以便可以将其传输到测试环境中。您可能还有其他工具希望在评估时在测试系统上使用。Apache是一种利用您的证书和域的简单方法。一个建议是在系统上的/var/www/html目录中创建一个文件夹。对于此示例,我们将其称为serverfolder。
|
|
将您的有效负载文件和其他工具复制到您刚刚创建的目录。复制文件后,确保Apache服务正在运行。在下面的图像中,我已将met_pay.hta有效负载文件和PowerLine工具集(预告:即将举行的网络广播!)复制到我的serverfolder目录。
现在,您可以通过打开Web浏览器并键入https://yourdomainname.net/serverfolder来访问您的文件。
我们将做的下一个任务是为我们的meterpreter有效负载创建一个侦听器。将文件下载到测试系统后,终止服务器上的Apache服务并启动msfconsole。
发出下面屏幕截图中显示的命令。确保将handlersslcert值替换为证书文件的路径。
返回到下载有效负载的测试系统并运行它。返回到您的服务器,并享受使用分类域和签名SSL证书创建的新会话。
在Twitter上关注Brian:@fullmetalcache
致谢:Carrie Roberts、Sally Vandeven、Derek Banks、Beau Bullock、harmj0y(和APT团队)以及我可能忘记的其他人……
[1] http://www.labofapenetrationtester.com/2015/05/week-of-powershell-shells-day-5.html [2] https://github.com/byt3bl33d3r/gcat [3] https://github.com/colemination/PowerOutlook [4] https://blog.cobaltstrike.com/2017/02/06/high-reputation-redirectors-and-domain-fronting/ [5] http://www.blackhillsinfosec.com/?p=5447
Michael Horch
2017年4月13日 @ 10:31 am
我还发现,在C2服务器上托管具有另一个网页内容的网页,该网页已知在一段时间内(似乎一周就足够了)具有“良好”分类,似乎可以绕过基于分类的过滤。作为防御者,这向我们表明,我们需要限制可以从特定类别下载的内容类型。除了指定用于软件下载的类别之外,确实没有理由从任何其他类别下载可执行文件。显然有例外,但总体而言防止这种情况有所帮助。
Brian Fehrman
2017年4月13日 @ 4:52 pm
嗨Michael,
我同意这是分层安全方法重要性的另一个例子。每层都有其缺陷,但它们仍然有助于整体。在我看来,重要的是要认识到没有单层可以解决所有问题。
感谢您的精彩评论!
ReconCounts
2017年4月18日 @ 6:40 am
分类绕过非常简单,不需要所有这些步骤。使用一些侦察并识别他们的内容过滤系统。现在大多是Palo Altos。注册一个新域,向https://urlfiltering.paloaltonetworks.com/TestASite.jsp提交请求,并使用certbot。三步完成。
Brian Fehrman
2017年4月20日 @ 8:11 am
您好,
我遇到过一些环境,它们阻止没有分类或正在处理中的站点。例如,在该Palo Alto站点中输入fullmetalcache.com。您会看到它尚未分类。这并不意味着您不能通过在其上放置内容来获得分类,正如Michael指出的那样。
如果您不能等待您的站点被分类,这是一种似乎很有效的方法。
谢谢!