
Identificando os grupos APT mais prováveis responsáveis por um incidente
Reconhecendo os grupos APT mais prováveis responsáveis por um incidente
Este programa recebe um relatório de um incidente de segurança cibernética contendo as técnicas MITRE ATT&CK que foram detectadas como utilizadas no incidente e tenta reconhecer quais grupos APT são os mais prováveis de terem sido responsáveis pelo incidente.
O script depende do módulo enterpriseattack para acesso fácil às várias técnicas e grupos MITRE ATT&CK, portanto você precisa instalar este módulo antes de poder usar o script. Como esse módulo requer Python versão 3.6 ou superior, este script também só é executado nessas versões do Python.
Clone o repositório:
git clone https://gitlab.com/bontchev/whodunit.git
Vá para o diretório do script:
cd whodunit
Instale as dependências:
pip install -r requirements.txt
python whodunit.py [-h] [-v] [-n NUMGROUPS] [-b] [-u] [-d] techniques
O script aceita as seguintes opções de linha de comando:
-h, --help Exibe uma breve explicação de como usar o script e quais são as opções de linha de comando.
-v, --version Exibe a versão do script e sai.
-n NUMGROUPS, --numgroups NUMGROUPS Número de grupos mais próximos a listar (padrão: 10).
-b, --verbose Lista as técnicas MITRE ATT&CK do relatório.
-u, --update Atualiza a cópia local dos dados MITRE ATT&CK.
-d, --deprecated Usa também as técnicas ATT&CK obsoletas.
techniques Um arquivo de texto contendo uma lista das técnicas MITRE ATT&CK observadas durante o incidente de segurança cibernética. Linhas vazias são ignoradas, tudo após um caractere # em uma linha é considerado um comentário e é ignorado. Mais de uma técnica pode ser listada na mesma linha, caso em que devem ser separadas por um ou mais espaços em branco.
O repositório contém um relatório (fictício) de um incidente de segurança cibernética no arquivo report.txt. A descrição em linguagem natural do que foi observado está nos comentários. Você pode processar este relatório com o script da seguinte forma:
python whodunit.py -u -b -n 5 report.txt
Isso fará com que o script atualize a cópia local dos dados MITRE ATT&CK (a opção -u), liste as técnicas reconhecidas no relatório do incidente (a opção -b) e produza os 5 grupos APT mais prováveis de terem sido responsáveis pelo incidente (a opção -n 5):
Processing report file "report.txt"...
Observed techniques:
T1003.001
T1005
T1039
T1059.001
T1068
T1078.003
T1110.003
T1114.001
T1133
T1213.002
T1486
T1548.002
T1560
T1562.001
T1573.002
The 5 APT groups most likely responsible:
G0007 (APT28 ): 60.00%
G0016 (APT29 ): 53.33%
G0037 (FIN6 ): 46.67%
G0060 (BRONZE BUTLER ): 40.00%
G0114 (Chimera ): 40.00%
O script funciona encontrando a interseção entre o conjunto de técnicas conhecidas por serem usadas por cada grupo APT e o conjunto de técnicas listadas no relatório do incidente, reportando com maior confiança os grupos para os quais essa interseção é o maior subconjunto de técnicas listadas no relatório do incidente.
A primeira coluna é o identificador do grupo APT na estrutura MITRE ATT&CK, a segunda coluna é o nome comum desse grupo, e a terceira coluna é qual porcentagem das técnicas no relatório do incidente são técnicas conhecidas por serem usadas pelo grupo APT correspondente.
Nota: Apenas a matriz Enterprise da estrutura MITRE ATT&CK é suportada (e não, por exemplo, as matrizes Mobile ou ICS), porque é isso que o módulo enterpriseattack suporta.
Este projeto está licenciado sob a licença GNU v3.0.