
Ein leichtgewichtiges Python-Modul zur Interaktion mit dem [MITRE ATT&CK®](https://attack.mitre.org/)-Enterprise-Datensatz. Entwickelt für Geschwindigkeit mit minimalen Abhängigkeiten. [Lies die Dokumentation](https://gitlab.com/xakepnz/enterpriseattack/tree/main/docs) für weitere Informationen.
Ein leichtgewichtiges Python-Modul für die Interaktion mit dem MITRE ATT&CK Enterprise-Datensatz. Entwickelt für den Einsatz in Produktionsanwendungen dank seiner Geschwindigkeit und minimalen Abhängigkeiten. Weitere Informationen finden Sie in der Dokumentation.
MITRE ATT&CK® ist eine weltweit zugängliche Wissensbasis über Taktiken und Techniken von Angreifern, die auf Beobachtungen aus der Praxis basiert. Die ATT&CK-Wissensbasis dient als Grundlage für die Entwicklung spezifischer Bedrohungsmodelle und Methodiken im privaten Sektor, in der Regierung und in der Community für Cybersicherheitsprodukte und -dienstleistungen.
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()
Greifen Sie direkt auf jedes Objekt der Attack-Klasse zu, anstatt zu iterieren, um bestimmte Objekte zu finden.
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))
In diesem Beispiel können Sie festlegen, woher die offizielle Mitre-Att&ck-JSON-Datei heruntergeladen wird, einschließlich der Proxys, die verwendet werden sollen. Alternativ können Sie das Argument enterprise_json anpassen, wenn Sie die JSON-Datei an einem separaten Speicherort ablegen möchten. Standardmäßig wird sie in Ihrem Standard-Site-Packages-Speicherort gespeichert.
enterprise_json - (optional) Speicherort der Enterprise-JSON-Datei (wird automatisch im Pip-Installationsspeicherort gespeichert)url - (optional) Speicherort der Enterprise-JSON-Datei, die heruntergeladen werden sollupdate - (optional) boolescher Wert, der einen erneuten Download erzwingt (bei jedem Aufruf) und die vorherige Datei überschreibtinclude_deprecated - (optional) boolescher Wert, um veraltete MITRE-ATT&CK-Objekte (aus früheren Att&ck-Versionen) einzuschließenmitre_version - (optional) gibt eine MITRE-ATT&CK-Datenversion anproxies - (optional) Dict mit Proxys, die verwendet werden, um die enterprise-attack.json vom MITRE-GitHub zu erreichenattack = 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())
...
Weitere Beispiele finden Sie in der Dokumentation