En este post vamos a resolver la máquina «Oski» de nivel Easy de la plataforma Cyberdefenders.org . Si quieres empezar a realizar prácticas en sus laboratorios, o no sabes en qué consiste esta plataforma, he creado este post que te guiará a configurarlo y saber cómo usarla.

Al final del post verás un resumen de los conceptos trabajados en este laboratorio.

A tener en cuenta como contexto de resolución del laboratorio:

ESCENARIO

El contable de la empresa recibió a última hora de la tarde un correo electrónico titulado «Nuevo pedido urgente» de un cliente.

Cuando intentó acceder a la factura adjunta, descubrió que contenía información falsa sobre el pedido. Posteriormente, la solución SIEM generó una alerta sobre la descarga de un archivo potencialmente malicioso.

Tras una investigación inicial, se descubrió que el archivo PPT podría ser el responsable de esta descarga. ¿Podría realizar un examen detallado de este archivo?.

Lo primero es descargamos el .zip en nuestra máquina bajo la carpeta que hemos creado del laboratorio.

Localizamos el fichero y lo descomprimimos usando en mi caso 7z («sudo apt install p7zip-full p7zip-rar»), e introducimos la contraseña que nos da Cyberdefenders para extraer la info.

Una vez extraído vemos que se descarga un fichero .txt llamado hash que contiene información codificada en MD5:

En este punto, lo que hacemos es empezar a resolver las preguntas del laboratorio, sabiendo que las principales herramientas que nos ayudarán a resolverlas son Virus Total y ANY.RUN (tal y como indican en la descripción del laboratorio).

PREGUNTA 1 : Determinar la hora de creación del malware puede proporcionar información sobre su origen. ¿Cuál fue la hora de creación del malware?

Si buscamos ese código hash MD5 en VirusTotal , podemos ver que está categorizado como malicioso por la gran mayoría de herramientas de detección de malware de las que dispone en su base de datos la herramienta VirusTotal.

Si además, nos vamos a la parte de Details, podemos ver información más detallada del malware como la fecha de creación, que en este caso fue: 2022-09-28 17:40

PREGUNTA 2 : Identificar el servidor de mando y control (C2) con el que se comunica el malware puede ayudar a rastrear al atacante. ¿Con qué servidor C2 se comunica el malware del archivo PPT?

Aclarar que, el concepto de Servidor C2 hace referencia a la máquina externa del atacante, que en este caso es el que controla remotamente el malware.

Para ello vamos a ver qué peticiones hace ese malware y con qué servidor externo se comunica para enviar las instrucciones de cómo debe ejecutarse en el servidor o máquina víctima una vez se ejecute.

Aquí, de nuevo, podemos analizarlo mediante VirusTotal, y sería tan fácil como irnos a la pestaña de Relations, y veríamos las urls a las que se conecta, que serían las alojadas en el servidor http://171.22.28.221 y a los ficheros http://171.22.28.221/5c06c05b7b34e8e6.php y librería .dll .

PREGUNTA 3 : Identificar las acciones iniciales del malware tras la infección puede proporcionar información sobre sus objetivos principales. Cuál es la primera biblioteca que solicita el malware tras la infección?

Se responde de la pregunta anterior, donde como decíamos, además de llamar al .php , se hace una llamada a una biblioteca .dll http://171.22.28.221/9e226a84ec50246d/sqlite3.dll

Un archivo DLL (Dynamic Link Library) es un fichero especial que contiene código o instrucciones que pueden ser usadas por varios programas en Windows. Piensa en un archivo DLL como una «caja de herramientas» que diferentes programas pueden abrir para usar alguna función o herramienta que necesitan.

Esto tiene ventajas porque permite:

  • Reutilizar código: No hay que escribir el mismo código para cada programa, sino que muchos programas pueden compartir ese código.
  • Reducir espacio: Al compartir código entre programas, se ahorra espacio en disco.
  • Facilitar actualizaciones: Si se actualiza el archivo DLL, todos los programas que lo usan se benefician automáticamente de esa mejora.

Sin embargo, los atacantes también pueden usar archivos DLL maliciosos para esconder malware, como ocurre en este caso.

Esto indica que una de las acciones iniciales del malware tras infectar el equipo es descargar y utilizar esta biblioteca, probablemente con la intención de almacenar datos o configuraciones en bases de datos SQLite para mantener persistencia o almacenar información recopilada en la máquina infectada.

PREGUNTA 4 : Al examinar el malware, parece utilizar la clave RC4 para descifrar una cadena base64. Qué clave RC4 específica utiliza este malware?

En este caso, la plataforma recomienda usar la herramienta gratuita ANY.RUN para resolver estas preguntas.

ANY.RUN es una herramienta online fácil de usar, que permite analizar malware en tiempo real, observando cómo se comporta cuando se ejecuta.

¿Qué es ANY.RUN explicado fácilmente?

ANY.RUN es como un laboratorio virtual en la nube, donde puedes «ejecutar» un archivo malicioso de manera segura y observar qué hace paso a paso, sin dañar tu propio equipo.

Piensa en ello como una caja aislada (sandbox) en internet, donde puedes ver todo lo que hace el malware en tiempo real:

  • Qué archivos crea o descarga.
  • Con qué servidores se comunica.
  • Qué claves de cifrado utiliza.
  • Qué datos roba, etc.

Si te has registrado en la herramienta (sólo deja la versión gratis añadiendo una cuenta de correo de empresa), y accedes a esta url del informe de ese malware en ANY.RUN https://app.any.run/tasks/d55e2294-5377-4a45-b393-f5a8b20f7d44 , podrás ver el panel con toda la información y registro de la actividad del malware.

Si vamos a la opción de «CFG» configuration, podemos ver la actividad de ese exe malicioso y la clave de RC4 (5329514621441247975720749009).

La clave RC4 es una contraseña o clave que se utiliza en el algoritmo de cifrado RC4 (Rivest Cipher 4), el cual es un método simple y rápido para cifrar información.

En términos muy sencillos:

  • RC4 es como un candado digital sencillo que protege datos transformándolos en algo ilegible.
  • La clave RC4 es como la llave específica que abre y cierra ese candado, permitiendo cifrar y descifrar la información.

Cuando el malware usa una clave RC4, lo que hace es proteger o esconder información (por ejemplo, comandos, direcciones, o datos robados), cifrándola para evitar ser detectado fácilmente. Solo quien tenga esa clave (el atacante o la víctima si la recupera) puede descifrar esa información.

PREGUNTA 5 : Identificar las técnicas de un adversario puede ayudar a comprender sus métodos y a idear contramedidas. ¿Qué técnica ATT&CK de MITRE están empleando para robar la contraseña de un usuario?

¿Qué es ATT&CK de MITRE? : Es una matriz que clasifica técnicas utilizadas por ciberdelincuentes en diferentes fases de sus ataques. Permite a analistas de seguridad identificar claramente qué método específico empleó un malware para atacar un sistema. Estas técnicas se agrupan por objetivos como robo de credenciales, persistencia, escalada de privilegios, etc.

Dentro del mismo informe de ANY.RUN podemos ver la opción de ATT&CK con la matriz de MITRE donde nos muestra las técnicas que, en base a lo que está corriendo el malware en local, y en red, la herramienta detecta como más probables.

Y en este caso, muestra que la técnica utilizada por el malware según MITRE ATT&CK es: la T1555 – Credentials from Web Browsers (credenciales obtenidas desde navegadores web).

Esta sub-técnica indica que el malware extrae las contraseñas directamente almacenadas en los navegadores web del usuario infectado.

PREGUNTA 6 : Los programas maliciosos pueden borrar los archivos dejados por las acciones de su actividad de intrusión. ¿A qué directorio o ruta apunta el malware para su eliminación?

El malware (en este caso VPN.exe) ejecuta una instrucción específica desde la línea de comandos de Windows para eliminar rastros de sus acciones y dificultar ser detectado.

El comando que ejecuta es este:

"C:\Windows\system32\cmd.exe" /c timeout /t 5 & del /f /q "C:\Users\admin\AppData\Local\Temp\VPN.exe" & del "C:\ProgramData\*.dll"" & exit

Vamos a descomponerlo por partes fácilmente:

  1. timeout /t 5
    El malware espera 5 segundos antes de continuar. Esto generalmente es para asegurar que el malware se cierre completamente antes de borrarse a sí mismo.
  2. del /f /q "C:\Users\admin\AppData\Local\Temp\VPN.exe"
    Aquí, el malware se auto-elimina. Está borrando el archivo VPN.exe original que descargó en el directorio temporal del usuario para que no quede evidencia de su ejecución.
    • del significa «borrar».
    • /f fuerza el borrado, aunque el archivo esté en uso o protegido.
    • /q evita que Windows te pregunte si realmente deseas eliminarlo.
  3. del "C:\ProgramData\*.dll"
    Aquí está eliminando todos los archivos con extensión .dll dentro del directorio C:\ProgramData. Esto indica que el malware podría haber descargado archivos adicionales (como sqlite3.dll), y ahora los está borrando para evitar que puedan ser analizados posteriormente.
  4. exit
    Finalmente, la ventana de comandos se cierra automáticamente tras ejecutar estos comandos.

Por lo tanto, la respuesta a la pregunta sobre la ruta o directorio al que apunta el malware para su eliminación es:

  • C:\Users\admin\AppData\Local\Temp\VPN.exe (archivo ejecutable original)
  • C:\ProgramData\*.dll (todos los archivos DLL en este directorio)

PREGUNTA 7 : Comprender el comportamiento del malware tras la exfiltración de datos puede ayudar a entender sus técnicas de evasión. Después de extraer con éxito los datos del usuario, ¿cuántos segundos tarda el malware en autoeliminarse?

Tal y como hemos visto anteriormente, tras extraer los datos del usuario, el malware ejecuta el siguiente comando, por lo que la respuesta es 5 segundos.

timeout /t 5

Este comando significa que el malware espera exactamente 5 segundos antes de autoeliminarse, borrando sus archivos para no dejar rastro. Este comportamiento es habitual en el malware avanzado para evitar la detección y análisis posterior.

📌 Resumen de la resolución de la máquina «Oski»

Al comenzar el análisis de esta máquina llamada «Oski», primero encontramos un archivo sospechoso y verificamos si era dañino utilizando VirusTotal, una página web que ayuda a identificar malware comparándolo con una gran base de datos.

Ahí vimos que efectivamente era malicioso y se conectaba a un servidor remoto, conocido como servidor de mando y control (C2), desde donde el atacante controlaba el malware y obtenía información.

Luego utilizamos otra herramienta llamada ANY.RUN, que es como un laboratorio virtual seguro para ejecutar malware sin poner en riesgo nuestro equipo, y así pudimos ver qué hacía exactamente este archivo malicioso cuando infectaba una computadora.

Gracias al análisis en ANY.RUN, descubrimos que el malware descargaba una biblioteca llamada sqlite3.dll y que utilizaba una clave especial llamada RC4 para ocultar sus acciones. Además, identificamos que usaba una técnica específica (T1555.003 de MITRE ATT&CK) para robar contraseñas almacenadas en navegadores web.

Finalmente, vimos que después de robar esos datos, el malware esperaba exactamente 5 segundos antes de eliminarse automáticamente para no dejar rastros, lo que complica su detección posterior.

Te recomiendo seguir los directos de CYBERFORGECHANNEL en Twitch donde cuenta noticias relacionadas con el sector y realiza laboratorios de blueteam de CyberDefenders y también de redteam de HackTheBox.

Otros posts relacionados