Red Team 工具集之辅助工具

红蓝对抗 2019-11-10

本文作者:myh0st参考项目:https://github.com/infosecn1nja/Red-Teaming-Toolkit

img

上图是一个 Red Team 攻击的生命周期,整个生命周期包括:信息收集、攻击尝试获得权限、持久性控制、权限提升、网络信息收集、横向移动、数据分析(在这个基础上再做持久化控制)、在所有攻击结束之后清理并退出战场。

在红蓝对抗中,在不同的阶段有不同的利用工具,但是想要把这些阶段连接起来离不开这些辅助工具,辅助我们管理对抗中的一些基础设施,辅助我们绕过安全设备的监控,提升我们的隐藏能力,增加隐藏的时间,提升在对抗中己方的优势,这些辅助工具也是我们在对抗中不同阶段之间的润滑剂,还是比较重要的。

Red Baron

这个工具可以帮助你管理你的基础设施,如 vps 等,是基于 Terraform 开发的。

https://github.com/Coalfire-Research/Red-Baron

EvilURL

这个工具可以将域名中的字母替换为 unicode 编码,通过注册这样的域名来欺骗用户点击,达到攻击的意图。

https://github.com/UndeadSec/EvilURL

Domain Hunter

这个工具通过在 Expireddomains.net 搜索过期域名,然后通过 Symantec WebPulse(BlueCoat)、IBM X-Force 和 Cisco Talos 等服务查询域名信誉,这样我们就可以注册这些信誉比较好的域名来绕过一些安全设备的检测,作为 C2 服务器的域名。

https://github.com/threatexpress/domainhunter

PowerDNS

这个工具可以将 powershell 脚本分块使用 DNS 协议来传输并执行,只是一个想法的验证程序。

https://github.com/mdsecactivebreach/PowerDNS

Chameleon

这个工具是用来自动检测代理类别,目前支持 Bluecoat、McAfee Trustedsource 和 IBM X-Force 三种代理的检测。

https://github.com/mdsecactivebreach/Chameleon

CatMyFish

这个工具可以指定关键词并搜索相关的域名,自动查询域名是不是适合作为 C2 服务器的域名,也可以用来寻找用来钓鱼用的白名单域名。

https://github.com/Mr-Un1k0d3r/CatMyFish

Malleable C2

这里收集了一些适用于 Cobalt Strike 3.x 的配置文件,功能是重新定义 Beacon 的特征指标,增加隐藏性。

https://github.com/rsmudge/Malleable-C2-Profiles

Malleable-C2-Randomizer

这个脚本可以将 Cobalt Strike 的配置文件进行混淆来绕过一些基于签名检测的软件,其原理是将变量替换为提供的字典中的随机字符串,然后输出新的 Malleable C2 配置文件。

https://github.com/bluscreenofjeff/Malleable-C2-Randomizer

FindFrontableDomains

找出可以进行 domain Fronting(域前置、也叫域名幌子) 的域名。“域前置”技术是一种审查规避技术,主要用于隐蔽通信中的远程端点。“域前置”发生在应用层,主要适用了 HTTPS 协议进行通信,通信中的远程端点原本是被禁止的,通过使用“域前置”技术,让检测器误认为是一个其他的合法地址,进而绕过检测。

https://github.com/rvrsh3ll/FindFrontableDomains

Postfix-Server-Setup

这个脚本可以为你自动安装并设置一个安全可用的钓鱼平台,操作包括安装钓鱼平台 gophish ,安装配置 smtp 服务、安全配置 ssh、配置 iptables 等。

https://github.com/n0pe-sled/Postfix-Server-Setup

DomainFrontingLists

这个项目收集了一些可以用于 "域前置" 的 CDN 域名,包括:Aliyun、ChinaCache、Akamai 等。

https://github.com/vysec/DomainFrontingLists

Apache2-Mod-Rewrite-Setup

这个工具可以为你快速设置 Apache2 的 Mod_Rewrite,功能包括:隐藏 Team server 的真实 IP、逃避事件响应的检测、重定向移动用户到钓鱼页面、阻止特定 IP 地址、设置仅允许 Malleable C2 到流量到 Team server 。

https://github.com/n0pe-sled/Apache2-Mod-Rewrite-Setup

external_c2 framework

这个工具可以对 Cobalt Strike 建立的 C2 管道进行编码,从而增强通信的安全性以及绕过流量检测系统。

https://github.com/Und3rf10w/external_c2_framework

ExternalC2

这个工具与上面的类似,提供了 web 和 websocket 两种传输通道,使用 C# 开发的。

https://github.com/ryhanson/ExternalC2

cs2modrewrite

这个工具可以自动根据 Cobalt Strike 的配置文件生成 mod_rewrite 的 .htaccess 文件,支持 Apache 到 Cobalt Strike 的重定向。

https://github.com/threatexpress/cs2modrewrite

e2modrewrite

这个工具可以根据 Empire 的配置文件生成 mod_rewrite 的 .htaccess 文件,支持 HTTP C2 的重定向。

https://github.com/infosecn1nja/e2modrewrite

redi

这个脚本可以自动设置基于 ngnix 和 dnsmasq 的 CobaltStrike 代理转发器。

https://github.com/taherio/redi

Google-Domain-fronting

用于利用 google APP engine 的 "域前置"。

https://github.com/redteam-cyberark/Google-Domain-fronting

DomainFrontDiscover

这个脚本用户寻找 CloudFront 上可以利用 "域前置" 的域名。

https://github.com/peewpw/DomainFrontDiscover

meek

这玩意搞不懂,有兴趣研究的可以整一个文章介绍一下。

https://github.com/arlolra/meek

CobaltStrike-ToolKit

收集的一些与 CobaltStrike 相关的脚本工具。

https://github.com/killswitch-GUI/CobaltStrike-ToolKit

域前置

在上面的工具有一个关键词提到的次数比较多,这里简单解释一下,何为域前置?在了解域前置之前先看一个图:

img

在浏览器请求一个 https 的网站域名的时候,比如图中的 allowed.example ,访问链接如下:

https://allowed.example

这时,由 DNS 解析 allowed.example 得出 IP 地址,HTTP 的外层由 SSL 加密,在 TLS 中 SNI 记录里的域名也是 allowed.example ,像一些 CDN 服务器或者虚拟主机,请求网站内容是通过 HTTP 协议中的 Host 字段中提供的域名来获取的,而 Host 字段是我们可以修改的,所以这种情况下,我们就可以把 Host 改为 forbidden.example,这种情况下,虽然我们请求的是 allowed.example 但是我们实际获取的内容是 forbidden.example ,由于审计软件只会记录有关 allowed.example 的日志,所以我们可以利用这一点,隐藏我们的真实意图,达到绕过一些安全审计软件的效果。

具体原理请查看下面的文章:

https://www.bamsoftware.com/papers/fronting/

文中使用谷歌做了一个例子:

$ wget -q -O - https://www.google.com/ --header 'Host: maps.google.com' | grep -o '<title>.*</title>'

<title>Google Maps</title>

推荐阅读

Red Team 工具集之信息收集

Red Team 工具集之攻击武器库

Red Team 工具集之网络钓鱼和水坑攻击

Red Team 工具集之远程控制软件


本文由 信安之路 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

楼主残忍的关闭了评论