前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【译】使用Apache的mod重写来保护你的C2 Empire

【译】使用Apache的mod重写来保护你的C2 Empire

作者头像
安恒网络空间安全讲武堂
发布2018-02-06 14:20:26
1.6K0
发布2018-02-06 14:20:26
举报

背景

伴随着维基红色团队基础架构(Red Team Infrastructure Wiki)的发布,今年圣诞节早早来临。 它在Jeff Dimmock和Steve Borosh的惊人的红色团队基础架构介绍之后正式亮相。

在设计和保护基础架构时,我甚至无法理解维基有多高的价值,以下是我的观点:

维基强调的一个关键设计因素是在基础架构设置中使用重定向器(redirectors)。重定向(redirection)几乎可以应用于基础架构的所有功能,包括服务负载、避免IR和在其他服务器中保护你的C2服务器。损失一台C2服务器的代价巨大,所以在设计过程中使用重定向来保护和隐藏你的C2服务器应该是最重要的。Jeff Dimmock已经写了一篇详细的文章,是关于使用Apache mod重写的重定向来保护Cobalt Strike的C2服务器流量。Julian Catrambone写了一个很酷的脚本来使这个过程自动化。我在此是想浅谈重定向器和引用一些他们的伟大作品;这一次,使用Empire作为C2服务器的选项。

问题:

传统的C2服务器设置如下图所示:

问题是什么?你的C2服务器被完全暴露了,如果它精疲力竭,无力招架,那么你就别无选择只能把它全部关闭,并开始建立新的基础架构。在一场交战中,没有一个理智的笔试者/红色团队想要解决问题。解决方案是什么?C2服务器的重定向。

重定向:

总体而言,实现流量重定向可以分成2步:

哑管道重定向:

所有的通过重定向器而来的流量是转发到你的C2服务器上的。这种重定向有其优点,C2服务器的真实位置并未显示。缺点是蓝色团队还是很容易识别可疑活动,因为所有来自任何防御系统或敏感事件反应者的不必要流量将被转发到C2服务器上。如果一些C2服务器端指标有警报,那么你可能很快会发现自己在一个棘手的情况下。

条件重定向:

条件重定向允许你配置重定向器(redirector),它具有非常具体的参数,会在流量转发到目的地之前检查所有传入的流量。这意味着你可以配置你的重定向器(redirector),只允许你想要的流量传入你的C2服务器,并将所有不想要的流量重定向到你所选择的另一个目的地,比如说,那些对你的评估进行欺骗的网站。

Apache mod重写

Apache mod重写是一个强大的Apache webserver模块,它允许我们使用条件重定向来保护我们的 Empire C2服务器。Jeff Dimmock编写了一个很棒的博客专题,演示了mod重写在红色团队操作的各个阶段是多么有用。但是在我们建立重定向之前,我们需要确定我们的重定向器(redirector)使用什么条件来区分有效的C2流量和其他流量。

Empire通信配置文件:

Empire的通信配置文件允许操作人员配置他们C2流量的在线样貌。例如,操作人员可以将他们的Empire C2流量配置为貌似“正常”的网络流量,如搜索引擎流量、视频流,甚至是已知恶意行为者的异常流量。通信配置文件是Empire的等效于Cobalt Strike的可拓展C2配置文件。

已经有大量的资料涉及到了通讯配置文件和可拓展C2,所以我不会详细说明。我只是提到了它们,因为我们的重定向器(redirector)要使用通信配置文件,我们配置Empire C2服务器,以确定什么是有效的C2流量,什么不是。

综上所述,我们可以开始设置我们的重定向。

用Apache 的mod重写

实现Empire C2的重定向

先决条件:

我们需要两台服务器,即一台重定向器(Apache webserver)和一个C2服务器(Empire)。我使用的设置如下阐述:

1.安装Apache并激活mod重写功能:

一旦Apache被安装,需要在Apache配置文件中找到下面的代码块(应该是/ etc/ apache2/apache.conf)并将“AllowOverride None”更改为“AllowOverride All”。

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>

一旦编辑了Apache配置文件,就需要启用一些模块并重新启动Apache webserver。

sudo a2enmod rewrite proxy proxy_http

sudo service apache2 restart

mod重写现在应该被激活了。

2.选择一个Empire通信配置文件:

使用通信配置文件配置 Empire 的最简单方法是在你的 Empire 监听器(listener)配置中更改“DefaultProfile”属性。只要把你选择的通信配置文件粘贴到对应的模块,然后启动你的监听器。我将使用Zeus通讯配置文件。

set Host http:///192.168.56.101:80

set DefaultProfile /metro91/admin/1/ppptp.jpg,/metro91/admin/1/secure.php|Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; InfoPath.2)|Accept:*/*

注意:主机监听器的所有权应该设置为你的重定向器的IP地址或者IP域。

3.生成mod重写规则:

这篇文章详细介绍了如何生成mod重写规则来匹配你选择的可拓展C2配置文件。Empire的通讯档案的处理是相同的,所以我没有必要跳过它。我正在使用的Zeus配置文件的生成规则如下所示。

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(metro91/admin/1/ppptp.jpg|metro91/admin/1/secure.php)/?$
RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\.0\ \(compatible;\ MSIE\ 6\.0;\ Windows\ NT\ 5\.1;\ SV1;\ InfoPath\.2\)?$
RewriteRule ^.*$ http://192.168.56.102%{REQUEST_URI} [P]
RewriteRule ^.*$ http://example.com/? [L,R=302]

4.到.htaccess文件中编写规则:

一旦你有了你的规则,你就可以把它们写在你的webserver根目录的a.htaccess文件中;我是使用/var/www/html这个路径。这个站点允许你检查mod重写规则的语法,然后将其放置在a.htaccess。

注意:.htaccess文件应该被设置为644的Linux系统权限。

5.重启webserver:

接下来就是重启Apache并使新的改变生效。

1sudo service apache2 restart

6.测试

是时候看看我们的重定向器是否在工作。我用Powershell远程登陆了Windows 7 主机(192.168.56.100)。

这就是从目的地那一边的网络流量状况。

如果我们的重定向器从一个浏览到它的IP的可疑事件反应者那里接受了任何无效的C2流量,会发生什么?

它们被重定向到我们在mod重写规则指定的站点(example.com)。看起来一切正常。

Sleight - 自动重定向设置:

如果你必须做相同的事情,那么你应该把它自动化,对吗?我编写了一个凌乱的Python脚本,用来使上述过程自动化,并在未来节省一点时间。一旦你配置了 Empire C2,并为自己准备了一个服务器/ VPS作为一个重定向器,下载了Sleight,使用管理员权限运行它,为它提供一个通信配置文件,跟随提示,你应该有一个实用的Empire HTTP C2 重定向器,并立即运行。在我的任务清单上,启用 Empire HTTPS重定向。一旦我做了,我一定会写博客。下图显示了使用Comfoo配置文件设置一个新的重定向器的技巧。

Empire Comfoo 监听器

被重定向的 Comfoo 网络流量

注意:Sleight是一种“快速而直接”的配置脚本,用于在一个专门的重定向器VPS的初始设置。如果你已经有一个使用自定义的mod重写规则集的Apache服务器,那么你最好使用Sleight将一个Empire通信配置文件转换为mod重写规则,然后自己将其添加到 .htaccess 文件中。

总结:

向你的C2流量使用重定向只是在强化和隐藏你的红色团队基础架构方面的一个小而关键的步骤。我希望这篇文章能有所帮助,但仍有很多事情要做,以防止你的基础架构被事件反应者和其他任何防御措施标记出来。我强烈建议用防火墙配置你的 Empire C2服务器,它只允许来自指定的重定向器的HTTP流量。查看维基红色团队基础架构和下面的参考资料,以了解更多技巧。请安全使

参考文献:

  1. https://github.com/bluscreenofjeff/Red-Team-Infrastructure-Wiki
  2. https://speakerdeck.com/bluscreenofjeff/building-a-better-moat-designing-an-effective-covert-red-team-attack-infrastructure
  3. https://bluescreenofjeff.com/tags#mod_rewrite
  4. https://blog.inspired-sec.com/archive/2017/04/17/Mod-Rewrite-Automatic-Setup.html
  5. https://blog.cobaltstrike.com/2014/07/16/malleable-command-and-control/
  6. https://bluescreenofjeff.com/2017-03-01-how-to-make-communication-profiles-for-empire/
  7. http://threatexpress.com/2017/06/convert-cobalt-strike-profiles-apache-mod_rewrite-htaccess-files-support-http-c2-redirection/
  8. http://threatexpress.com/2017/05/empire-modifying-server-c2-indicators/
  9. https://www.legalbutfrownedupon.com/customizing-powershell-empire-to-avoid-detection/
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 恒星EDU 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档