
클라우드에서의 자동화된 공격 시뮬레이션, 탐지 사용 사례 포함.
이 저장소는 클라우드에서 공격자 행위를 실행하기 위한 프레임워크인 Leonidas를 포함하고 있습니다. 이 프레임워크는 클라우드 공격자의 전술, 기술, 절차(TTP)와 관련 탐지 속성을 정의하기 위한 YAML 기반 형식을 제공합니다. 이러한 정의는 다음으로 컴파일될 수 있습니다:
이 프로젝트는 원래 AWS 환경에서 사용하도록 설계되었으며, 아키텍처는 다음과 같습니다:
2024년에 Leonidas는 Kubernetes 환경을 지원하도록 확장되었습니다. 그 리소스는 대상 클러스터 내에 배포될 수 있으며, 아키텍처는 다음과 같습니다:

API는 AWS 네이티브 CI/CD 파이프라인을 통해 AWS 계정에 배포되며, Kubernetes 클러스터에는 자동 생성된 YAML 매니페스트를 사용하여 배포됩니다. 두 환경에 대한 지침은 Leonidas 배포에서 확인할 수 있습니다.
API는 API 키로 보호되는 웹 요청을 통해 호출됩니다. API 사용에 대한 자세한 내용은 Leonidas 사용에서 확인할 수 있습니다.
문서 또는 Sigma 규칙을 빌드하려면 생성기를 로컬에 설치해야 합니다. 다음과 같이 할 수 있습니다:
cd generatorpoetry installSigma 규칙은 다음과 같이 생성할 수 있습니다:
poetry run ./generator.py sigma그러면 규칙이 ./output/sigma에 나타납니다.
문서는 다음과 같이 생성됩니다:
poetry run ./generator.py docs이렇게 하면 output/docs에서 사용 가능한 문서의 마크다운 버전이 생성됩니다. 이를 기존 마크다운 기반 문서 시스템에 업로드하거나 다음을 사용하여 문서의 예쁜 HTML 버전을 만들 수 있습니다:
cd ../outputmkdocs build이렇게 하면 HTML 사이트가 포함된 output/site 폴더가 생성됩니다. 동일한 폴더에서 mkdocs serve를 실행하여 로컬에서 볼 수도 있습니다.
정의는 YAML 기반 형식으로 작성되며, 아래에 예시가 제공됩니다. 작성 방법에 대한 문서는 정의 작성에서 확인할 수 있습니다.
---
name: Enumerate Cloudtrails for a Given Region
author: Nick Jones
description: |
An adversary may attempt to enumerate the configured trails, to identify what actions will be logged and where they will be logged to. In AWS, this may start with a single call to enumerate the trails applicable to the default region.
category: Discovery
mitre_ids:
- T1526
platform: aws
permissions:
- cloudtrail:DescribeTrails
input_arguments:
executors:
sh:
code: |
aws cloudtrail describe-trails
leonidas_aws:
implemented: True
clients:
- cloudtrail
code: |
result = clients["cloudtrail"].describe_trails()
detection:
sigma_id: 48653a63-085a-4a3b-88be-9680e9adb449
status: experimental
level: low
sources:
- name: "cloudtrail"
attributes:
eventName: "DescribeTrails"
eventSource: "*.cloudtrail.amazonaws.com"
프로젝트는 Nick Jones ( NJonesUK / @nojonesuk)이 구축 및 유지 관리했습니다.
Kubernetes 지원은 Leo Tsaousis ( @laripping )가 추가했습니다.
또한 Mohit Gupta ( @Skybound1 )님의 귀중한 기여에 특별히 감사드립니다.
이 프로젝트는 다음을 포함한 다양한 소스에서 아이디어와 영감을 얻었습니다: