
Um pacote Python para interagir com o Mitre ATT&CK Framework
.______ ____ ____ ___ .___________.___________. ______ __ ___
| _ \ \ \ / / / \ | | | / || |/ /
| |_) | \ \/ / / ^ \ `---| |----`---| |----`| ,----'| ' /
| ___/ \_ _/ / /_\ \ | | | | | | | <
| | | | / _____ \ | | | | | `----.| . \
| _| |__| /__/ \__\ |__| |__| \______||__|\__\
Um pacote Python para interagir com os Frameworks MITRE ATT&CK
Versão atual é 7.1.1
pyattck é um framework leve para os Frameworks MITRE ATT&CK. Este pacote extrai detalhes dos Frameworks Enterprise, PRE-ATT&CK, Mobile e ICS da MITRE.
pyattck ajuda organizações e indivíduos a acessar os Frameworks MITRE ATT&CK de forma programática. Ou seja, você pode acessar todos os atores, malwares, mitigações, táticas, técnicas e ferramentas definidos nos frameworks Enterprise, Mobile, Pre-Attck e ICS por meio de um utilitário de linha de comando ou incorporando em sua própria base de código.
Existem muitas razões para querer acessar esses dados de forma automatizada (script/código), mas alguns exemplos são:
Existem outros benefícios que o pyattck oferece, incluindo a capacidade de fornecer dados contextuais adicionais. Você pode encontrar mais informações sobre esses dados aqui, mas o básico é que o pyattck utiliza múltiplos repositórios de código aberto para coletar dados contextuais adicionais, como comandos usados para executar uma técnica, país e outros detalhes sobre um ator malicioso, outras variantes de malware semelhantes a uma ferramenta/malware definido, etc.
Esse contexto adicional é o que torna o pyattck verdadeiramente poderoso e permite que as pessoas construam testes e validações mais robustos de suas regras de detecção, validem suposições de teste, etc. Existem inúmeras maneiras pelas quais o pyattck pode ser utilizado para ajudar equipes azuis, vermelhas e roxas a defender organizações (e a si mesmas).
O pacote pyattck recupera todas as Táticas, Técnicas, Atores, Malwares, Ferramentas e Mitigações dos Frameworks MITRE ATT&CK, bem como qualquer relacionamento definido dentro do conjunto de dados MITRE ATT&CK (incluindo sub-técnicas).
Além disso, as Técnicas, Atores e Ferramentas (quando aplicável) agora possuem dados coletados de fontes terceiras que são acessíveis por meio de diferentes propriedades. Para informações mais detalhadas sobre essas funcionalidades, veja Conjuntos de Dados Externos.
O pacote pyattck permite que você:
Você pode instalar o pyattck no OS X, Linux ou Windows. Também pode instalá-lo diretamente do código fonte. Para instalar, veja os comandos abaixo de acordo com o sistema operacional.
pip install pyattck
git clone https://github.com/swimlane/pyattck.git
cd pyattck
python setup.py install
Para usar o pyattck você deve instanciar um objeto Attck. Embora você possa interagir diretamente com cada classe, o uso previsto é através de um objeto Attck:
from pyattck import Attck
attack = Attck()
Por padrão, as sub-técnicas são acessíveis dentro de cada objeto de técnica. Você pode desativar esse comportamento passando nested_techniques=False ao criar seu objeto Attck.
Como exemplo, o comportamento padrão é o seguinte:
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)
Você pode acessar as seguintes propriedades principais no seu objeto Attck:
Assim que você especificar o Framework MITRE ATT&CK, poderá acessar propriedades adicionais.
Aqui estão os objetos acessíveis sob a propriedade Enterprise:
Para mais informações sobre os tipos de objetos sob a propriedade enterprise, veja Enterprise.
Aqui estão os objetos acessíveis sob a propriedade PreAttck:
Para mais informações sobre os tipos de objetos sob a propriedade preattck, veja PreAttck.
Aqui estão os objetos acessíveis sob a propriedade Mobile:
Para mais informações sobre os tipos de objetos sob a propriedade mobile, veja Mobile.
Aqui estão os objetos acessíveis sob a propriedade ICS: