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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
pyattck — حزمة بايثون للتفاعل مع إطار عمل Mitre ATT&CK Framework | Kitploit
أدوات/GitHubGitHub/swimlane/pyattck
أطر اختبار الاختراقجمع المعلوماتالأدوات والمكوناتاستخبارات التهديداتالتعلم والتعليمموارد منسقةArchived
GitHubswimlane/pyattck

pyattck

حزمة بايثون للتفاعل مع إطار عمل Mitre ATT&CK Framework

عرض المستودع
48093منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

pyattck

مرحبًا بك في توثيق pyattck

root@kitploit:~
    .______   ____    ____  ___   .___________.___________.  ______  __  ___
    |   _  \  \   \  /   / /   \  |           |           | /      ||  |/  /
    |  |_)  |  \   \/   / /  ^  \ `---|  |----`---|  |----`|  ,----'|  '  /
    |   ___/    \_    _/ /  /_\  \    |  |        |  |     |  |     |    <
    |  |          |  |  /  _____  \   |  |        |  |     |  `----.|  .  \
    | _|          |__| /__/     \__\  |__|        |__|      \______||__|\__\

root@kitploit:~
حزمة Python للتفاعل مع أطر عمل MITRE ATT&CK

الإصدار الحالي هو 7.1.1

pyattck هو إطار عمل خفيف الوزن لأطر عمل MITRE ATT&CK. تستخرج هذه الحزمة التفاصيل من أطر عمل MITRE Enterprise و PRE-ATT&CK و Mobile و ICS.

لماذا؟

يساعد pyattck المؤسسات والأفراد في الوصول إلى أطر عمل MITRE ATT&CK بطريقة برمجية. بمعنى، يمكنك الوصول إلى جميع الجهات الفاعلة والبرامج الضارة والتخفيفات والتكتيكات والتقنيات والأدوات المحددة من أطر عمل Enterprise و Mobile و Pre-Attck و ICS عبر أداة سطر أوامر أو تضمينها في قاعدة الكود الخاصة بك.

هناك العديد من الأسباب التي قد تدفعك للوصول إلى هذه البيانات بطريقة آلية (نصية/مبرمجة)، لكن بعض الأمثلة هي:

  • إنشاء تقارير مع تفاصيل إضافية حول تقنية (أو أي كائن محدد في الإطار)
  • خط أنابيب بناء لقواعد الكشف مع تفاصيل إضافية من MITRE ATT&CK لأغراض التصنيف
  • البحث السريع عن تفاصيل محددة حول تقنية دون التنقل في صفحة ويب

هناك فوائد أخرى يقدمها pyattck أيضًا، بما في ذلك القدرة على توفير بيانات سياقية إضافية. يمكنك العثور على مزيد من المعلومات حول هذه البيانات هنا، لكن الأساسيات هي أن pyattck يستخدم مستودعات مفتوحة المصدر متعددة لجمع بيانات سياقية إضافية مثل الأوامر المستخدمة لتنفيذ تقنية، والبلد وتفاصيل أخرى عن جهة فاعلة ضارة، وأنواع أخرى من البرامج الضارة المشابهة لأداة/برنامج ضار محدد، إلخ.

هذا السياق الإضافي هو ما يجعل pyattck قويًا حقًا ويمكّن الأشخاص من بناء اختبارات وتحقق أكثر قوة لقواعد الكشف الخاصة بهم، والتحقق من افتراضات الاختبار، إلخ. حقًا، هناك طرق لا تعد ولا تحصى يمكن من خلالها استخدام pyattck لمساعدة الفرق الزرقاء والحمراء والأرجوانية في حماية المؤسسات (وأنفسهم).

الميزات

تسترد حزمة pyattck جميع التكتيكات والتقنيات والجهات الفاعلة والبرامج الضارة والأدوات والتخفيفات من أطر عمل MITRE ATT&CK بالإضافة إلى أي علاقات محددة داخل مجموعة بيانات MITRE ATT&CK (بما في ذلك التقنيات الفرعية).

بالإضافة إلى ذلك، أصبحت التقنيات والجهات الفاعلة والأدوات (إن أمكن) تحتوي الآن على بيانات مجمعة من موارد طرف ثالث يمكن الوصول إليها عبر خصائص مختلفة. لمزيد من المعلومات التفصيلية حول هذه الميزات، راجع مجموعات البيانات الخارجية.

تتيح لك حزمة pyattck ما يلي:

  • تحديد عنوان URL أو مسار ملف محلي لملف JSON لإطار عمل MITRE ATT&CK Enterprise، أو مجموعة البيانات المولدة، و/أو ملف config.yml.
  • الوصول إلى البيانات من إطار عمل MITRE PRE-ATT&CK
  • الوصول إلى البيانات من إطار عمل MITRE Mobile ATT&CK
  • الوصول إلى البيانات من إطار عمل MITRE ICS ATT&CK
  • الوصول إلى التقنيات الفرعية ككائنات متداخلة أو يمكنك إيقاف تشغيلها والوصول إليها كتقنية عادية
  • الوصول إلى ضوابط الامتثال (حاليًا NIST 800-53 v5) المتعلقة بتقنية MITRE ATT&CK
  • يستخدم pyattck الآن نماذج بيانات منظمة. يمكن العثور على مزيد من المعلومات في pyattck-data
  • تشغيل نظام قائمة تفاعلية لوحدة التحكم للوصول إلى بيانات pyattck

جدول المحتويات

  1. التثبيت
  2. مثال الاستخدام
  3. التكوين
  4. ملاحظات

التثبيت

يمكنك تثبيت pyattck على OS X أو Linux أو Windows. يمكنك أيضًا تثبيته مباشرة من المصدر. للتثبيت، راجع الأوامر تحت عنوان نظام التشغيل ذي الصلة أدناه.

macOS و Linux و Windows:

root@kitploit:~
pip install pyattck

التثبيت من المصدر

root@kitploit:~
git clone https://github.com/swimlane/pyattck.git
cd pyattck
python setup.py install

مثال الاستخدام

لاستخدام pyattck، يجب عليك إنشاء كائن Attck. على الرغم من أنه يمكنك التفاعل مباشرة مع كل فئة، فإن الاستخدام المقصود هو من خلال كائن Attck:

root@kitploit:~
from pyattck import Attck

attack = Attck()

افتراضيًا، يمكن الوصول إلى التقنيات الفرعية ضمن كل كائن تقنية. يمكنك إيقاف تشغيل هذا السلوك بتمرير nested_techniques=False عند إنشاء كائن Attck الخاص بك.

كمثال، السلوك الافتراضي يشبه المثال التالي:

root@kitploit:~
from pyattck import Attck

attack = Attck()

for technique in attack.enterprise.techniques:
    print(technique.id)
    print(technique.name)
    for subtechnique in technique.techniques:
        print(subtechnique.id)
        print(subtechnique.name)

يمكنك الوصول إلى الخصائص الرئيسية التالية في كائن Attck الخاص بك:

  • enterprise
  • preattack
  • mobile
  • ics

بمجرد تحديد إطار عمل MITRE ATT&CK، يمكنك الوصول إلى خصائص إضافية.

فيما يلي الكائنات التي يمكن الوصول إليها تحت خاصية Enterprise:

  • الجهات الفاعلة
  • الضوابط
  • البرامج الضارة
  • التخفيفات
  • التكتيكات
  • التقنيات
  • الأدوات

لمزيد من المعلومات حول أنواع الكائنات تحت خاصية enterprise، راجع Enterprise.

فيما يلي الكائنات التي يمكن الوصول إليها تحت خاصية PreAttck:

  • الجهات الفاعلة
  • التكتيكات
  • التقنيات

لمزيد من المعلومات حول أنواع الكائنات تحت خاصية preattck، راجع PreAttck.

فيما يلي الكائنات التي يمكن الوصول إليها تحت خاصية Mobile:

  • الجهات الفاعلة
  • البرامج الضارة
  • التخفيفات
  • التكتيكات
  • التقنيات
  • الأدوات

لمزيد من المعلومات حول أنواع الكائنات تحت خاصية mobile، راجع Mobile.

فيما يلي الكائنات التي يمكن الوصول إليها تحت خاصية ICS:

  • الضوابط
  • البرامج الضارة
  • التخفيفات
  • التكتيكات
  • التقنيات

لمزيد من المعلومات حول أنواع الكائنات تحت خاصية ics، راجع ICS.

استخدام القائمة التفاعلية

لاستخدام نظام القائمة التفاعلية الجديد داخل pyattck، يجب عليك تعيين interactive إلى True. عند القيام بذلك، سيتم تشغيل نظام القائمة التفاعلية لوحدة التحكم.

باستخدام سكربت، يمكنك تشغيل ذلك عن طريق تشغيل:

root@kitploit:~
from pyattck import Attck

Attck(interactive=True)

أو يمكنك أيضًا تشغيل الوضع التفاعلي على سطر الأوامر:

root@kitploit:~
pyattck --interactive

ألق نظرة على مثال بصيغة gif أدناه:

التكوين

يسمح لك pyattck بتكوين ما إذا كنت تخزن البيانات الخارجية وأين يتم تخزينها.

root@kitploit:~
from pyattck import Attck

attck = Attck(
    nested_techniques=True,
    use_config=False,
    save_config=False,
    config_file_path='~/pyattck/config.yml',
    data_path='~/pyattck/data',
    enterprise_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_enterprise_attck_v1.json",
    pre_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_pre_attck_v1.json",
    mobile_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_mobile_attck_v1.json",
    ics_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_ics_attck_v1.json",
    nist_controls_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_nist_controls_v1.json",
    generated_nist_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/attck_to_nist_controls.json",
    **kwargs
)

افتراضيًا، يقوم pyattck الآن بسحب أحدث البيانات الخارجية من مواقعها الخاصة باستخدام طلبات HTTP GET. يسحب pyattck حاليًا من المواقع التالية:

  • enterprise_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_enterprise_attck_v1.json"
  • pre_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_pre_attck_v1.json"
  • mobile_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_mobile_attck_v1.json"
  • ics_attck_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_ics_attck_v1.json"
  • nist_controls_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/merged_nist_controls_v1.json"
  • generated_nist_json="https://swimlane-pyattck.s3.us-west-2.amazonaws.com/attck_to_nist_controls.json"

لديك عدة خيارات عند إنشاء كائن Attck. اعتبارًا من الإصدار 4.0.0، يمكنك الآن تحديد أي من الخيارات التالية:

  • use_config - عند تحديد هذه الوسيطة كـ True، سيحاول pyattck استرداد التكوين المحدد في موقع config_file_path. إذا كان هذا الملف تالفًا أو لا يمكن العثور عليه، فسنعود إلى سحب البيانات من مواقع *_attck_json المحددة.
  • save_config - عند تحديد هذه الوسيطة كـ True، سيحفظ pyattck ملف التكوين إلى الموقع المحدد بواسطة config_file_path. بالإضافة إلى ذلك، سنحفظ جميع الملفات التي تم تنزيلها إلى موقع data_path المحدد. إذا قمت بتحديد موقع مسار محلي بدلاً من رابط تنزيل لأي من معلمات *_attck_json، فسنحفظ هذا الموقع في تكويننا وسنشير إلى هذا الموقع في المستقبل.
  • config_file_path - المسار لتخزين ملف التكوين. الافتراضي هو ~/pyattck/config.yml
  • data_path - المسار لتخزين أي ملفات بيانات تم تنزيلها على النظام المحلي. الافتراضي هو ~/pyattck/data

مواقع JSON

بالإضافة إلى ذلك، يمكنك تحديد موقع كل ملف *_attck_json فردي عن طريق تمرير إما URI أو مسار ملف محلي. إذا قمت بتمرير مسار ملف محلي، فسنقرأ ببساطة من هذا الملف.

إذا كنت قد استخدمت القيم الافتراضية أو حددت موقع URI بديل لسحب ملفات JSON هذه، فيمكنك أيضًا تمرير **kwargs التي سيتم تمريرها إلى حزمة Requests بلغة Python عند تنفيذ أي طلبات HTTP.

ملاحظة

نحن ندرك أن هناك العديد من المشاريع مفتوحة المصدر المختلفة التي يتم إصدارها، حتى على أساس يومي، ولكننا أردنا توفير حزمة Python مباشرة تسمح للمستخدم بتحديد العلاقات المعروفة بين جميع الاتجاهات الرأسية لإطار عمل MITRE ATT&CK.

إذا كنت غير معتاد على إطار عمل MITRE ATT&CK، فهناك بعض المكونات الرئيسية التي يجب أن تكون لديك فكرة واضحة عنها. الأول هو التكتيكات والتقنيات. عند النظر إلى إطار عمل MITRE ATT&CK، فإن التكتيكات هي الأعمدة وتمثل المراحل المختلفة للهجوم.

إطار عمل MITRE ATT&CK ليس خريطة أمنية شاملة/افتراضية - بل هو إطار عمل ويجب أيضًا النظر في السبل الإضافية عند تقييم وضعك الأمني.

التقنيات هي صفوف الإطار ويتم تصنيفها تحت تكتيكات محددة (أعمدة). إنها نقاط بيانات داخل الإطار توفر إرشادات عند تقييم فجواتك الأمنية. بالإضافة إلى ذلك، تحتوي معظم التقنيات على إرشادات تخفيف بالإضافة إلى معلومات حول علاقتها بالأدوات والبرامج الضارة وحتى الجهات الفاعلة/المجموعات التي استخدمت هذه التقنية أثناء الهجمات المسجلة.

هذا يعني، إذا كانت مؤسستك تركز على TTPs (التكتيكات والتقنيات والإجراءات) التي تستخدمها بعض الجهات الفاعلة/المجموعات، فإن إطار عمل MITRE ATT&CK مثالي لك. إذا كنت لم تصل إلى هذا المستوى من النضج الأمني داخل مؤسستك، لا تقلق! لا يزال إطار عمل ATT&CK يوفر إرشادات جيدة جدًا بتخطيط بسيط ومباشر، لكنه ليس مباشرًا برمجيًا - خاصة إذا كنت ترغب في قياس (أو رسم) ضوابطك الأمنية باستخدام الإطار.

التطوير والاختبار

يمكنك إضافة ميزات أو أخطاء أو تشغيل الكود في بيئة تطوير.

  1. للحصول على بيئة تطوير واختبار جاهزة، استخدم [Dockerfile] هذا (https://github.com/swimlane/pyattck/blob/master/Dockerfile).

  2. لاستخدام Dockerfile، قم بتشغيل cd إلى دليل هذا المستودع وقم بتشغيل:

root@kitploit:~
docker build --force-rm -t pyattck .
  1. بعد ذلك، قم بتشغيل حاوية docker:
root@kitploit:~
docker run pyattck

يؤدي تشغيل هذا إلى استدعاء ملف اختبار python في bin/test.py.

  1. قم بتعديل ملف اختبار python لمزيد من الاختبارات والتطوير.

تشغيل الاختبارات

يجب أن تغطي الاختبارات داخل هذا المشروع جميع الخصائص والطرق المتاحة. مع نمو هذا المشروع، ستصبح الاختبارات أكثر قوة، لكننا حاليًا نختبر أنها موجودة وتعيد مخرجات.

المساهمة

يرجى قراءة CONTRIBUTING.md للحصول على تفاصيل حول مدونة قواعد السلوك الخاصة بنا، وعملية تقديم طلبات السحب إلينا.

الإصدارات

نستخدم SemVer للإصدارات.

سجل التغييرات

للحصول على تفاصيل حول ميزات إصدار معين من pyattck، راجع CHANGELOG.md.

المؤلفون

  • Josh Rickard - العمل الأولي - MSAdministrator

راجع أيضًا قائمة المساهمين.

الترخيص

هذا المشروع مرخص بموجب رخصة MIT.

الإقرارات

أولاً وقبل كل شيء، أود أن أشكر كل من يساهم في المشاريع مفتوحة المصدر، وخاصة القائمين على هذه المشاريع ومنشئيها. بدونهم، لن تكون هذه الإمكانية ممكنة.

يتم إنشاء مجموعة البيانات هذه من مصادر مختلفة جدًا. بينما نستمر في إضافة المزيد من المصادر، سنستمر في إضافتها هنا. مرة أخرى شكرًا لجميع هذه المشاريع. بدون ترتيب معين، يستخدم pyattck بيانات من المشاريع التالية:

  • Mitre ATT&CK APT3 Adversary Emulation Field Manual
  • Atomic Red Team (by Red Canary)
  • Atomic Threat Coverage
  • attck_empire (by dstepanic)
  • sentinel-attack (by BlueTeamLabs)
  • Litmus_test (by Kirtar22)
  • nsm-attack (by oxtf)
  • osquery-attck (by teoseller)
  • Mitre Stockpile
  • SysmonHunter (by baronpan)
  • ThreatHunting-Book (by 12306Bro)
  • threat_hunting_tables (by dwestgard)
  • APT Groups & Operations
  • C2Matrix (by @jorgeorchilles, @brysonbort, @adam_mashinchi)
  • Elemental
  • MalwareArchaeology - ATTACK
  • Attack-Technique-Dataset
root@kitploit:~
.. toctree::
   :titlesonly:

   configuration
   pyattck/attck
   Dataset <https://github.com/swimlane/pyattck-data>
   Data Models <https://github.com/swimlane/pyattck-data>
   enterprise/enterprise
   preattck/preattck
   mobile/mobileattck
   ics/icsattck
تنزيل الأداة