
Forensia digital distribuida y en tiempo real a la velocidad de la nube
MIG: Mozilla InvestiGator ========================= <img style="float: right" src="https://assets.kitploit.com/production/public/readmes/2658/6d957dafc93528619412a685a6f83bef80e3a7686b16d32e4e0b1d5fde326900/a6257aeb7d9432326eb737515b25e496e2d424e6946d97316da6c52defc55586-display-v1.webp" size="300px"> MIG es la plataforma de Mozilla para la investigación quirúrgica de endpoints remotos. ⚠️ Aviso de desuso ⚠️ ------------------------- Mozilla ya no mantiene el proyecto Mozilla InvestiGator (MIG). Mozilla tampoco utiliza este código internamente. Eres bienvenido a usar este código tal cual, sin garantía. Por favor, haz un fork para continuar el desarrollo. Inicio rápido con Docker --------------------- Puedes montar una instalación local de MIG usando Docker. El contenedor no es adecuado para producción, pero te permite experimentar con MIG rápidamente, proporcionando un entorno de un solo contenedor que tiene la mayoría de los componentes de MIG disponibles. Para obtener la imagen de Docker Hub: ```bash $ docker pull mozilla/mig $ docker run -it mozilla/mig ``` O, si tienes el código fuente en tu GOPATH, puedes construir tu propia imagen: ```bash $ cd $GOPATH/src/github.com/mozilla/mig $ docker build -t mozilla/mig:latest . $ docker run -it mozilla/mig ``` Una vez dentro del contenedor, puedes usar las herramientas de MIG para consultar un agente local, así: ```bash 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 las capacidades de MIG, echa un vistazo al [CheatSheet](https://github.com/mozilla/mig/blob/master/doc/cheatsheet.rst). ¿Qué es esto? ------------- MIG está compuesto por agentes instalados en todos los sistemas de una infraestructura que pueden ser consultados en tiempo real para investigar los sistemas de archivos, el estado de la red, la memoria o la configuración de los endpoints. | Capacidad | Linux | MacOS | Windows | | ---------------------- | ----- | ----- | ------- | | inspección de archivos |  |  |  | | inspección de red |  |  | (parcial) | | inspección de memoria |  |  |  | | gestión de vulnerabilidades |  | (planeado) | (planeado) | | análisis de logs | (planeado) | (planeado) | (planeado) | | auditoría del sistema |  | (planeado) | (planeado) | Imagina que son las 7 de la mañana de un sábado, y alguien acaba de publicar una vulnerabilidad crítica para tu aplicación PHP favorita. La vulnerabilidad ya está siendo explotada y los grupos de seguridad están publicando indicadores de compromiso (IOCs). Tu fin de semana no empieza bien, y la idea de inspeccionar manualmente miles de sistemas no lo mejora. MIG puede ayudar. La firma de la aplicación PHP vulnerable (el md5 de un archivo, una expresión regular, o simplemente un nombre de archivo) se puede buscar en todos tus sistemas usando el módulo `file`. Del mismo modo, los IOCs, como entradas de log específicas, archivos backdoor con hashes md5 y sha1/2/3, direcciones IP de botnets o cadenas de bytes en las memorias de los procesos, se pueden investigar usando MIG. De repente, tu fin de semana parece mucho mejor. Y con solo unos comandos, miles de sistemas serán investigados de forma remota para verificar que no estás en riesgo.  Los agentes de MIG están diseñados para ser ligeros, seguros y fáciles de desplegar, para que puedas pedirle a tus administradores de sistemas favoritos que lo añadan a un despliegue base sin miedo a romper toda la red de producción. Todos los parámetros se integran en el agente en tiempo de compilación, incluyendo la lista y las ACL de los investigadores autorizados. La seguridad se aplica mediante claves PGP, e incluso si los servidores de MIG se ven comprometidos, siempre que nuestras claves estén a salvo en el portátil de tu investigador, nadie podrá acceder a los agentes. MIG está diseñado para ser rápido y asíncrono. Utiliza AMQP para distribuir acciones a los endpoints y se basa en canales de Go para evitar que los componentes se bloqueen. Las acciones y comandos en ejecución se almacenan en una base de datos Postgresql y en caché de disco, de modo que la fiabilidad de la plataforma no depende de procesos de larga duración. La velocidad es un requisito importante. La mayoría de las acciones solo tardarán unos cientos de milisegundos en ejecutarse en los agentes. Las más grandes, por ejemplo, cuando se busca un hash en un directorio grande, deberían ejecutarse en menos de uno o dos minutos. En resumen, una investigación normalmente se completa entre 10 y 300 segundos. La privacidad y la seguridad son primordiales. Los agentes nunca envían datos brutos a la plataforma, sino que solo responden a preguntas. Todas las acciones se firman con claves GPG que no se almacenan en la plataforma, evitando así que un compromiso tome el control de toda la infraestructura. Tecnología ---------- MIG está construido en Go y utiliza una API REST que recibe mensajes JSON firmados distribuidos a los agentes a través de RabbitMQ y almacenados en una base de datos Postgres. Es: * Masivamente distribuido, lo que significa rapidez. * Simple de desplegar y multiplataforma. * Asegurado mediante OpenPGP. * Respetuoso con la privacidad, ya que nunca recupera datos brutos de los endpoints. Echa un vistazo a este video de 10 minutos para una presentación más general y una demostración de la interfaz de consola. [](http://www.youtube.com/watch?v=wJwj5YB6FFA) MIG fue presentado recientemente en la cumbre SANS DFIR en Austin, Tx. Puedes ver la grabación a continuación: [](http://www.youtube.com/watch?v=pLyKPf3VsxM) Discusión ---------- Únete a **#mig** en [irc.mozilla.org](https://wiki.mozilla.org/IRC) (usa un cliente web como [mibbit](https://chat.mibbit.com)). Documentación ------------- Toda la documentación está disponible en el directorio 'doc' y en http://mig.mozilla.org . * [Conceptos y componentes internos](https://github.com/mozilla/mig/blob/master/doc/concepts.rst) * [Instalación y configuración](https://github.com/mozilla/mig/blob/master/doc/configuration.rst)