
Perícia digital forense distribuída & em tempo real na velocidade da nuvem
MIG é a plataforma da Mozilla para cirurgia investigativa de endpoints remotos.
Mozilla não está mais mantendo o projeto Mozilla InvestiGator (MIG).
Mozilla também não está mais utilizando este código internamente.
Você é bem-vindo(a) para usar este código como está, sem garantia. Por favor, faça um fork para continuar o desenvolvimento.
Você pode montar uma configuração MIG local apenas com docker. O contêiner não é adequado para uso em produção, mas permite que você experimente o MIG rapidamente, fornecendo um ambiente de contêiner único que possui a maioria dos componentes do MIG disponíveis.
Para baixar do Docker Hub:
$ docker pull mozilla/mig
$ docker run -it mozilla/mig
Ou, se você tiver o código fonte baixado em seu GOPATH, pode construir sua própria imagem:
$ cd $GOPATH/src/github.com/mozilla/mig
$ docker build -t mozilla/mig:latest .
$ docker run -it mozilla/mig
Uma vez dentro do contêiner, você pode usar as ferramentas MIG para consultar um agente local, como a seguir:
mig@5345268590c8:~$ /go/bin/mig file -t all -path /usr/bin -sha2 5c1956eba492b2c3fffd8d3e43324b5c477c22727385be226119f7ffc24aad3f
1 agents will be targeted. ctrl+c to cancel. launching in 5 4 3 2 1 GO
Following action ID 7978299359234.
1 / 1 [=========================================================] 100.00% 0/s4s
100.0% done in 3.029105958s
1 sent, 1 done, 1 succeeded
ed11f485244a /usr/bin/wget [lastmodified:2016-07-05 15:32:42 +0000 UTC, mode:-rwxr-xr-x, size:419080] in search 's1'
1 agent has found results
Para explorar as capacidades do MIG, dê uma olhada na CheatSheet.
MIG é composto por agentes instalados em todos os sistemas de uma infraestrutura que podem ser consultados em tempo real para investigar os sistemas de arquivos, estado da rede, memória ou configuração de endpoints.
Imagine que são 7h da manhã de sábado, e alguém acabou de lançar uma vulnerabilidade crítica para sua aplicação PHP favorita. A vulnerabilidade já está sendo explorada e grupos de segurança estão divulgando indicadores de comprometimento (IOCs). Seu fim de semana não está começando bem, e a ideia de inspecionar manualmente milhares de sistemas não está melhorando.
MIG pode ajudar. A assinatura do aplicativo PHP vulnerável (o md5 de um arquivo, uma regex, ou apenas um nome de arquivo) pode ser pesquisada em todos os seus sistemas usando o módulo file. Da mesma forma, IOCs como entradas de log específicas, arquivos backdoor com hashes md5 e sha1/2/3, endereços IP de botnets ou strings de byte em memórias de processos podem ser investigados usando MIG. De repente, seu fim de semana parece muito melhor. E com apenas alguns comandos, milhares de sistemas serão investigados remotamente para verificar se você não está em risco.

Os agentes MIG são projetados para serem leves, seguros e fáceis de implantar, para que você possa pedir aos seus administradores de sistemas favoritos para adicioná-lo a uma implantação base sem medo de quebrar toda a rede de produção. Todos os parâmetros são incorporados ao agente no momento da compilação, incluindo a lista e ACLs de investigadores autorizados. A segurança é garantida usando chaves PGP, e mesmo que os servidores MIG sejam comprometidos, desde que nossas chaves estejam seguras no laptop do investigador, ninguém invadirá os agentes.
MIG é projetado para ser rápido e assíncrono. Ele utiliza AMQP para distribuir ações para endpoints, e conta com canais Go para evitar que componentes bloqueiem. Ações e comandos em execução são armazenados em um banco de dados PostgreSQL e em cache em disco, de modo que a confiabilidade da plataforma não depende de processos de longa duração.
Velocidade é um requisito forte. A maioria das ações leva apenas algumas centenas de milissegundos para serem executadas nos agentes. Ações maiores, por exemplo, ao procurar um hash em um diretório grande, devem ser concluídas em menos de um ou dois minutos. No geral, uma investigação geralmente é concluída entre 10 e 300 segundos.
Privacidade e segurança são fundamentais. Os agentes nunca enviam dados brutos de volta para a plataforma, apenas respondem a perguntas. Todas as ações são assinadas por chaves GPG que não são armazenadas na plataforma, evitando assim que um comprometimento assuma o controle de toda a infraestrutura.
MIG é construído em Go e usa uma API REST que recebe mensagens JSON assinadas distribuídas aos agentes via RabbitMQ e armazenadas em um banco de dados PostgreSQL.
Ele é:
Confira este vídeo de 10 minutos para uma apresentação mais geral e uma demonstração da interface de console.
MIG foi recentemente apresentado no SANS DFIR Summit em Austin, TX. Você pode assistir à gravação abaixo:
Junte-se ao #mig no irc.mozilla.org (use um cliente web como mibbit).
Toda a documentação está disponível no diretório 'doc' e em http://mig.mozilla.org .
| Capacidade | Linux | MacOS | Windows |
|---|
| inspeção de arquivos | ![]() | ![]() | ![]() |
| inspeção de rede | ![]() | ![]() | (parcial) |
| inspeção de memória | ![]() | ![]() | ![]() |
| gerenciamento de vuln | ![]() | (planejado) | (planejado) |
| análise de logs | (planejado) | (planejado) | (planejado) |
| auditoria de sistema | ![]() | (planejado) | (planejado) |