
محاكاة هجمات آلية في السحابة، مع حالات استخدام للكشف.
هذا هو المستودع الذي يحتوي على ليونيداس، وهو إطار عمل لتنفيذ إجراءات المهاجم في السحابة. يوفر تنسيقًا يعتمد على YAML لتحديد تكتيكات وتقنيات وإجراءات المهاجم السحابية (TTPs) وخصائص الكشف المرتبطة بها. يمكن بعد ذلك تجميع هذه التعريفات في:
صُمم المشروع في الأصل للاستخدام في بيئات AWS، بالهندسة المعمارية التالية:
في عام 2024، تم توسيع ليونيداس لدعم بيئات Kubernetes. يمكن نشر موارده داخل المجموعة المستهدفة، وفقًا للهندسة المعمارية التالية:

يتم نشر واجهة برمجة التطبيقات في حساب AWS عبر خط أنابيب CI/CD أصلي لـ AWS، وفي مجموعة Kubernetes باستخدام بيانات YAML المنشأة تلقائيًا. يمكن العثور على إرشادات لكلتا البيئتين في نشر ليونيداس.
يتم استدعاء واجهة برمجة التطبيقات عبر طلبات ويب مؤمنة بمفتاح API. يمكن العثور على تفاصيل استخدام واجهة برمجة التطبيقات في استخدام ليونيداس
لبناء التوثيق أو قواعد Sigma، ستحتاج إلى تثبيت المولد محليًا. يمكنك القيام بذلك عن طريق:
cd generatorpoetry installيمكن إنشاء قواعد Sigma على النحو التالي:
poetry run ./generator.py sigmaستظهر القواعد بعد ذلك في ./output/sigma
يتم إنشاء التوثيق على النحو التالي:
poetry run ./generator.py docsسينتج هذا نسخ Markdown من التوثيق المتاحة في output/docs. يمكن تحميل هذا إلى نظام توثيق قائم على Markdown، أو يمكن استخدام ما يلي لإنشاء نسخة HTML منسقة من التوثيق:
cd ../outputmkdocs buildسينشئ هذا مجلد output/site يحتوي على موقع HTML. من الممكن أيضًا عرض هذا محليًا عن طريق تشغيل 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 ) على مساهمته القيمة.
استلهم هذا المشروع أفكارًا وإلهامًا من مجموعة من المصادر، بما في ذلك: