Módulo 5
Crear y compartir IoC
Última actualización en: 25 Septiembre 2024
Editar esta página en GitHubMódulo 5
Última actualización en: 25 Septiembre 2024
Editar esta página en GitHubUna vez que hayas analizado un malware, puedes ayudar a la comunidad (y también a ti mismo y al resto del mundo) compartiendo tus hallazgos. El malware novedoso es bastante raro y, una vez utilizado, tiende a reutilizarse ampliamente. Al compartir sus hallazgos, puedes ayudar a todos de varias maneras:
Después de completar este subtema, el profesional debe ser capaz de realizar lo siguiente:
Podemos dividir los IoCs en términos generales en legibles por humanos y legibles por máquinas. Las IoCs legibles por máquina pueden ser cualquier cosa que una computadora pueda usar para detectar malware, y hay muchos formatos que intentan representar ricamente la complejidad del comportamiento del malware. Sin embargo, hay varios formatos simples que son fáciles de crear y usar y que son bastante populares:
Los hashes de archivos y las especificaciones del servidor son los más fáciles de crear y usar. Sin embargo, a veces se requiere la complejidad adicional de las reglas de YARA o Snort para identificar el malware. Por ejemplo, el malware puede comunicarse con su servidor de C&C en cualquier host y puerto, pero envía un mensaje específico al servidor; para eso, necesita algo así como una regla de Snort. Del mismo modo, un archivo de malware puede contener contenido diferente con cada infección, pero siempre contiene una string única específica. Para eso, necesitas algo así como una regla de YARA.
Las IoCs legibles por humanos son descripciones de cosas que hace el malware que son útiles para las personas que investigan un posible compromiso, pero menos para las computadoras. Estos toman la forma de descripciones narrativas de las actividades del malware. Estos tienen la ventaja de que generalmente ser más fáciles de crear y comprender, y se pueden convertir en IoCs legibles por máquina para una variedad de sistemas de detección.
Un buen informe de análisis de malware generalmente contendrá una descripción legible por humanos del malware y sus capacidades, junto con algunos IoCs legibles por máquina en un apéndice. Esto garantiza que el informe sea útil para la audiencia más amplia.
Un buen IoC minimizará tanto los falsos positivos como los falsos negativos. Especialmente porque es de esperar que el malware sea raro en la mayoría de los sistemas, detectar buenos archivos como maliciosos (falsos positivos) puede crear una falsa sensación de riesgo y conducir a la eliminación de archivos legítimos. Del mismo modo, un IoC que no detecta una parte significativa de ese malware (falsos negativos) puede ser peligroso, atrayendo a los defensores a una falsa sensación de seguridad.
Con eso en mente, repasemos algunos de los formatos simples comunes de IoC.
Los hashes de archivos se encuentran entre los IoCs más simples. Se calcula un hash criptográfico (o dos) de un archivo que es exclusivo del malware, y eso es todo. Convencionalmente, se proporcionan hashes MD5 y SHA256. Aunque hay numerosas debilidades con MD5, generalmente no son significativas en el contexto de las IoCs. Las principales desventajas de los hashes de archivos es que cualquier cambio en el archivo permitirá que el malware eluda la detección basada en IoC. En la mayoría de los casos, es trivial simplemente agregar un byte al archivo, causando un hash completamente diferente. Sin embargo, los hashes de archivos siguen siendo sorprendentemente efectivos para detectar malware.
Un paso adelante en la complejidad de los hashes de archivos son las reglas de YARA. Las reglas de YARA empaquetan información sobre el malware, una lista de secuencias binarias o cadenas en el archivo y reglas sobre qué strings/secuencias deben estar en el archivo (por ejemplo, string 1 o string 2, y también string 3). YARA mantiene un buen equilibrio entre simplicidad y flexibilidad. Para obtener más información sobre YARA, consulte el sitio web oficial y también esta publicación de blog sobre la creación de reglas de YARA para un archivo de malware.
Una cosa a tener en cuenta al trabajar con YARA es asegurarse de que su regla esté libre de falsos positivos. Por ejemplo, una regla que coincida con “Este programa no se puede ejecutar en modo DOS” coincidiría con todos los ejecutables en un sistema Windows. Después de crear tus reglas de YARA para algunos programas maliciosos, es una buena idea ejecutarlas en un par de sistemas (con suerte) no infectados para asegurarse de que no identifiquen archivos no maliciosos. Existen herramientas para ayudar a crear reglas de YARA, por ejemplo, yarGen analizará un archivo de malware y creará un punto de partida para una regla de YARA que no incluya strings buenas conocidas. Asegúrese de leer el README y las publicaciones de blog adjuntas antes de usar la herramienta.
A menudo, el malware se pondrá en contacto con un servidor de comando y control remoto para recibir instrucciones, descargar etapas posteriores de malware, etc. Si es posible predecir con qué servidores se pondrá en contacto el malware (por ejemplo, si está codificado en el binario), entonces es posible crear IoCs que identifiquen el tráfico de red malicioso. Algunos ejemplos pueden ser:
Los identificadores de servidor son similares a los hashes de archivos en que son bastante simples pero también bastante frágiles. Sin embargo, al igual que los hashes de archivos, también son sorprendentemente efectivos.
Si los identificadores del servidor son como hashes de archivos para el tráfico de red, entonces las reglas de Snort son como las reglas de YARA para el tráfico. Snort es un sistema de detección de intrusiones de código abierto y tiene un motor de reglas maduro y ampliamente utilizado. Las reglas de snort son más complicadas que las de YARA, pero siguen siendo bastante manejables. La documentación oficial puede ser bastante desalentadora, pero la mayoría de las reglas son bastante simples. Esta página describe la estructura de las reglas de Snort y proporciona algunos ejemplos simples. Finalmente, aquí hay un conjunto de reglas de Snort para algunos malware reales.
Al igual que con las reglas de YARA, puede ser bastante fácil crear falsos positivos accidentalmente. Considere capturar unos días de su tráfico de red y ejecutar cualquier regla de Snort que cree contra esas capturas de paquetes.
Al pensar en crear IoCs, debe considerar lo que es intrínseco al malware en general, en comparación con lo que es específico de la muestra que analizó. Aquí están algunos ejemplos:
En este punto, debes saber cómo adquiriste el malware, qué hace y cómo detectarlo. Este artículo desglosa algunas de las cosas que debe contener un excelente informe de análisis de malware, y esta publicación de blog de un instructor de SANS proporciona algunos consejos para el informe general. Además, es genial explicar tu proceso de pensamiento en secciones narrativas. Esto puede ser tanto educativo para las personas que se inician en el análisis de malware como para ayudar a los investigadores de malware más experimentados a ayudarte en caso de que te hayas perdido algo.
Atribuir malware a un actor de amenazas en particular es una actividad popular entre los analistas de malware. Sin embargo, es difícil obtener resultados precisos. No sientas que necesitas realizar una atribución si no estás seguro, lo más importante es publicar IoCs.
En la ruta de aprendizaje Detección, Investigación y Seguimiento de Infraestructuras Maliciosas, también hemos creado una sección sobre artículos e informes que podrían ser de ayuda.
Las siguientes publicaciones de blog públicas pueden servirte de inspiración para tus propios informes. Todos ellos utilizan diferentes tonos y formatos, pero todos también contienen IoCs.
Una vez que hayas creado un informe, hay algunas cosas que puedes hacer con el:
Puedes hacer cualquiera, todas o incluso ninguna de estas cosas. Si estaba trabajando con un cliente cuyo dispositivo se vio comprometido, por supuesto, deberá asegurarse de que se sienta cómodo compartiendo el informe. Lo mejor es obtener su aprobación por escrito.
Si eres miembro de una organización como CiviCERT, ese es un gran lugar para compartir tus hallazgos. Es probable que los demás miembros lean tu informe, proporcionen comentarios y tomen medidas al respecto.
También puedes publicar tus hallazgos en tu blog o en algún lugar como GitHub. Esto requiere poco esfuerzo, pero también puede ser limitado en su impacto. Sin embargo, su informe puede ser invaluable para alguien que busca en Internet el hash SHA de un archivo o un identificador de servidor.
Por último, si tienes muestras de malware, puedes enviarlas a las principales compañías antivirus. Es poco probable que lean un informe, pero pueden analizar el malware e incluir firmas en su producto. Para obtener más información sobre el envío de malware, esta página proporciona enlaces a la información de envío de varias empresas.
Responda la pregunta 7.3 y complete el ejercicio 7.3 de la guía de campo para la respuesta a incidentes.
Discuta con su mentor o compañero cómo manejaría cada una de esas direcciones IP en sus informes de malware. ¿Algunos de ellos hacen mejores IoCs que otros?
¿Qué es el hashing y cómo funciona?
GratisUna breve introducción al tema de los hashes de archivos y qué papel desempeñan en la detección e investigación de malware
YARA
GratisLa página de inicio oficial de la herramienta YARA, que se utiliza para la coincidencia de patrones, principalmente durante la investigación de malware
Caza de amenazas 101 con reglas de Yara
GratisEsta publicación analiza cómo crear y usar las reglas de YARA para detectar archivos maliciosos.
yarGen
GratisUna herramienta que puede automatizar alguna generación de strings para las reglas de YARA
Reglas de Snort
GratisLa mejor manera de pensar en Snort es como si fuera similar a YARA, pero para las redes, utilizando patrones para detectar y detener las intrusiones. Esta publicación presenta algunas reglas básicas para ello.
Ejemplos y uso de reglas de snort
GratisAlgunas buenas reglas para los principiantes de Snort
Qué incluir en un informe de análisis de malware
GratisUna sólida lista de tareas pendientes para todas las cosas principales que debe tener en cuenta y anotar al crear un informe de análisis de malware para compartir con los demás
Redacción de informes de malware
GratisUna guía más antigua (2012) pero aún muy útil de SANS sobre las mejores prácticas al escribir informes de malware
¡Felicidades por terminar Módulo 5!
Marque la casilla para confirmar su finalización y continúe al siguiente módulo.
Marca el módulo actual como completado y guarda el progreso para el usuario.
Has completado todos los módulos en este camino de aprendizaje.