Zeus - Análisis de malware

En este artículo se analizará a través de, principalmente, Volatility, una imagen de una memoria RAM afectada por el malware Zeus.

Zeus

El punto de partida para el análisis es que disponemos de una imagen de la memoria RAM afectada por Zeus llamada ‘zeus.vmem’ y vamos a analizarla.

Lo primero será sacar información del perfil del sistema:

Zeus 01

Aquí podemos ver, a través de Suggested Profile y Image Type, que el sistema es un WinXPSP2x86. También anotamos el huso horario, que es -0400.

A continuación observamos los procesos activos en el momento de la captura de la memoria, pero no hay nada que resulte especialmente llamativo:

Zeus 02

Al no tener un proceso identificado sobre el que investigar, debemos seguir haciendo un análisis más genérico sobre otras especificaciones que nos pueda dar información relevante. Así pues, pasamos al análisis de red haciendo uso de connections y connscan:

Zeus 03

En el connscan obtenemos información interesante, que son las conexiones hacia el puerto 80 de la IP 193.104.41.75, y un Pid que debemos anotar para profundizar en su análisis.

Con respecto a la IP, podemos buscar información sobre esta en algunas blacklist online. A través de ipvoid nos indica que, a día de hoy, está limpia:

Zeus 04

Y a través de whatismyipaddress solo una web nos la indica como una IP mala, pero el resto la da por válida:

Zeus 05

También podemos profundizar en el análisis de red usando Wireshark. Para ello sacamos el PCAP con bulk_extractor:

Zeus 06

Abrimos el PCAP obtenido con Wireshark y podemos conocer información sobre los protocolos que entran en juego:

Zeus 07

Y sobre las IPs y puertos:

Zeus 08

Además de la IP ya obtenida desde el Volatility, aquí podemos anotar algunas IPs más como 207.46.197.32 o 131.107.115.254. Aunque tras verificarlo con las blacklist de ipvoid podemos comprobar que ambas IPs están completamente limpias y pertenecen a Microsoft.

Volviendo al análisis de la memoria, a través del pslist anterior podemos ver que el proceso 856 es hijo del proceso con pid 676.Vamos a continuar profundizando en el proceso 856, para ello vamos a realizar un psscan:

Zeus 09

Podemos observar que el proceso es un svchost.exe, lo cual no es nada sospechoso a priori, y que tiene fecha de inicio de ejecución pero no de fin, por lo que seguía en activo.

Pasamos a obtener todas las librerías relacionadas con el proceso, las cuales son muy variadas, y también vemos que tiene algunas relacionadas con sockets y conexiones de red:

Zeus 10

Zeus 11

Ahora vamos a comprobar las claves donde están ubicadas las secciones críticas del proceso que estamos analizando, es decir, el 856:

Zeus 12

Zeus 13

Y también buscamos los nombres de las zonas de exclusión mutua, de donde podemos anotar algunas cosas como RasPbFile o AVIRA:

Zeus 14

Observamos los eventos que ha generado el proceso:

Zeus 15

Zeus 16

Y por último en cuanto al tratamiento de handles, vamos a quedarnos también con los ficheros relacionados con el proceso:

Zeus 17

Ahora vamos a buscar la persistencia del malware. Para ello vamos a buscar los registros de “Microsoft\Windows NT\CurrentVersion\WinLogon”:

Zeus 18

De aquí podemos destacar la ruta que está junto al userinit.exe, es decir, la ruta “C:\Windows\system32\sdra64.exe”. Vamos a buscar más información sobre sdra64.exe, para ello realizaremos un filescan en su búsqueda:

Zeus 19

Realizamos un volcado del fichero del cual obtenemos un archivo .dat:

Zeus 20

Sacamos el MD5 de este fichero para que VirusTotal lo analice:

Zeus 21

Zeus 22

Podemos comprobar que la mayoría de herramientas lo reconocen como un malware, concretamente 62 de 72 herramientas. Identificándolo la mayoría de ellas como Zbot trojan. En VirusTotal también podemos comprobar que el archivo fue compilado el 21 de marzo de 2018:

Zeus 23

También podemos obtener un volcado de la memoria concretando en el proceso 856:

Zeus 24

Podemos analizar el fichero obtenido de forma detenida y completa con strings, lo cual es un trabajo minucioso que requiere mucho tiempo. También podemos hacer uso del comando grep para filtrar y buscar información más concreta, por ejemplo, información sobre http:

Zeus 25

Zeus 26

Ahora sacamos el MD5 del dmp y lo introducimos en VirusTotal:

Zeus 27

En esta ocasión son solo 3 herramientas las que detectan el malware. Concretamente AegistLab, Avast y AVG.

Para concluir vamos a trazar una línea temporal a través de la generación de los ficheros timeliner, mftparser y shellbags:

Zeus 28

Unimos los tres ficheros:

Zeus 29

Y ya tendríamos nuestra línea temporal de sucesos, a la que podríamos acceder con mactime y de la cual podríamos buscar información con grep para conocer su actividad siguiendo la línea temporal, por ejemplo, podemos ver la actividad del proceso 856 que hemos estado mirando:

Zeus 30

Zeus 31

Written on January 29, 2021
Malware