
Un módulo ligero de Python para interactuar con el conjunto de datos Enterprise de [MITRE ATT&CK®](https://attack.mitre.org/). Construido para velocidad con dependencias mínimas. [Lee la documentación](https://gitlab.com/xakepnz/enterpriseattack/tree/main/docs) para más información.
Un módulo de Python ligero para interactuar con el conjunto de datos Enterprise de MITRE ATT&CK. Diseñado para usarse en aplicaciones de producción debido a su velocidad y dependencias mínimas. Lea la documentación para más información.
MITRE ATT&CK® es una base de conocimiento de acceso global de tácticas y técnicas de adversarios basada en observaciones del mundo real. La base de conocimiento de ATT&CK se utiliza como base para el desarrollo de modelos de amenazas y metodologías específicas en el sector privado, el gobierno y la comunidad de productos y servicios de ciberseguridad.
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()
Acceda a cualquier objeto directamente desde la clase Attack, en lugar de iterar para encontrar objetos específicos.
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))
En este ejemplo, puede elegir desde dónde descargar el json oficial de Mitre Att&ck, incluidos los proxies a través de los cuales pasar. Alternativamente, si desea guardar el archivo json en una ubicación separada, puede modificar el argumento enterprise_json. De forma predeterminada, se guarda dentro de la ubicación predeterminada de site-packages.
enterprise_json - (opcional) ubicación del archivo json de enterprise, (se guarda automáticamente en la ubicación de pip)url - (opcional) ubicación del archivo json de enterprise desde donde descargar.update - (opcional) booleano que fuerza una descarga de actualización (cada vez que se llama), sobrescribiendo el archivo anterior.include_deprecated - (opcional) booleano para incluir objetos obsoletos de MITRE ATT&CK (de versiones anteriores de Att&ck).mitre_version - (opcional) especificar una versión de datos de MITRE ATT&CK.proxies - (opcional) dict de proxies a través de los cuales pasar para alcanzar el GitHub de MITRE para el 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())
...
Para más ejemplos, consulte la Documentación