Day 6: Egg-Xecutable - Advent of Cyber 2025

xhetic

xhetic

@xhetic

TryHackMeAdventOfCyberMalware Analysis
Day 6: Egg-Xecutable - Advent of Cyber 2025

📚 Esta publicación pertenece a las colecciones:

Day 6: Egg-Xecutable - Advent of Cyber 2025

Hoy subimos un poco el nivel con una room de dificultad Medium. Nos adentramos en el mundo del Análisis de Malware, una disciplina fundamental para cualquier Blue Teamer.

El objetivo no es solo resolver el reto, sino entender la metodología que sigue un analista profesional para diseccionar un ejecutable sospechoso (en este caso, HopHelper.exe).

Room: Malware Analysis - Egg-xecutable
Dificultad: Medium
Objetivo: Entender la diferencia entre análisis estático y dinámico, y utilizar herramientas estándar de la industria para obtener IOCs (Indicadores de Compromiso).


🛡️ Principios del Análisis de Malware

Antes de tocar nada, es crucial entender qué estamos haciendo. El análisis de malware se divide generalmente en dos fases:

  1. Análisis Estático: Examinamos el archivo sin ejecutarlo. Buscamos firmas, cadenas de texto (strings), librerías importadas y metadatos. Es seguro, pero puede ser limitado si el malware está ofuscado o empaquetado.
  2. Análisis Dinámico: Ejecutamos el malware en un entorno controlado y aislado (Sandbox) para observar su comportamiento real: qué archivos crea, qué claves de registro toca y con quién se comunica.

Regla de Oro: Nunca ejecutes malware en tu máquina host. Usa siempre una máquina virtual desechable (Sandbox).


🔍 Análisis Estático: La Primera Mirada

Empezamos con el análisis estático usando PeStudio. Esta herramienta nos permite ver las "tripas" del ejecutable sin despertarlo.

Identificación (Checksums)

Lo primero que necesitamos es identificar el archivo de forma única. Para ello usamos funciones hash (como MD5 o SHA256). Este "huella digital" nos permite buscar el archivo en bases de datos como VirusTotal para ver si otros analistas ya lo han catalogado.

Al cargar HopHelper.exe en PeStudio, obtenemos su hash y sabiendo esto, podemos contestar a la primera pregunta:

Pregunta: What is the SHA256Sum of the HopHelper.exe?

Respuesta: F29C270068F865EF4A747E2683BFA07667BF64E768B38FBB9A2750A3D879CA33

Strings (Cadenas de Texto)

Los ejecutables contienen cadenas de caracteres legibles (ASCII o Unicode). Los atacantes a veces son descuidados y dejan pistas valiosas en los strings, como direcciones IP, contraseñas, rutas de archivos o mensajes.

PeStudio extrae miles de strings. Si filtramos o bajamos al final de la lista, encontramos una cadena que destaca sobre el resto...

Strings encontrados en PeStudio
Click para ver imagen

Esa es la flag para responder la segunda pregunta:

Pregunta: Within the strings of HopHelper.exe, a flag with the format THM{XXXXX} exists. What is that flag value?

Respuesta: THM{STRINGS_FOUND}


💥 Análisis Dinámico: Cazando el Comportamiento

El análisis estático nos ha dado pistas, pero ahora queremos ver al malware en acción. Pasamos al análisis dinámico.

Persistencia con Regshot

Una de las metas principales de cualquier malware es la Persistencia: asegurarse de que se ejecuta automáticamente cada vez que se reinicia el equipo. Una técnica clásica es añadir una entrada en las claves Run del Registro de Windows.

Para detectar esto usamos Regshot. Esta herramienta funciona tomando dos "fotos" (snapshots) del registro:

  1. 1st Shot: Tomamos la foto del estado limpio (antes de ejecutar el malware).
  2. Ejecución: Ejecutamos HopHelper.exe. (¡Sorpresa! Los iconos del escritorio cambian a huevos de pascua).
  3. 2nd Shot: Tomamos la foto del estado infectado.
  4. Compare: La herramienta nos muestra las diferencias.

El reporte de comparación nos revela que se ha creado una nueva clave en el registro apuntando a nuestro ejecutable.

Esa información nos permite responder la siguiente pregunta del reto:

Pregunta: What registry value has the HopHelper.exe modified for persistence?

Respuesta: HKU\S-1-5-21-1966530601-3185510712-10604624-1008\Software\Microsoft\Windows\CurrentVersion\Run\HopHelper

Monitorización de Procesos con ProcMon

Ahora queremos ver qué hace el proceso en tiempo real: ¿Qué archivos toca? ¿A qué red se conecta? Para esto, la herramienta reina es Process Monitor (ProcMon) de Sysinternals.

ProcMon captura miles de eventos por segundo, así que el filtrado es esencial para no ahogarnos en ruido.

  1. Abrimos ProcMon.
  2. Ejecutamos el malware de nuevo.
  3. Pausamos la captura y aplicamos un filtro: Process Name is HopHelper.exe.

Esto nos deja solo con la actividad de nuestro malware.

ProcMon filtrado por HopHelper

Pero la room nos pide investigar su actividad de red, así que añadimos otro filtro: Operation contains TCP.

Vemos eventos de TCP Connect, TCP Send, TCP Receive y TCP Disconnect. Esto confirma que el malware se comunica por la red.

Filtro TCP
Click para ver imagen

Observando esta imagen, podemos responder a la pregunta:

Pregunta: What network protocol is HopHelper.exe using to communicate?

Respuesta: HTTP


🕵️ Bonus: El Panel de Control (C2)

Si observamos los detalles de la conexión TCP en ProcMon, podemos analizar el Path de la comunicación:

breachblocker-sandbox:50275 -> breachblocker-sandbox:http

Peticion TCP

Desglosemos qué significa esto:

  • breachblocker-sandbox: Es el nombre de la máquina (hostname).
  • 50275: Es el puerto efímero de origen que abre el proceso.
  • http: Es el puerto de destino (80), asociado al protocolo web.

Esto nos indica que el malware se está comunicando con la propia máquina (localhost) a través del puerto 80. Es decir, el servidor de Comando y Control (C2) está alojado localmente en este entorno de laboratorio.

Si abrimos el navegador y visitamos http://localhost:80, descubrimos el panel de control donde el malware está enviando los datos robados.

Panel de control del malware
Click para ver imagen

🏁 Conclusión

Hoy hemos aprendido el flujo de trabajo básico de un analista de malware:

  1. Identificar la amenaza (Hash).
  2. Buscar pistas superficiales (Strings).
  3. Detectar cambios en el sistema (Registro/Persistencia).
  4. Analizar comunicaciones (ProcMon).

Estas habilidades son la base para investigaciones más complejas, como ingeniería inversa o análisis forense digital.

Mañana publicaré el writeup del Día 7, donde seguiremos investigando incidentes.

Si te perdiste la entrada de ayer sobre IDOR y seguridad en APIs, puedes leer el Día 5: Santa’s Little IDOR aquí. Y si quieres empezar desde el principio, tienes el Día 1: Shells Bells.

¡Nos vemos mañana! 🎄

~ Xhetic