欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

在Microsoft Azure中使用Empire设置域前置

来源:本站整理 作者:佚名 时间:2019-04-01 TAG: 我要投稿

域前置技术曾经风靡一时。至今,红队人员和恶意运营商仍然在使用这种技术。最近读到了两篇文章,又重新激起了我对域前置的兴趣,一篇是digininja写的比较详细的博客,还有一篇是推特上的@rvrsh3ll大神写的文章。
本篇文章没有什么新的研究和发现,因为网上有太多文章和资源详细讲解了如何对Empire和CobaltStrike设置域前置了。这里我想写一篇关于在MicroSoft Azure中使用Empire设置域前置的文章,因为目前我在网上好像还没有看到这方面详细的设置。我们将会从CDN开始讲起,这对于理解域前置技术是尤为关键的。
内容分发网络(CDNs)
CDNs只是一个全球服务器网络,它根据访问者的地理位置向访问者发送网站的内容。CDNs为全球企业提供了多项优势,如防御DDos攻击,防止流量激增,有利于做SEO优化,可靠而且实惠。
域前置介绍
从某个层面来说,域前置其实是CDNs的一个特征。它可以用来传输C&C流量到原本被出口过滤器阻止的目标源。攻击者控制的终端域名又只能在建立了加密HTTPS连接之后进行通信。但是攻击者可以修改host头,这个很简单,这样CDN就可以将看似可信网站流量转发到他们的C&C服务器了。
技术细节
当大型可信服务提供商使用包含公共HTTPS域和目标HTTPS域的共享SNI证书时,这种技术就应运而生了。当边缘服务器(如azureedge.net)接收到这种流量时,数据包将被转发到在数据包主机头中指定的原始服务器(如darthmalicious.azureedge.net)。然后,原始服务器将会直接转发流量到一个指定的域,这里我们将指向我们的Empire实例中。在红队wiki技术中,我们可以看到这个非常不错的案例,如下图:

真实场景使用案例
域名前置通常在审查严格的国家被政治活动家用来绕过审查制度。这通常都是通过社交媒体聊天APP完成的,比如Signal和WhatAPP。代理网络中也会用到域名前置技术,比如Tor浏览器。在信息安全领域中,恶意攻击者和白帽子们都会使用这种技术。AWS的CloudFront通常是域名前置的首选CDN,不过这里我们会使用Microsoft Azure。使用域名前置技术要谨慎,考虑周全,因为它有可能违反服务提供商的条款和条件。
设置Azure
在Azure CDN上进行设置非常简单直接。仅仅只是需要一点耐心就行。Azure关于CDN的文档非常详细完整,还有推特大佬@ch1gg1ns的一篇博客也给了我极大的帮助。我们首先进入Azure portal,然后通过创建新CDN配置文件和CDN终端来启动CDN服务。在左上角,选择“Create a resource”。

然后选择web,选择CDN。

现在进入到CDN配置文件面板,我们现在可以创建一个CDN资源,并为这个资源创建一个终端。

成功创建之后,我们会接收到下面这个通知。

下面的部分,大家就需要耐心点了。创建CDN和终端之后,我们需要等待差不多90分钟,这个终端才能在整个CDN中传播。我们需要更新终端的缓存设置,让我们的CDN不会像正常的CDN行为那样来缓存流量。这样我们就可以用它来作为通信通道。修改你的缓存行为和查询字符串缓存行为来绕过,这一步到这里就完成了。

在继续讲解之前,我们需要解释一些事情。
CDN终端名称将位于HTTP请求中的Empire主机头通信配置文件中。这个名称会指向我们的安装了Empire的C2服务器。你可以让这个请求更加合法。
源主机名是你的C2服务器的IP地址或者是DNS名称。它就会将CDN连接到你的资源,然后使域名生效。
在Azure域名中查找可前置的域名
当我们的CDN在传播时,我们找一个容易记住的域名隐藏起来,这个域名对于我们的CDN也是有效的。这里有一篇关于查找可前置的Azure域名非常不错的文章。不过,我的方法略有不同,使用的是@rvrsh3ll大佬的查找可前置域名的脚本。这里我们会使用watcocdn1.azureedge.net这个域名。
测试CDN
为了测试我们的CDN通信是否正确设置,我们将使用我们已经正在运行的Empire实例。不管是直接访问,还是通过我们刚才创建的CDN来访问,Empire实例的响应应该是一样的。当通过CDN访问时,我们需要将主机头设置为我们之前创建的CDN终端,具体操作如下:
root@kali:~# curl -k https://[redacted].com
 
 
 
root@kali:~# curl -k --header "Host: darthmalicious.azureedge.net" "https://watcocdn1.azureedge.net/"
 
设置Empire
这个也是比较简单的。我们设置监听主机为Azure前置域名(在这里是watcocdn1.azureedge.net),然后我们在默认配置文件中添加一个自定义头,指向我们的CDN终端名(比如darthmalicious.azureedge.net),监听器的配置如下所示:

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载