Este tutorial é baseado nas instruções do site oficial do MISP (https://misp-project.org/). O projeto HackInSDN utiliza soluções de contêineres Docker, com imagens mantidas por Stefano Ortolani da VMware, que são regularmente atualizadas no repositório do GitHub do MISP. Acesse a documentação do MISP para opções de instalação. Instruções para instalação usando as imagens mantidas por Stefano Ortolani podem ser encontradas em: https://github.com/MISP/misp-docker.
Requisitos mínimos para implementar uma instância do MISP:
Passo 1: Clone o repositório misp-docker. Para isso, execute o seguinte comando no seu terminal:
git clone https://github.com/MISP/misp-docker/ && cd docker-misp
Passo 2: Copie o arquivo de ambiente e remova seu prefixo temporário:
cp template.env .env
Passo 3: Dentro do diretório criado, verifique se o arquivo docker-compose.yml
foi baixado corretamente. Se sim, você precisará fazer o pull de imagens pré-compiladas ou criar novas, sendo a segunda opção mais recomendada. Para fazer o pull de imagens pré-compiladas:
docker compose pull
Para construir novas imagens:
docker compose build
AVISO: O processo de geração de imagens pode levar algum tempo. Aguarde até que seja concluído antes de prosseguir para o próximo passo. Em caso de erros, consulte a seção de Troubleshooting disponível no repositório referenciado neste tutorial.
Passo 4: Agora, você precisa carregar os contêineres responsáveis por habilitar os componentes necessários (misp, misp-modules, redis, database e mail) para o funcionamento do MISP.
docker compose up
Passo 5: Acesse a interface web do MISP em https://localhost utilizando as credenciais:
admin@admin.test
admin
Após instalar o MISP, algumas configurações são necessárias, como alteração de senhas, criação de organizações e adição de novos usuários.
Para alterar a senha do usuário padrão, clique em Administration » List Users, depois em Create new credentials. Após inserir a nova senha, confirme a senha atual (admin
) e envie as alterações.
Para criar uma nova organização, clique em Administration » Add Organisations e preencha os campos com o nome, UUID, descrição, nacionalidade, setor e outras informações relevantes sobre sua organização.
Para criar um novo usuário, clique em Administration » Add User e preencha os campos com nome, email, senha, função, organização, entre outras informações pertinentes para o novo usuário em sua organização.
O PyMISP é uma biblioteca Python que facilita a interação com a plataforma MISP através de sua API REST. Com o PyMISP, é possível realizar operações como recuperar eventos, adicionar ou modificar eventos e atributos, fazer upload ou atualizar amostras e realizar buscas por atributos. Para instalar a biblioteca, siga os passos abaixo:
Passo 1: Instale as dependências necessárias:
pip3 install pymisp
Passo 2: Acesse o diretório em https://github.com/MISP/PyMISP/tree/main/examples
Modifique o arquivo keys.py.sample
para incluir sua URL do MISP e chave de API:
cd examples
cp keys.py.sample keys.py
vim keys.py
Para exportar IPs comprometidos de sua instância do MISP no formato de regra do Suricata, execute o script export_suricata
:
sh export_suricata
Para exportar indicadores de compromisso de um evento específico em formato CSV, execute o script export_csv
com o seguinte comando:
python3 export_csv -e -f
O script importCauma.py
realiza a importação básica de dados em uma instância MISP. No exemplo abaixo, URLs maliciosas coletadas do Catálogo de URLs Maliciosas (https://cauma.pop-ba.rnp.br/) são inseridas. Para executar o script, use o comando:
python3 importCauma.py