Amadey - APT-C-36
Una alerta fuera de horario del sistema de detección y respuesta de puntos finales (EDR) señala actividad sospechosa en una estación de trabajo de Windows. El malware marcado se alinea con Amadey Trojan Stealer. Su trabajo es analizar el volcado de memoria presentado y crear un informe detallado de las acciones tomadas por el malware.
{width=“6.267716535433071in”
height=“1.875in”}
Introducción
En este laboratorio, asumirá el papel de analista de ciberseguridad encargado de investigar un incidente de seguridad que involucre a Amadey Trojan Stealer.
Después de una alerta fuera de horario del sistema de detección y respuesta de puntos finales (EDR), se le proporciona un volcado de memoria de la estación de trabajo de Windows afectada.
Su objetivo es descubrir los detalles de la actividad maliciosa, evaluar el comportamiento del malware y determinar el alcance del compromiso.
El Amadey Trojan Stealer es una cepa de malware muy conocida que se especializa en reconnaissance, data collection, credential harvesting, y estableciendo persistent connections con servidores remotos.
Su diseño modular a menudo le permite descargar cargas útiles adicionales, lo que le permite ampliar sus capacidades en función de los objetivos del atacante.
Debido a su capacidad de operar en la memoria, identificar sus huellas requiere técnicas forenses profundas.
Este tutorial lo guiará a través del proceso de análisis de lo proporcionado memory dump usando Volatility3, un poderoso marco forense de la memoria.
Investigará los procesos en ejecución, rastreará la actividad de la red, localizará archivos sospechosos y descubrirá los mecanismos que utiliza el malware para establecer la persistencia.
A lo largo del camino, aplicarás varios Volatility3 complementos para extraer información crítica y crear una comprensión integral del ataque.
Al final de este laboratorio, habrá practicado habilidades clave en análisis forense de puntos finales, incluido el análisis de memoria, la identificación de procesos maliciosos, la investigación de conexiones de red y la detección de mecanismos de persistencia.
Estas habilidades son esenciales para identificar y responder eficazmente a las amenazas de malware modernas.
Q1 En el análisis de volcado de memoria, determinar la raíz de la actividad maliciosa es esencial para comprender el alcance de la intrusión. ¿Cómo se llama el proceso principal que desencadenó este comportamiento malicioso?
El análisis de volcado de memoria es un componente vital de la ciencia forense digital, especialmente cuando se investiga la actividad de malware.
Implica examinar la memoria volátil de un sistema para reconstruir su estado en un momento dado, descubriendo procesos activos, conexiones de red abiertas y otros artefactos de tiempo de ejecución que podrían indicar un comportamiento malicioso.
Este análisis es crucial para identificar ataques sofisticados como los asociados con el Amadey Trojan Stealer, que a menudo opera en la memoria para evadir los métodos tradicionales de detección basados en discos.
Al centrarse en la memoria, los analistas pueden revelar el verdadero alcance de una intrusión, incluso si el atacante ha tomado medidas para eliminar rastros del sistema de archivos.
En este escenario, el Volatility3 El marco se utiliza para analizar el volcado de memoria. Volatility3 es una herramienta forense de memoria versátil que admite múltiples plataformas y proporciona complementos modulares para tareas como enumeración de procesos, análisis de DLL y seguimiento de conexiones de red.
Para investigar actividades sospechosas, uno de los primeros pasos es enumerar los procesos en ejecución dentro de la imagen de memoria capturada.
Esto se logra utilizando el pstree complemento, ejecutado con los siguientes comandos:
comando::** vol.py -f ~/Desktop/Start\ here/Artifacts/Windows\ 7\ x64-Snapshot4.vmem windows.pstree.PsTree**
El comando de exportación se utiliza para agregar la ruta de Volatility3 al PATH variable de entorno para que podamos hacer referencia directamente vol.py sin escribir la ruta completa.
El segundo comando, vol, muestra detalles sobre todos los procesos activos, incluidos sus ID de proceso (PID), ID de proceso principal (PPID), tiempos de creación y salida, recuentos de subprocesos e identificadores.
Al examinar estos atributos, los analistas pueden identificar anomalías como relaciones sospechosas entre padres e hijos, uso anormal de recursos o nombres de procesos duplicados que pueden indicar actividad de malware.
En el resultado del análisis se presta especial atención al proceso comando:: lsass.exe con PID 508.
El Servicio del Subsistema de Autoridad de Seguridad Local (LSASS) es un proceso legítimo de Windows responsable de hacer cumplir las políticas de seguridad, administrar los inicios de sesión de los usuarios y manejar tokens de autenticación.
Sin embargo, debido a su papel en el almacenamiento de credenciales confidenciales, es un objetivo frecuente para atacantes que buscan deshacerse de contraseñas o escalar privilegios.
Comience enumerando todos los procesos para identificar cualquier actividad sospechosa. Considere qué procesos podrían ser potencialmente responsables de iniciar el comportamiento del malware.
Utilice el windows.pstree complemento en Volatilidad para obtener una lista de procesos activos. Centrarse en procesos que podrían actuar como padres de actividades maliciosas.
Correr ./vol.py -f /home/ubuntu/Desktop/‘Start here’/Artifacts/‘Windows 7 x64-Snapshot4.vmem’ windows.pstree.
Identifique cualquier proceso inusual, especialmente aquellos que comúnmente generan otros. Rastrear el proceso principal de la actividad sospechosa, centrándose en las anomalías en los procesos del sistema.
{width=“6.267716535433071in”
height=“0.2777777777777778in”}
{width=“4.040044838145231in”
height=“3.2656255468066493in”}
Otra observación de la lista de procesos es la presencia de un proceso llamado lssass.exe con PID 2748.
Si bien se parece mucho a lo legítimo lsass.exe, la “s” adicional en su nombre sugiere que es un proceso de enmascaramiento diseñado para evadir la detección.
El malware suele utilizar esta técnica para mezclarse con la actividad legítima del sistema.
El sospechoso lssass.exe
El proceso también está vinculado a un proceso secundario, rundll32.exe (PID 3064), que se utiliza con frecuencia para ejecutar código malicioso a través de archivos DLL.
El tiempo de creación de rundll32.exe
Se correlaciona además con el marco temporal de la actividad sospechosa, lo que refuerza su papel en el ataque.
El proceso principal responsable de desencadenar este comportamiento se identifica como lssass.exe.
Su convención de nomenclatura y asociación con rundll32.exe resaltar un intento de disfrazar operaciones maliciosas como actividad legítima del sistema.
Este hallazgo subraya la importancia de examinar cuidadosamente los nombres de los procesos, las relaciones entre padres e hijos y los patrones de uso de recursos al analizar los volcados de memoria.
Q2 Una vez identificado el proceso no autorizado, su ubicación exacta en el dispositivo puede revelar más sobre su naturaleza y origen. ¿Dónde se encuentra alojado este proceso en la estación de trabajo?
Una vez que se ha identificado un proceso sospechoso durante el análisis de memoria, el siguiente paso lógico es determinar su ubicación exacta dentro del sistema de archivos.
Esto puede proporcionar un contexto crítico sobre su origen, ya sea que sea parte de una aplicación legítima o un ejecutable inyectado o eliminado asociado con malware.
Al examinar los argumentos de la línea de comando utilizados para iniciar el proceso, los investigadores pueden identificar la ruta del ejecutable y evaluar si reside en un directorio confiable o en una ubicación sospechosa, como carpetas temporales que suele utilizar el malware.
Para recuperar los argumentos de la línea de comando asociados con un proceso específico, el marco Volatility3 proporciona el windows.cmdline complemento.
Este complemento extrae y muestra los argumentos de la línea de comando pasados a los procesos durante su ejecución.
El siguiente comando se utiliza para analizar el proceso con Process ID (PID) 2748:
vol.py -f ~/Escritorio/Inicio\ aquí/Artefactos/Windows\ 7\ x64-Snapshot4.vmem windows.cmdline —pid 2748
vol.py -f /home/ubuntu/Desktop/‘Start here’/Artifacts/‘Windows 7 x64-Snapshot4.vmem’ windows.cmdline | grep lssass.exe.
En este caso, la salida revela que el ejecutable asociado con PID 2748 tiene nombre lssass.exe y se encuentra en el camino:
C:\Usuarios\0XSH3R~1\AppData\Local\Temp\925e7e99C5\lssass.exe
{width=“6.267716535433071in”
height=“0.7222222222222222in”}
La línea de comando utilizada para iniciar el proceso a menudo contiene la ruta completa del ejecutable. Concéntrese en extraer esta información.
Ejecute el comando vol.py -f /home/ubuntu/Desktop/‘Start here’/Artifacts/‘Windows 7 x64-Snapshot4.vmem’ windows.cmdline | grep lssass.exe.
{width=“6.267716535433071in”
height=“0.7222222222222222in”}
Esto revelará los argumentos de la línea de comando utilizados para iniciar lssass.exe, incluida su ruta de directorio.
{width=“6.267716535433071in”
height=“3.8333333333333335in”}
El uso de la ~ El símbolo en la ruta indica un formato de nombre de archivo corto (8.3), que es una convención de nomenclatura heredada utilizada por Windows para admitir software más antiguo que no puede manejar nombres de archivo largos.
En este contexto, el directorio 0XSH3R~1 corresponde a un nombre de directorio más largo que ha sido truncado.
Este tipo de abreviatura de ruta se observa a menudo en directorios temporales y ubicaciones utilizadas por malware para ocultar sus orígenes o evadir la detección.
La presencia del ejecutable en el Temp
El directorio genera aún más señales de alerta, ya que esta ubicación es comúnmente explotada por malware para eliminar cargas útiles o almacenar archivos transitorios necesarios para la ejecución.
Los usuarios estándar suelen poder escribir carpetas temporales, lo que las convierte en un objetivo ideal para actores maliciosos que buscan eludir privilegios administrativos.
El nombre del ejecutable en sí, lssass.exe, se parece mucho a lo legítimo lsass.exe proceso, sugiriendo un intento de hacerse pasar por alguien para evadir las herramientas de detección y los analistas.
Dada esta evidencia, el ejecutable se encuentra en C:\Users\0XSH3R~1\AppData\Local\Temp\925e7e99C5\lssass.exe es altamente sospechoso.
Su presencia en la carpeta temporal, combinada con su nombre que imita un proceso crítico del sistema, indica que probablemente sea parte de Amadey Trojan Stealer o una variante de malware relacionada.
Q3 Las comunicaciones externas persistentes sugieren intentos del malware de comunicarse con el servidor C2C. ¿Puede identificar la IP del servidor de Comando y Control (C2C) con la que interactúa el proceso?
Command and ControlLos servidores (C2) son componentes centrales utilizados por los atacantes para controlar de forma remota los sistemas infectados y exfiltrar datos robados.
Estos servidores permiten a los atacantes enviar comandos a máquinas comprometidas, recuperar información confidencial o implementar cargas útiles adicionales, lo que los convierte en una parte fundamental de las operaciones de malware modernas.
Detectar comunicaciones con servidores C2 es vital para la respuesta a incidentes, ya que ayuda a identificar actividades continuas de exfiltración de datos o control remoto.
Para investigar posibles comunicaciones C2, el windows.netscan
El complemento en Volatility3 se utiliza para analizar las conexiones de red desde el volcado de memoria.
Este complemento enumera conexiones de red activas y cerradas, incluidos detalles como direcciones IP locales y remotas, puertos y procesos asociados.
El comando ejecutado para este análisis es el siguiente:
vol.py -f /home/ubuntu/Desktop/‘Start here’/Artifacts/‘Windows 7 x64-Snapshot4.vmem’ windows.netscan | grep lssass.exe
Filtrar los resultados para el ID de proceso (PID) 2748, que corresponde al proceso sospechoso identificado previamente lssass.exe, revela múltiples conexiones de red.
{width=“6.267716535433071in”
height=“0.5833333333333334in”}
El resultado destaca dos conexiones cerradas asociadas con este proceso. Ambas conexiones están dirigidas a la dirección IP externa 41.75.84.12 sobre el puerto 80, que se utiliza comúnmente para el tráfico HTTP.
La presencia de conexiones a una dirección IP externa es muy indicativa de comunicación C2, especialmente cuando se observa junto con un proceso sospechoso como lssass.exe, que ya ha exhibido características de enmascaramiento y ejecución no autorizada.
El uso del puerto 80 sugiere además un intento de disfrazar el tráfico malicioso como comunicación web normal, explotando un protocolo común para evitar la detección por parte de firewalls y sistemas de detección de intrusiones.
Dada esta información, la dirección IP 41.75.84.12 es probable que sea el servidor de Comando y Control (C2) utilizado por el malware.
Q4 Tras el vínculo del malware con el C2C, es probable que el malware esté obteniendo herramientas o módulos adicionales. ¿Cuántos archivos distintos intenta traer a la estación de trabajo comprometida?
El análisis de procesos sospechosos a menudo implica inspeccionar volcados de memoria para identificar cualquier actividad de red asociada o URL que puedan indicar un comportamiento malicioso.
Dado que se demostró que el proceso en cuestión utiliza tráfico HTTP y conexiones establecidas con direcciones IP externas, el análisis de memoria se amplía para investigar indicadores adicionales como URL y recursos integrados.
El malware explota con frecuencia el tráfico HTTP para comunicarse con servidores de comando y control (C2) o descargar cargas útiles adicionales.
En este caso, se examina el volcado de memoria del proceso en busca de rastros de URL y solicitudes HTTP que puedan revelar el comportamiento del malware.
Para analizar el volcado de memoria del proceso sospechoso con PID 2748, el windows.memmap
El complemento en Volatility3 se utiliza para extraer regiones de memoria asociadas con el proceso. El comando utilizado es el siguiente:
vol.py -f ~/Escritorio/Inicio\ aquí/Artefactos/Windows\ 7\ x64-Snapshot4.vmem windows.memmap —pid 2748 —dump
vol.py -f /home/ubuntu/Desktop/‘Start here’/Artifacts/‘Windows 7 x64-Snapshot4.vmem’ windows.memmap.Memmap —pid 2748 —dump,
entonces usa strings pid.2748.dmp | grep ‘GET /’
{width=“6.267716535433071in”
height=“5.375in”}
Este comando genera un archivo de volcado de memoria, llamado pid.2748.dmp, que se puede analizar en busca de artefactos.
El vertido de memoria proporciona datos sin procesar del espacio de memoria del proceso, lo que permite a los analistas buscar cadenas, patrones o URL relacionadas con actividades maliciosas.
Una vez creado el volcado, el strings La utilidad se utiliza para extraer texto legible del archivo de memoria. En particular, se ejecuta el siguiente comando:
strings pid.2748.dmp | grep “GET /”
Este comando busca solicitudes HTTP GET dentro del volcado de memoria, que a menudo son indicativas de intentos de obtener recursos remotos o establecer comunicación con servidores externos.
El resultado revela dos solicitudes específicas:
GET/rock/Plugins/cred64.dll HTTP/1.1
GET/rock/Plugins/clip64.dll HTTP/1.1
{width=“6.267716535433071in”
height=“3.6805555555555554in”}
Estas solicitudes HTTP sugieren que el proceso intentó recuperar archivos DLL, potencialmente como parte de su entrega de carga útil o estructura modular basada en complementos, lo que se alinea con los comportamientos observados en malware troyano como Amadey.
Estos archivos DLL podrían usarse para ampliar la funcionalidad, escalar privilegios o exfiltrar datos confidenciales.
Q5 Identificar los puntos de almacenamiento de estos componentes adicionales es fundamental para la contención y la limpieza. ¿Cuál es la ruta completa del archivo descargado y utilizado por el malware en su actividad maliciosa?
Al analizar la actividad del malware, identificar las ubicaciones donde se almacenan componentes maliciosos adicionales es fundamental para la contención y la limpieza.
El malware a menudo descarga y ejecuta archivos de soporte, como DLL o scripts, para ampliar sus capacidades o mantener la persistencia en el sistema. En esta investigación, el enfoque se centra en identificar la ruta de almacenamiento de dichos componentes para facilitar los esfuerzos de remediación.
Para localizar los archivos maliciosos descargados por el malware, el windows.filescan Se utiliza el complemento en Volatility3.
Este complemento escanea la memoria en busca de objetos de archivo y enumera sus metadatos, incluidas las rutas de archivo, que se pueden comparar con artefactos identificados previamente.
El comando ejecutado para este propósito es:
vol.py -f ~/Escritorio/Inicio\ aquí/Artefactos/Windows\ 7\ x64-Snapshot4.vmem windows.filescan | grep -E “cred64|clip64”
vol.py -f /home/ubuntu/Desktop/‘Start here’/Artifacts/‘Windows 7 x64-Snapshot4.vmem’ windows.cmdline | grep dll
{width=“6.267716535433071in”
height=“1.0138888888888888in”}
Este comando filtra específicamente los resultados de los nombres de archivos que contienen “cred64” y “clip64”, ya que estos se identificaron anteriormente en las solicitudes HTTP GET realizadas por el proceso sospechoso.
La salida revela la ruta completa a uno de estos archivos:
0x1d791940 100.0 \Usuarios\0xSh3rl0ck\AppData\Roaming\116711e5a2ab05\clip64.dll
Este camino muestra que el clip64.dll El archivo se almacenó en el directorio AppData Roaming del usuario en una subcarpeta llamada 116711e5a2ab05.
El uso del directorio AppData es importante porque es una ubicación común explotada por malware para almacenar cargas útiles o archivos de configuración.
Este directorio es escribible por usuarios estándar y, a menudo, está excluido de los análisis antivirus, lo que lo hace ideal para ocultar archivos maliciosos.
La estructura de carpetas y la convención de nomenclatura sugieren además un intento de evadir la detección.
El nombre de la carpeta generada aleatoriamente indica una implementación dinámica de carga útil, una táctica frecuentemente empleada por troyanos como Amadey para complicar los esfuerzos de limpieza.
Además, la presencia del archivo DLL apunta a un comportamiento de malware modular, donde se implementan capacidades específicas, como el robo de credenciales o el registro de teclas, a través de complementos descargables.
Q6 Una vez recuperado, el malware pretende activar sus componentes adicionales. ¿Qué proceso secundario inicia el malware para ejecutar estos archivos?
Según el análisis realizado anteriormente, el malware emplea un diseño modular, descargando y utilizando componentes adicionales almacenados como archivos DLL.
Estos archivos, como cred64.dll y clip64.dll, se recuperaron mediante solicitudes HTTP y se almacenaron en el directorio AppData, como se observa en la memoria del proceso y el análisis de escaneo de archivos.
Dado que la carga útil de la segunda etapa es una DLL, es probable que se ejecute utilizando una utilidad de Windows diseñada para cargar y ejecutar archivos DLL.
La investigación sobre el proceso sospechoso lssass.exe con PID 2748 reveló su uso de rundll32.exe como un proceso infantil.
Esta utilidad es una herramienta legítima de Windows que los atacantes suelen explotar para ejecutar DLL maliciosas.
La conexión entre lssass.exe y rundll32.exe se estableció anteriormente durante la enumeración del proceso, donde rundll32.exe apareció como un proceso infantil.
Esta relación es muy sospechosa, ya que se alinea con el comportamiento del troyano Amadey, que frecuentemente aprovecha rundll32.exe para ejecutar cargas útiles descargadas, lo que permite realizar otras acciones como robo de credenciales, reconocimiento o persistencia.
En este caso, rundll32.exe probablemente sirvió como mecanismo para cargar y activar los archivos DLL recuperados (cred64.dll y clip64.dll).
Esta técnica de ejecución permite que el malware amplíe sus capacidades sin llamar la atención, como rundll32.exe es un binario confiable de Windows y su actividad puede eludir las herramientas básicas de monitoreo de seguridad.
P7 Comprender la gama completa de mecanismos de persistencia de Amadey puede ayudar a una mitigación eficaz. Aparte de las ubicaciones ya destacadas, ¿dónde más podría el malware garantizar su presencia constante?
La persistencia es una táctica fundamental utilizada por el malware para garantizar que permanezca activo en un sistema comprometido, incluso después de reiniciar o cerrar sesión.
El malware logra persistencia al integrarse en componentes del sistema, como carpetas de inicio, claves de registro, tareas programadas o servicios del sistema.
Esto le permite ejecutarse automáticamente al iniciar el sistema o cuando se activan activadores específicos, lo que dificulta su detección y eliminación.
Para Amadey, los mecanismos de persistencia son particularmente críticos, ya que el malware depende de cargas útiles modulares y de la comunicación con servidores de Comando y Control (C2) para mantener el control sobre los sistemas infectados.
Para investigar mecanismos de persistencia adicionales utilizados por el malware, el windows.filescan
El complemento en Volatility3 se ejecuta para buscar artefactos de archivo asociados con el proceso. El comando emitido es:
vol.py -f ~/Escritorio/Inicio\ aquí/Artefactos/Windows\ 7\ x64-Snapshot4.vmem windows.filescan | grep -E “lssass”
vol.py -f /home/ubuntu/Desktop/‘Start here’/Artifacts/‘Windows 7 x64-Snapshot4.vmem’ windows.filescan | grep lssass.exe
{width=“6.267716535433071in”
height=“0.6944444444444444in”}
Los resultados revelan dos ubicaciones de archivos clave asociadas con el sospechoso lssass.exe proceso:
\Users\0XSH3R~1\AppData\Local\Temp\925e7e99C5\lssass.exe
\Windows\System32\Tasks\lssass.exe
La primera ruta, ubicada en el directorio Temp, sugiere un punto de entrega temporal donde inicialmente se preparó o ejecutó el malware.
Sin embargo, el segundo camino bajo System32\Tasks indica un mecanismo de persistencia más deliberado.
Archivos almacenados en el Tasks
Los directorios generalmente están asociados con Windows Task Scheduler, una herramienta legítima utilizada para automatizar tareas.
El malware a menudo abusa de las tareas programadas para establecer persistencia creando tareas que ejecutan archivos maliciosos en intervalos predefinidos o eventos del sistema.
La presencia de lssass.exe en el Tasks directorio implica que el malware probablemente se registró como una tarea programada.
Este enfoque le permite reiniciarse automáticamente al reiniciar o en momentos programados, lo que garantiza una ejecución continua.
La persistencia del Programador de tareas es particularmente sigilosa porque aprovecha un componente confiable de Windows, lo que hace que sea menos probable que active alarmas en las herramientas de monitoreo de seguridad.