
A lightweight Python module to interact with the [MITRE ATT&CK®](https://attack.mitre.org/) Enterprise dataset. Built for speed with minimal dependencies. [Read the docs](https://gitlab.com/xakepnz/enterpriseattack/tree/main/docs) for more info.
وحدة Python خفيفة للتفاعل مع مجموعة بيانات MITRE ATT&CK الخاصة بـ Enterprise. صُممت لتُستخدم في التطبيقات الإنتاجية بفضل سرعتها وتبعياتها البسيطة. اقرأ الوثائق لمزيد من المعلومات.
MITRE ATT&CK® هي قاعدة معرفية متاحة عالميًا لتكتيكات وتقنيات الخصوم، مبنية على ملاحظات من العالم الحقيقي. تُستخدم قاعدة معرفة ATT&CK كأساس لتطوير نماذج ومنهجيات تهديد محددة في القطاع الخاص، وفي الحكومة، وفي مجتمع منتجات وخدمات الأمن السيبراني.
pip3 install enterpriseattack
git clone https://gitlab.com/xakepnz/enterpriseattack.git
cd enterpriseattack
python3 setup.py install
docker build enterpriseattack:0.1.8 .
docker tag enterpriseattack:0.1.8 enterpriseattack:latest
docker run enterpriseattack
import enterpriseattack
attack = enterpriseattack.Attack()
الوصول إلى أي كائن مباشرةً من فئة Attack، بدلاً من التكرار للعثور على كائنات محددة.
attack = enterpriseattack.Attack(subscriptable=True)
wizard_spider = attack.groups.get('Wizard Spider')
print(len(wizard_spider.tactics))
execution = attack.tactics.get('Execution')
print(len(execution.techniques))
في هذا المثال، يمكنك اختيار المكان الذي تريد تنزيل ملف Mitre Att&ck json الرسمي منه، بما في ذلك البروكسيات التي تريد المرور عبرها. بدلاً من ذلك، إذا كنت تريد حفظ ملف json في موقع منفصل، يمكنك تعديل وسيط enterprise_json. افتراضيًا، يتم حفظ هذا في موقع site-packages الافتراضي لديك.
enterprise_json - (اختياري) موقع ملف enterprise json، (يُحفظ تلقائيًا في موقع pip)url - (اختياري) موقع ملف enterprise json للتنزيل منه.update - (اختياري) قيمة منطقية تفرض تنزيلًا محدثًا (في كل مرة يتم استدعاء هذا)، مع استبدال الملف السابق.include_deprecated - (اختياري) قيمة منطقية لتضمين كائنات MITRE ATT&CK المهملة (من إصدارات Att&ck السابقة).mitre_version - (اختياري) تحديد إصدار بيانات MITRE ATT&CK.proxies - (اختياري) قاموس بروكسيات للمرور عبرها للوصول إلى GitHub الخاص بـ MITRE من أجل enterprise-attack.json.attack = enterpriseattack.Attack(
enterprise_json=None,
url='https://raw.githubusercontent.com/mitre/cti/master/enterprise-attack/enterprise-attack.json',
include_deprecated=False,
update=False,
subscriptable=True,
mitre_version='latest',
proxies={'http':'http://127.0.0.1:1337'}
)
attack = enterpriseattack.Attack(
mitre_version='11.3',
update=True
)
print(attack.mitre_version)
attack = enterpriseattack.Attack()
for tactic in attack.tactics:
print(tactic.name)
for technique in tactic.techniques:
print(technique.name)
print(technique.detection)
for software in attack.software:
for technique in software.techniques:
for sub_technique in technique.sub_techniques:
print(software.name, technique.name, sub_technique.name)
attack = enterpriseattack.Attack()
for tactic in attack.tactics:
print(tactic.to_json())
for group in attack.groups:
print(group.to_json())
...
لمزيد من الأمثلة، يرجى الرجوع إلى الوثائق