Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
threatest — CLI وإطار عمل Go لاختبار شامل لقواعد كشف التهديدات. ينفذ تقنيات الهجوم ويتحقق من التنبيهات في منصات الأمان مثل Datadog و Elastic Security. | Kitploit
أدوات/GitHubGitHub/datadog/threatest
أدوات دفاعيةاختبار الاختراقالفريق الأحمر
GitHubdatadog/threatest

threatest

CLI وإطار عمل Go لاختبار شامل لقواعد كشف التهديدات. ينفذ تقنيات الهجوم ويتحقق من التنبيهات في منصات الأمان مثل Datadog و Elastic Security.

عرض المستودعالموقع الإلكتروني
34527منذ 2 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Threatest

unit tests static analysis

Threatest

Threatest هي أداة CLI وإطار عمل بلغة Go لاختبار كشف التهديدات من البداية إلى النهاية.

تتيح لك Threatest تفجير أسلوب هجوم، والتحقق من أن التنبيه المتوقع تم إنشاؤه في منصة الأمان المفضلة لديك.

اقرأ منشور المدونة الإعلاني: https://securitylabs.datadoghq.com/articles/threatest-end-to-end-testing-threat-detection/

المفاهيم

المفجرون (Detonators)

يصف المفجر كيف وأين يتم تنفيذ أسلوب الهجوم.

المفجرون المدعومون:

  • تنفيذ أوامر محلية
  • تنفيذ أوامر عبر SSH
  • Stratus Red Team
  • مفجر AWS CLI
  • مفجر AWS (برمجي فقط، لا يعمل مع CLI)

مطابقات التنبيهات (Alert matchers)

مطابقة التنبيهات هي تكامل خاص بالمنصة يمكنه التحقق مما إذا تم تشغيل التنبيه المتوقع.

مطابقات التنبيهات المدعومة:

  • إشارات أمان Datadog
  • إشارات أمان Elastic Security

التفجير وربط التنبيهات

يتم تعيين UUID لكل تفجير. ينعكس هذا UUID في التفجير ويُستخدم لضمان أن التنبيه المطابق يتوافق تمامًا مع هذا التفجير.

تعتمد طريقة القيام بذلك على المفجر؛ على سبيل المثال، يقوم Stratus Red Team ومفجر AWS بحقنه في user-agent؛ ويستخدم مفجر SSH عملية أصل تحتوي على UUID.

الاستخدام

عبر CLI

تأتي Threatest مع CLI يمكنك استخدامه لتشغيل سيناريوهات اختبار موصوفة بصيغة YAML، تتبع [مخططًا] محددًا (./schemas/threatest.schema.json). يمكنك تكوين هذا المخطط في محررك للاستفادة من التدقيق اللغوي والإكمال التلقائي داخل IDE (انظر توثيق VSCode باستخدام إضافة YAML).

قم بتثبيت CLI عن طريق تنزيل إصدار ثنائي أو باستخدام Homebrew:

root@kitploit:~
brew tap datadog/threatest https://github.com/datadog/threatest
brew install datadog/threatest/threatest

مثال على الاستخدام:

root@kitploit:~
$ threatest lint scenarios.threatest.yaml
جميع السيناريوهات الستة صحيحة نحوياً

# تفجير محلي
$ threatest run local-scenarios.threatest.yaml

# تفجير عن بُعد عبر SSH
$ threatest run scenarios.threatest.yaml --ssh-host test-box --ssh-username vagrant

# بدلاً من ذلك، تحديد معلمات SSH من متغيرات البيئة
$ export THREATEST_SSH_HOST=test-box
$ export THREATEST_SSH_USERNAME=vagrant
$ threatest run scenarios.threatest.yaml

ملفات تعريف سيناريو نموذجية

  • التفجير عبر SSH
root@kitploit:~
scenarios:
  # تفجير عن بُعد عبر SSH
  # ملاحظة: يتم توفير تكوين SSH باستخدام وسيطات CLI --ssh-host و --ssh-username و --ssh-keyfile
  - name: curl metadata service
    detonate:
      remoteDetonator:
        commands: ["curl http://169.254.169.254 --connect-timeout 1"]
    expectations:
      - timeout: 1m
        datadogSecuritySignal:
          name: "Network utility accessed cloud metadata service"
          severity: medium
  • التفجير باستخدام Stratus Red Team
root@kitploit:~
scenarios:
  # تفجير Stratus Red Team
  # ملاحظة: يجب أن تكون مصادقًا على موفر السحابة ذي الصلة قبل تشغيله
  # المثال أدناه يعادل تشغيل "stratus detonate aws.exfiltration.ec2-security-group-open-port-22-ingress" يدويًا
  - name: opening a security group to the Internet
    detonate:
      stratusRedTeamDetonator:
        attackTechnique: aws.exfiltration.ec2-security-group-open-port-22-ingress
    expectations:
      - timeout: 15m
        datadogSecuritySignal:
          name: "Potential administrative port open to the world via AWS security group"
  • التفجير باستخدام أوامر AWS CLI
root@kitploit:~
scenarios:
  # تفجير AWS CLI
  # ملاحظة: يجب أن تكون مصادقًا على AWS قبل تشغيله وأن يكون لديك AWS CLI مثبتًا
  - name: opening a security group to the Internet
    detonate:
      awsCliDetonator:
        script: |
          set -e
          
          # إعداد
          vpc=$(aws ec2 create-vpc --cidr-block 10.0.0.0/16 --query Vpc.VpcId --output text)
          sg=$(aws ec2 create-security-group --group-name sample-sg --description "Test security group" --vpc-id $vpc --query GroupId --output text)
          
          # فتح مجموعة الأمان
          aws ec2 authorize-security-group-ingress --group-id $sg --protocol tcp --port 22 --cidr 0.0.0.0/0
          
          # تنظيف
          aws ec2 delete-security-group --group-id $sg
          aws ec2 delete-vpc --vpc-id $vpc
    expectations:
      - timeout: 15m
        datadogSecuritySignal:
          name: "Potential administrative port open to the world via AWS security group"

يمكنك إخراج نتائج الاختبار إلى ملف JSON:

root@kitploit:~
$ threatest run scenarios.threatest.yaml --output test-results.json
$ cat test-results.json
[
  {
    "description": "change user password",
    "isSuccess": true,
    "errorMessage": "",
    "durationSeconds": 22.046627348,
    "timeDetonated": "2022-11-15T22:26:14.182844+01:00"
  },
  {
    "description": "adding an SSH key",
    "isSuccess": true,
    "errorMessage": "",
    "durationSeconds": 23.604699625,
    "timeDetonated": "2022-11-15T22:26:14.182832+01:00"
  },
  {
    "description": "change user password",
    "isSuccess": false,
    "errorMessage": "At least one scenario failed:\n\nchange user password returned: change user password: 1 assertions did not pass\n =\u003e Did not find Datadog security signal 'bar'\n",
    "durationSeconds": 3.505294235,
    "timeDetonated": "2022-11-15T22:26:36.229349+01:00"
  }
]

افتراضيًا، يتم تشغيل السيناريوهات بحد أقصى للتوازي يبلغ 5. يمكنك زيادة هذا الإعداد باستخدام وسيطة --parallelism. لاحظ أنه عند استخدام مفجرات SSH عن بُعد، يقوم كل سيناريو قيد التشغيل بإنشاء اتصال SSH جديد.

استخدام Threatest برمجيًا

انظر الأمثلة للحصول على مثال كامل للاستخدام البرمجي.

اختبار إشارات Datadog Cloud SIEM التي تم تشغيلها بواسطة Stratus Red Team

root@kitploit:~
threatest := Threatest()

threatest.Scenario("AWS console login").
  WhenDetonating(StratusRedTeamTechnique("aws.initial-access.console-login-without-mfa")).
  Expect(DatadogSecuritySignal("AWS Console login without MFA", WithSeverity("medium"))).
  WithTimeout(15 * time.Minute)

assert.NoError(t, threatest.Run())

اختبار إشارات Datadog Cloud Workload Security التي تم تشغيلها عن طريق تشغيل الأوامر عبر SSH

root@kitploit:~
ssh, _ := NewSSHCommandExecutor("test-box", "", "")

threatest := Threatest()

threatest.Scenario("curl to metadata service").
  WhenDetonating(NewCommandDetonator(ssh, "curl http://169.254.169.254 --connect-timeout 1")).
  Expect(DatadogSecuritySignal("EC2 Instance Metadata Service Accessed via Network Utility"))

assert.NoError(t, threatest.Run())
تنزيل الأداة