Parte 6 — Análisis de malware

⬅️ Volver al programa · 📚 Índice completo · ⏭️ Parte siguiente

20 clases · rango 141–160 · Estático, dinámico, PE, unpacking, YARA y reporte

Fuentes de referencia de esta parte:


🎯 ¿De qué trata esta parte?

El análisis de malware es la disciplina de diseccionar software malicioso para responder tres preguntas: qué hace, cómo lo hace y cómo detectarlo. No se trata de escribir malware, sino de leerlo: entender un binario que un adversario diseñó para resistir el análisis, extraer sus indicadores, reconstruir su comportamiento y traducir todo eso en detecciones y en un informe accionable para un equipo de respuesta.

Esta parte recorre el flujo completo del analista: montar un laboratorio aislado, hacer triaje estático y dinámico, entender el formato PE de Windows, usar desensambladores como Ghidra e IDA, vencer packers y ofuscación, seguir el comportamiento y las comunicaciones C2, y estudiar familias concretas (ransomware, rootkits, documentos maliciosos, malware de Linux y Android, fileless). Cierra con reglas YARA, threat intelligence y la redacción de un reporte profesional.

Sirve a analistas de malware, respondedores de incidentes (DFIR), threat hunters, ingenieros de detección y equipos de SOC que necesitan ir más allá del veredicto binario de un antivirus y comprender de verdad la amenaza que tienen delante.

🧩 Problemas que resuelve

🎓 Resultados de aprendizaje

Al terminar la parte, el alumno podrá:

🧱 Prerrequisitos

Esta parte apoya el análisis en varios cimientos de las partes anteriores:

Necesitas tener claro… Dónde se cubre
Ingeniería inversa: ELF/PE, Ghidra, estático vs dinámico Parte 5 · Clases 130–135
Laboratorio aislado con snapshots Clase 004
Hashing, cifrado híbrido (para ransomware) Clases 049, 051
Persistencia, C2, exfiltración (desde el ataque) Clases 082–083
DNS tunneling y beaconing (para el C2) Clases 041, 045
Diamond Model y MITRE ATT&CK Clase 003

🧭 Cómo recorrer esta parte

El orden va del método a las especializaciones. Las clases 141–148 construyen el flujo de trabajo fundamental (laboratorio, triaje, PE, RE, unpacking, comportamiento) que todo lo demás da por sabido; a partir de ahí, las clases de familias y vectores (149–155) y las de detección e inteligencia (156–160) se apoyan en ese método. Conviene recorrer el bloque fundamental en orden y sin saltos; los vectores específicos (documentos, scripts, Linux, Android) son más independientes entre sí.

El ritmo. La parte suma unas 39 h 40 min de trabajo guiado, más el tiempo de laboratorio con muestras reales, que es considerable. A dos horas al día son unas cinco semanas.

El método, clase a clase.

  1. Lee 🎯 Objetivo y 📚 Resultados de aprendizaje.
  2. Lee 🧠 Explicación en profundidad antes de detonar nada. El porqué de cada técnica —por qué el malware se empaqueta, por qué usa LOLBins— es lo que hace reconocibles las variantes nuevas.
  3. Prepara el laboratorio aislado de 🧰 Herramientas y preparación. En esta parte esto no es negociable: se trabaja con malware real.
  4. Haz el 🧪 Laboratorio guiado con snapshots, restaurando tras cada muestra.
  5. Resuelve ✍️ Ejercicios y el 📝 Reto verificable.
  6. Repasa el 📔 Glosario: la parte encadena muchas siglas (IAT, OEP, DKOM, DGA, LOLBin, IOC, TTP).

⚠️ Uso ético y seguridad — la clase 142 precede a todo. Aquí se manejan muestras de malware reales, diseñadas para infectar. Se trabaja siempre en un laboratorio aislado (host-only, sin ruta a Internet ni a la red real), con snapshots, y con las muestras guardadas cifradas (contraseña infected). Un laboratorio mal montado te convierte en la primera víctima o en el vector que infecta a tu organización. No detones una muestra hasta haber montado y verificado el aislamiento de la clase 142.

🧱 Anatomía de una clase

Las 20 clases siguen el estándar pedagógico profundo del programa:

Sección Qué contiene Para qué la usas
🎯 Objetivo Qué sabrás hacer al terminar y por qué importa Decidir si necesitas la clase
📚 Resultados de aprendizaje Lista verificable de capacidades concretas Autoevaluarte al final
🗺️ Temas Cada tema con el porqué de su inclusión Ubicarte antes de leer
🧠 Explicación en profundidad El mecanismo del malware y cómo revertirlo, con diagramas Entender, no memorizar recetas
📖 Definiciones y características Cada término desarrollado con su relevancia Consulta puntual
📔 Glosario Términos y siglas de la clase, en tabla Repaso rápido
🧰 Herramientas y preparación Qué instalar y qué laboratorio montar Antes del laboratorio
🧪 Laboratorio guiado Análisis paso a paso de una muestra, en aislamiento Donde de verdad se aprende
✍️ Ejercicios · 📝 Reto verificable Práctica propia y una muestra que analizar Consolidar y demostrar
⚠️ Errores comunes · ❓ Preguntas frecuentes Tropiezos reales y dudas auténticas Cuando algo no encaja
🔗 Referencias Sikorski, Monnappa, ATT&CK, DFIR Report Profundizar

El CI del repositorio verifica que ninguna clase de esta parte pierda las secciones 🧠 Explicación en profundidad ni 📔 Glosario.

🗺️ Estructura temática

Bloque Clases Enfoque Tiempo
Fundamentos y lab 141–142 Taxonomía y laboratorio seguro ≈ 3 h 15
Triaje 143–144 Análisis estático y dinámico básico ≈ 3 h 20
Ingeniería inversa 145–147 PE, Ghidra/IDA, unpacking ≈ 6 h 20
Comportamiento y familias 148–151 Conducta, C2, ransomware, rootkits ≈ 8 h 20
Vectores específicos 152–155 Documentos, scripts, Linux, Android ≈ 7 h 40
Detección e inteligencia 156–159 YARA, threat intel, emulación, fileless ≈ 7 h 40
Cierre 160 Reporte de análisis ≈ 1 h 50

Fundamentos y lab
141-142

Triaje
143-144

Ingenieria inversa
145-147

Comportamiento y familias
148-151

Vectores especificos
152-155

Deteccion e inteligencia
156-159

Reporte
160

Parte 7: Red Team

📖 Guía capítulo a capítulo

🧪 Bloque 1 · Fundamentos y laboratorio — clases 141 a 142

🔍 Bloque 2 · Triaje — clases 143 a 144

🔬 Bloque 3 · Ingeniería inversa — clases 145 a 147

🧠 Bloque 4 · Comportamiento y familias — clases 148 a 151

📄 Bloque 5 · Vectores específicos — clases 152 a 155

🎯 Bloque 6 · Detección e inteligencia — clases 156 a 159

📝 Bloque 7 · Cierre — clase 160

🧰 Qué tendrás al terminar

🚦 ¿Puedo saltarme clases?

El bloque fundamental (141–148) no se salta; los vectores específicos sí, si no aplican a tu trabajo. Sáltate una clase solo si respondes de memoria a su pregunta de control:

Si dominas… Pregunta de control Si titubeas
Laboratorio (142) ¿Qué hace INetSim y por qué es imprescindible? Haz 142
Estático (143) ¿Por qué los imports revelan las capacidades de una muestra? Haz 143
PE (145) ¿Qué diferencia una RVA de un raw offset? Haz 145
Unpacking (147) ¿Qué es el OEP y por qué hay que localizarlo? Haz 147
C2 (149) ¿Por qué el beaconing se detecta aun con tráfico cifrado? Haz 149
Fileless (159) ¿Por qué el LotL derrota la detección basada en ficheros? Haz 159

🔗 Referencias de la parte

▶️ Empezar

La progresión 150–154 conecta RaaS con la economía CaaS y después muestra cómo una infección Linux o IoT puede aportar capacidad a una botnet. La evidencia esperada separa malware, infraestructura, servicio y campaña; una muestra o un bot no bastan para atribuir al cliente final.

Clase 141 — Introducción al malware: tipos y taxonomía