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.

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 Injection

Documentação de Uso

Pré-requisitos

  • Python 3.8+

  • Arquivo enterprise-attack.json do MITRE ATT&CK.

Instalação

  1. 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 
  1. 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?