2022年7月24日

写在前面:有很多客户希望用BAS产品帮忙测试一下网络,特别是护网之前,作为渗透测试的一个替代,也对整个网络的安全状态有个全面的了解。由于各种原因,无法都用商用的产品,本文介绍10个开源的BAS工具,好几个工具都是专业的BAS厂商在维护,值得一试。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

    网络攻击模拟,又名对抗模拟、威胁模拟,是新兴的IT安全技术,可以帮助发现安全基础设施中的不足、漏洞和错误配置。我们将看看攻击模拟的需求和十大开源攻击模拟工具。

什么是攻击模拟?

    攻击模拟/仿真是模仿攻击者行为的过程。在假定入侵的情况下测试组织恢复运营的能力,即所有模拟/测试都由系统自运行。尽管攻击模拟在表面上看起来很像自动化渗透测试,但这种类型的模拟涵盖了更广泛的安全基础设施。目的并不总是要拿到皇冠上的宝石-获取权限或偷窃目标文件;而是尽可能帮助客户识别攻击者可能采取的不同攻击路径,减轻最具影响力的威胁,并优先考虑可操作的修复计划,最大限度地利用安全资源并降低网络风险。

    模拟是指模拟恶意行为者的技术、程序和战术(TTP)的能力。大多数攻击模拟工具和平台都提供自动化或半自动化的方法来获取攻击者对目标网络的认识。

为什么攻击模拟对你有帮助?

    作为一名首席信息安全官,你必须维护一个主动的安全程序,保护你的组织免受各种网络攻击。然而,即使只维护安全基线也很困难,更不用说开始就有一个成熟的安全程序了。

    为了在对抗中保持领先地位,这是一场与攻击者的持续战争。然而,答案在于通过不断验证针对各种敌对行为的安全控制来维护健康的安全状态。

    作为首席信息安全官,你可能会发现自己处于这样的境地:你必须回答董事会如何分配网络安全预算,以获得最大的投资回报(ROI)。多年来,首席信息安全官向董事会成员提供安全指标一直是一项挑战。通常很难给出更多的说明,并用高管能够理解的语言详细地解释安全程序的有效性。现在,答案在于持续的安全验证。

    公司采用更积极的方法,通过入侵和攻击模拟平台不断测试安全控制。通过持续的安全控制验证,公司可以模拟不同类型的网络攻击,包括内部威胁和攻击者的横向移动。这种主动持续测试的新方法为公司提供了成功所需的反馈,并以MITRE ATT&CK框架作为基准。

    攻击模拟另辟蹊径,它关注的是客户在受到攻击后处理攻击的能力。这些评估着眼于事件响应,并为每天寻找入侵和响应事件的分析师提供宝贵的“实弹”演习机会。认识到传统的渗透测试需要大多数公司所不具备的技能、资源和时间,许多公司转向了入侵和攻击模拟(BAS)工具。

开源攻击模拟工具

下面介绍最好的开源攻击模拟工具:

  • MITRE CALDERA
  • Atomic Red Team
  • The DumpsterFire Toolset
  • firedrill from FourCore (us!)
  • The Mordor project
  • Infection Monkey from Guardicore
  • Red Team Automation
  • Stratus Red Team from DataDog
  • Metta
  • Encripto Blue Team Training Toolkit

MITRE CALDERA

https://github.com/mitre/caldera

    MITRE CALDERA是由MITRE开发的网络安全框架,它使网络行业从业者能够通过自动化安全评估节省时间、金钱和能源。它提供了一个智能的、自动化的攻击模拟系统,可以减少安全团队用于常规测试所需的资源,解放他们去处理其他关键问题。

    Caldera利用ATT&CK模型来识别和复制对手的行为,就好像真正的入侵正在发生一样。主要以三种方式赋能网络团队:

  • 自主仿真对手允许团队构建特定的威胁(对手)配置文件,并在网络中启动它,以查看您可能易受影响的地方。这有助于测试防御和培训蓝队如何检测特定的威胁。
  • 自主事件响应使您的团队能够在给定主机上执行自动事件响应,从而使他们能够找到识别和响应威胁的新方法。
  • 手动红队战斗通过增加现有的进攻工具集,帮助你的红队在计算机辅助下执行手动评估。该框架可以扩展您可能拥有的任何定制工具。

Atomic Red Team

https://github.com/redcanaryco/atomic-red-team

    Atomic Red Team是一个简单的测试库,每个安全团队都可以执行它来测试他们的防御。测试是集中的,很少有依赖关系,采用结构化格式定义,可以由自动化框架使用。Atomic Red Team将小型和高度移植的检测测试映射到Mitre ATT&CK框架。这个框架不是自动化的,但是支持Microsoft Windows, MacOS和Linux。

    它有很多用途,包括但不限于:

  • 验证关于安全控制的假设
  • 测试检测覆盖率
  • 了解什么是恶意活动

DumpsterFire

https://github.com/TryCatchHCF/DumpsterFire

    DumpsterFire工具集是一个模块化的、菜单驱动的、跨平台的工具,用于构建可重复的、延时的、分布式的安全事件。为蓝队演习和对应探头/报警轻松创建自定义事件链。红队可以制造诱饵事件、干扰和引诱来支持和扩大他们的行动。把纸上的桌面练习变成可控的“实弹”靶场活动。构建事件序列(“叙述”)来模拟现实场景,并生成相应的网络和文件系统工件(artifacts)。

    该工具集被设计为可动态扩展的,允许您创建自己的Fire(事件模块),添加到包含的工具集中。只需编写自己的Fire模块并将其放入FireModules目录中。DumpsterFire工具集将在启动时自动检测您的自定义Fire模块并启用他们。

firedrill from FourCore

https://github.com/FourCoreLabs/firedrill

    firedrill是一个来自FourCore Labs的开源库,用于快速构建恶意软件模拟。我们已经为您构建了一套四种不同的攻击模拟,包括勒索软件模拟、发现模拟、UAC旁路和持久驻留模拟,可在这个基础上进一步构建。此外,您可以使用firedrill二进制文件来了解防病毒软件的有效性,或者您的沙箱是否检测到正确的特征值。

    FourCore有自己商用的BAS产品,FourCore ATTACK。‍‍

Mordor

https://github.com/OTRF/Security-Datasets

    Mordor project以JavaScript Object Notation (JSON)文件的形式提供了由模拟对抗技术生成的提前记录好的安全事件,以便于使用。预先记录的数据根据Mitre ATT&CK框架定义的平台、黑客团体、战术和技术进行分类。预先记录的数据不仅表示特定的已知恶意事件,还表示围绕该事件发生的其他上下文/事件。这样做的目的,您就可以跨不同的数据源创造性地测试他们相关性,增强您的检测策略,并可能减少您自己环境中的误报数量。

    Mordor这个名字来自于《指环王》系列小说和电影,它是邪恶势力索伦居住的地方。此存储库保存由已知的“恶意”对抗活动生成的数据,项目的名称即来自于此。

    Roberto Rodriguez创建Mordor是为了帮助那些可能无法大量测试或足够红队经验的分析师去模拟对手的行为,以测试他们检测或预防的能力。

    Mordor Project的目标如下:

  • 提供免费的可移植的恶意数据集,以加快数据分析的开发。
  • 促进对抗技术模拟和成果使用。
  • 允许安全分析师用真实已知的坏数据来测试他们的技能。
  • 以更简单、更实在的方式改进溯源案例和数据分析的测试。
  • 使数据科学家能够在初始研究中获得半标记的数据。
  • 将威胁狩猎剧本映射到各自的预记录数据以实现验证目的。

    分享Roberto使用Mordor数据集的精彩文章:

https://medium.com/threat-hunters-forge/threat-hunter-playbook-mordor-datasets-binderhub-open-infrastructure-for-open-8c8aee3d8b4

Infection Monkey from Guardicore

    Infection Monkey是一个开源入侵和攻击模拟(BAS)平台,可帮助您验证现有控制并识别攻击者如何利用当前网络安全漏洞。Monkey使用各种方法在整个数据中心进行自我传播,并向集中的Monkey Island服务器报告成功。它也是用Python编写的,并且与环境无关。支持本地、容器、公共云和私有云部署。它允许持续和定期测试您的安全策略和特定控制。它还根据各种攻击者行为,使用网络性能报告,提供可操作的数据。

    Infection Monkey由网络安全公司Guardicore维护。

Red Team Automation

https://github.com/endgameinc/RTA

    Red Team Automation提供了一个脚本框架,允许蓝队测试他们对恶意间谍技术的检测能力,以MITRE ATT&CK为模型。Red Team Automation 由python脚本组成,可以生成超过50种不同的ATT&CK战术,以及一个编译的二进制应用程序,可以根据需要执行文件时间停止、进程注入和信标模拟等活动。

    在可能的情况下,Red Team Automation会尝试执行所描述的实际恶意活动。在其他情况下,Red Team Automation将模拟全部或部分恶意活动。例如,一些横向移动将在默认情况下以本地主机为目标(尽管通常使用参数允许多主机测试)。在其他情况下,可执行文件(如cmd.exe或python.exe)将被重命名,以使其看起来好像Windows二进制文件正在执行非常见活动。

    Elastic的一篇很棒的文章:

https://www.elastic.co/blog/introducing-endgame-red-team-automation

Stratus Red Team

https://github.com/DataDog/stratus-red-team

    正如开发者所说,Stratus Red Team是Atomic Red Team是面向云的版本。它附带了对应到MITRE ATT&CK矩阵的各种常见攻击技术,攻击者可以使用这些技术来攻击您的AWS环境。你可以免费使用Stratus Red Team二进制文件。

Metta

https://github.com/uber-common/metta

    Uber开源了这个对抗攻击模拟工具,它诞生于多个内部项目。Metta使用Redis/Celery,python和vagrant与VirtualBox来实现攻击模拟,这允许您测试基于主机的安全系统。也允许您测试其他基于网络的安全检测和控制,取决于您如何设置您的vagrant。Metta兼容Microsoft Windows、MacOS和Linux终端。更多关于Metta的细节请参考:

https://medium.com/uber-security-privacy/uber-security-metta-open-source-a8a49613b4a

Encripto Blue Team Training Toolkit

https://www.encripto.no/en/downloads-2/tools/

    Encripto Blue Team Training Toolkit(BT3) 是防御性安全培训软件,它将把您的网络分析培训课程、事件响应演习和红队交战提升到一个新的水平。该工具包允许您创建真实的计算机攻击场景,同时降低基础设施成本、实施时间和风险。蓝队培训工具包用Python编写,包含最新版本的ENcrypto的Maligno, Pcapteller和Mocksum。它还包括多个恶意软件指标配置文件,确保在计划和准备培训课程、事件响应演习或红队交战时提供“即插即用”体验。

最终的想法

    长期以来,网络安全专业人员一直使用开源的BAS工具,如Atomic Red Team、Caldera和Metasploit,在特定的基础上对其基础设施运行测试。然而,越来越多的人意识到需要定期测试,这推动了自动化BAS服务的激增,提高了测试的频率和一致性。

https://fourcore.io/blogs/top-10-open-source-adversary-emulation-tools

(完)