RedLine - Cyberdefenders
Vamos a resolver un laboratorio blue team donde debemos analizar un dump de memoria utilizando técnicas forenses básicas.
⚠️ Para resolver este laboratorio usaré la herramienta volatility3.
Instalación de volatility3.
# Clonamos el repositorio
git clone https://github.com/volatilityfoundation/volatility3
#Instalamos los requerimientos
pip3 install -r requirements.txt
#Ejecución básica de volatility3
python3 vol.py -f <file> <plugin>
Escenario
As a member of the Security Blue team, your assignment is to analyze a memory dump using Redline and Volatility tools. Your goal is to trace the steps taken by the attacker on the compromised machine and determine how they managed to bypass the Network Intrusion Detection System "NIDS". Your investigation will involve identifying the specific malware family employed in the attack, along with its characteristics. Additionally, your task is to identify and mitigate any traces or footprints left by the attacker.
Descargaremos el archivo que debemos analizar y comenzamos con el laboratorio.
Question 1 & Question 2
Q1: What is the name of the suspicious process?
Q2: What is the child process name of the suspicious process?
Para encontrar el proceso sospechoso primero debemos saber que procesos se estaban ejecutando en el momento de realizar el dump de memoria.
Para listar los procesos existentes tenemos diferentes plugins de volatility, en este caso usaremos el plugin windows.pslist
Tras lanzar el comando podremos ver un listado bastante extenso, donde encontré varios procesos extraños.
| Nombre | PID | PPID |
|---------------|------|------|
| rundll32.exe | 7732 | 5896 |
| oneetx.exe | 5480 | 8844 |
| tun2socks.exe | 4628 | 6724 |
| Outline.exe | 6724 | 6724 |
A simple vista podemos ver que el proceso tun2socks es un proceso hijo de Outline.exe.
Intenté extraer el archivo oneetx.exe ya que me llamaba bastante la atención pero no pude por lo que comencé a buscar información en internet y encontré un reporte de any.run.
En el reporte podemos ver que oneetx.exe carga y ejecuta el archivo rundll32.exe.
El archivo rundll32.exe es un proceso hijo de oneetx.exe y su PPID es 5896.
Question 3
Q3: What is the memory protection applied to the suspicious process memory region?
La protección de memoria en Windows es una característica del sistema operativo diseñada para evitar que un proceso acceda o manipule la memoria de otro proceso de manera no autorizada.
Para descubrir la protección aplicada al proceso sospechoso hago uso del plugin windows.malfind y filtramos por el PID 5896.
Esta configuración permite que la memoria sea leída, escrita y ejecutada por el proceso que la utiliza.
Te dejo por aquí las posibles implicaciones de seguridad:
Implicaciones de Seguridad
Vulnerabilidad a Ataques: Permitir la ejecución y escritura en la misma área de memoria puede abrir la puerta a ataques, como:
Inyección de Código: Un atacante podría inyectar código malicioso en un área de memoria que tenga esta protección y ejecutarlo.
Exploits de Buffer Overflow: Si un programa tiene debilidades, un atacante podría explotar estas debilidades manipulando la memoria para ejecutar código que no debería tener permiso.
Análisis de Malware: En el análisis de malware, encontrar áreas de memoria con
PAGE_EXECUTE_READWRITE
puede ser una señal de que un programa está diseñado para modificar su propio código o para ejecutar código malicioso, ya que estas características son comunes en diversos tipos de malware.
Detección y Manejo
Cuando estás analizando un dump de memoria y encuentras regiones con protección PAGE_EXECUTE_READWRITE
, es importante considerar:
Revisar el Comportamiento del Proceso: Verificar si ese proceso está haciendo un uso legítimo de esa memoria o si está realizando actividades sospechosas.
Inspeccionar el Código: Si es posible, revisar el código que se está ejecutando en esa memoria para asegurarte de que no contiene instrucciones maliciosas.
Establecer Controles: En entornos críticos, puede ser recomendable establecer políticas que limiten el uso de este tipo de páginas de memoria o que monitoricen los procesos que las utilizan.
En resumen, PAGE_EXECUTE_READWRITE
permite que los procesos ejecuten y modifiquen código, pero también puede ser un indicativo de comportamientos potencialmente maliciosos o inseguros en un análisis de seguridad.
Question 4
Q4: What is the name of the process responsible for the VPN connection?
Si recordamos anteriormente al listar los procesos encontramos uno llamado tun2socks.exe, el cuál su PPID era 6724 que corresponde con el proceso Outline.exe.
Si buscamos en google por Outline.exe encontramos lo siguiente:
Question 5
Q5: What is the attacker's IP address?
Para averiguar la dirección ip del atacante es tan sencillo como lanzar el plugin windows.netscan y un grep filtrando por el proceso 5896.
~/volatility3 ❯ ./vol.py -f ../evidencias/MemoryDump.mem windows.netscan | grep 5896
0xad818de4aa20.0TCPv4 10.0.85.2DB scan55462fin77.91.124.20 80 CLOSED 5896 oneetx.exe 2023-05-21 23:01:22.000000 UTC
77.91.124.20
Question 6
Q6: Based on the previous artifacts. What is the name of the malware family?
Para averiguar la familia a la que pertenece este tipo de malware debemos volver a recurrir a google y realizar una simple búsqueda.
En la pregunta anterior obtuvimos un IOC que es la dirección ip, por lo que vamos a aprovecharla y buscarla en google.
En el primer resultado podremos ver la respuesta a la pregunta.
Question 7
Q7: What is the full URL of the PHP file that the attacker visited?
Debemos encontrar la url del archivo .php que el visitó el atacante.
Muy sencillo, tenemos la ip y el dump de memoria por lo que usamos strings y lo concatenamos con un grep filtrando por la dirección ip.
strings MemoryDump.mem | grep http://77.91.124.20/*
Question 8
Q8: What is the full path of the malicious executable?
De nuevo debemos encontrar la ruta completa del ejecutable malicioso oneetx.exe y para ello usamos el plugin windows.filescan y grepeamos por oneetx.exe
C:\Users\Tammam\AppData\Local\Temp\c3912af058\oneetx.exe
Subscribe to my newsletter
Read articles from elc4br4 directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
elc4br4
elc4br4
Cybersecurity Student