Projeto Playbook Generator
Este projeto automatiza a criação INICIAL de playbooks do SOC baseados no framework MITRE ATT&CK e cria arquivos Markdown que podem ser importados para sua ferramenta de documentação.
Motivação
Criar playbooks seguindo padrões que estejam em compliance dá muito trabalho, e toma um tempo que o analista poderia dedicar fazendo hunting, melhorando as queries sugeridas no playbook e toda a parte técnica envolvida.
Por essa razão criei um script que cria um esqueleto de um playbook para ser um belo ponto de partida para o analista de SOC responsável pelo gerenciamento dos playbooks.
Assim teremos playbooks bem explicados do ponto de vista conceitual, e eficientes do ponto de vista técnico.
Um aviso sério: eu não sou programador, apenas preguiçoso e gosto de automatizar coisas que acho chato fazer manualmente, então podem haver erros no script eventualmente, fique a vontade para fazer um fork ou mandar uma mensagem para trocarmos um papo sobre o script.
Caso voce queira que conste coisas especificas no playbook, ou que seja inerente ao processo de resposta a incidente da sua empresa, basta modifica-lo de acordo.
Visão Geral
Este projeto automatiza a criação INICIAL de playbooks do SOC baseados no framework MITRE ATT&CK e cria arquivos Markdown que podem ser importados para sua ferramenta de documentação.
Cada playbook contém:
Descrição detalhada da técnica.
Táticas relacionadas.
Mitigações recomendadas.
Informações de detecção.
Procedimentos de resposta.
Referências adicionais.
Deixei um exemplos de como fica o template aqui:
[PT-BR] T1055 - Process Injection[EN] T1055 - Process InjectionDocumentação de Uso
Pré-requisitos
Python 3.8+
Arquivo
enterprise-attack.json
do MITRE ATT&CK.
Instalação
Faça download do projeto e instale as dependências:
git clone https://github.com/imgodes/auto-playbook.git
pip install mitreattack-python python-dotenv
Baixe os dados do MITRE ATT&CK:
wget https://github.com/mitre/cti/raw/master/enterprise-attack/enterprise-attack.json
Como Executar
Opções básicas:
# Gerar para técnicas específicas
python playbooks.py --technique T1059
python playbooks.py --techniques T1059 T1078 T1195
# Especificar diretório de saída
# Caso contrario o script cria uma pasta "playbooks"
python playbooks.py --output my_playbooks
# Sobrescrever arquivos existentes
python playbooks.py --force
# Log detalhado
python playbooks.py --verbose
# Ajuda
python playbooks.py --help
Formato do Nome dos Arquivos
playbook_[TID]_[Nome_da_Técnica].md
Exemplo: playbook_T1059_Command-Line_Interface.md
Personalização
Edite estas funções para customizar:
create_markdown_content()
- Formato do playbook.sanitize_filename()
- Padrão de nomes de arquivos.convert_markdown_links()
- Tratamento de links.
Atualização dos Dados
rm enterprise-attack.json
wget https://github.com/mitre/cti/raw/master/enterprise-attack/enterprise-attack.json
Solução de Problemas
Erro ao carregar dados do MITRE
Verifique se o arquivo
enterprise-attack.json
existe no diretório de execução atual.Confira as permissões de leitura do arquivo.
Problemas com caracteres especiais
Edite a função
sanitize_filename()
no script para adaptar ao seu sistema.
Atualizado
Isto foi útil?