leonidas:云端执行攻击者行为的框架
项目介绍
Leonidas 是一个开源框架,旨在云端环境中执行攻击者行为。它使用 YAML 格式定义云攻击者的策略、技术和程序(TTPs)及其相关检测属性。这些定义可以被编译成一个 Web API,每个测试用例都作为一个单独的端点暴露;也可以生成 Sigma 规则进行检测;或者生成相关文档。
该项目最初是为 AWS 环境设计的,但在 2024 年扩展支持了 Kubernetes 环境。Leonidas 的资源可以在目标集群中部署,以满足不同场景的需求。
项目技术分析
Leonidas 框架的核心是一个基于 YAML 的定义系统,用户可以定义攻击者的行为,并编译成可执行的操作。这种设计使得 Leonidas 非常灵活和可扩展。以下是 Leonidas 的几个关键技术特点:
- 基于 YAML 的定义:用户可以以 YAML 格式编写攻击行为的定义,这使得编写和理解攻击场景变得更为直观和简单。
- 支持 AWS 和 Kubernetes:Leonidas 可以在 AWS 环境和 Kubernetes 环境中部署,使其适用于多种云环境。
- 生成 Sigma 规则:Leonidas 可以生成 Sigma 规则,这有助于检测和防御攻击行为。
- 自动部署和文档生成:Leonidas 支持通过 CI/CD 管道自动部署到 AWS 和 Kubernetes,同时可以自动生成文档。
项目及技术应用场景
Leonidas 的设计初衷是帮助安全团队模拟攻击者的行为,以便更好地理解潜在的攻击路径和弱点。以下是一些典型的应用场景:
- 安全测试:通过模拟攻击者的行为,Leonidas 可以帮助安全团队测试云基础设施的防御能力。
- 入侵检测:Leonidas 生成的 Sigma 规则可以用于检测潜在的攻击行为,从而提高入侵检测系统的效率。
- 安全培训:Leonidas 可以作为一个安全培训工具,帮助安全人员理解和学习攻击者的策略和技术。
项目特点
Leonidas 作为一个云端执行攻击者行为的框架,具有以下特点:
- 灵活性:支持自定义攻击行为定义,满足不同用户的需求。
- 易用性:通过 YAML 格式定义攻击行为,简化了攻击场景的编写和部署。
- 跨平台:支持 AWS 和 Kubernetes,提供灵活的部署选项。
- 自动化:支持 CI/CD 部署和文档生成,提高运维效率。
在接下来的部分,我们将深入探讨 Leonidas 的安装、配置和使用方法,帮助读者更好地理解和利用这个强大的工具。
安装 Leonidas
在本地安装 Leonidas 生成器,可以按照以下步骤进行:
cd generator
poetry install
生成 Sigma 规则
使用 Leonidas 生成 Sigma 规则,可以运行以下命令:
poetry run ./generator.py sigma
生成的规则将出现在 ./output/sigma
目录中。
生成文档
生成文档的命令如下:
poetry run ./generator.py docs
这将在 output/docs
目录中生成 markdown 格式的文档。如果需要生成 HTML 格式的文档,可以使用以下命令:
cd ../output
mkdocs build
生成的 HTML 文件将位于 output/site
目录中。
总结
Leonidas 是一个功能强大且灵活的开源框架,它通过模拟攻击者的行为来帮助安全团队更好地理解和防御潜在的安全威胁。其基于 YAML 的定义系统和跨平台支持使其成为一个宝贵的工具。无论是进行安全测试、入侵检测还是安全培训,Leonidas 都能提供有效的帮助。我们鼓励安全专业人士尝试并采用 Leonidas,以提高他们的云安全防御能力。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考