Chewbacca: keylogger que emplea comunicación basada en TOR

 

En días pasados circularon diversas noticias relacionadas con el malware conocido como Chewbacca y debido a que se reportaron casos de equipos comprometidos en México, el UNAM-CERT se dio a la tarea de realizar el análisis correspondiente de la muestra maliciosa.

 

La palabra “ChewBacca”, que hace referencia un personaje de “Star Wars”, aparece en varias ocasiones en el archivo binario “gotWookie.exe”. A continuación se muestra dicha cadena al desensamblar con IDA Pro:

 

 

 

El ejecutable “gotWookie.exe” tiene por firma md5: 21f8b9d9a6fa3a0cd3a3f0644636bf09.

 

 

 

Una particularidad del archivo es que tiene un gran tamaño, algo poco común en piezas de malware, ocupa cerca de 5 MB:

 

 

 

El archivo binario fue compilado con Free Pascal versión 2.7.1 para la arquitectura x86.

 

 

 

Una vez que se ejecuta el archivo malicioso inicia el proceso “gotWookie.exe” que a su vez levanta el proceso “spoolsv.exe”. Este último es el programa en ejecución que persiste una vez comprometido el equipo. A continuación se muestra en Process Explorer los procesos involucrados:

 

 

 

El proceso con nombre “spoolsv.exe” es el mismo utilizado por el servicio de Windows: Print Spooler, encargado de administrar las impresiones. Por lo que se debe tener en cuenta al momento de terminar el proceso malicioso. En la siguiente imagen se muestran ambos procesos, el primero pertenece a “Microsoft Corporation” y el segundo proceso es el que se inicia al infectarse el equipo de cómputo.

 

 

 

El archivo “spoolsv.exe” fue creado por “gotWookie.exe” en la carpeta “Inicio” con el fin de garantizar su ejecución en cada inicio de sesión en el equipo infectado.

 

 

 

A continuación se muestra el directorio donde se aloja el binario creado:

 

 

 

La carpeta “Inicio” es accesible desde el menú “Inicio/Todos los programas” y cualquier archivo ejecutable o acceso directo alojado en esta ruta, será ejecutado en cada inicio de sesión del equipo. A continuación se muestra la ubicación del binario “spoolsv.exe”:

 

 

 

Con la herramienta Process Monitor es posible hacer un seguimiento de las llamadas al sistema y ver el momento en el que se crea “spoolsv.exe” en la carpeta “Inicio”:

 

 

 

La llamada SHGetSpecialFolderPath obtiene la ruta de una carpeta especial, en este caso de la carpeta “Inicio” y dentro de ella crea el archivo “spoolsv.exe”.

 

 

 

El archivo “spoolsv.exe” es una réplica del malware “gotWookie.exe” como se puede apreciar en la siguiente imagen al obtener sus firmas md5:

 

 

 

Dentro del código ensamblador es posible identificar el dominio http://ekiga.net/ip/.

 

 

 

Una vez que el proceso “spoolsv.exe” está activo en un entorno controlado sin salida a Internet se observan peticiones DNS para resolver el dominio ekiga.net. A continuación se muestra el tráfico correspondiente:

 

 

 

Para obtener más detalles sobre la conexión que intenta realizar la muestra, se le proporcionó el dominio modificando el archivo "hosts" y referenciándolo a una máquina Linux en el mismo segmento de red.

 

 

 

Una vez que la petición DNS es atendida, se observan intentos de sincronización al puerto 80 asociado al servicio web por http:

 

 

 

Se le proporcionó el servicio web al iniciar la aplicación apache en la máquina Linux.

 

 

 

Lo siguiente que se observó en el tráfico de red fue una petición por método GET para solicitar el sitio web http://ekiga.net/ip/ por lo cual se decidió averiguar más al respecto.

 

 

 

El sitio web http://ekiga.net/ip/ no es malicioso, se trata de un servicio que devuelve la dirección IP pública de quien realiza la solicitud. Como este sitio, existen algunos otros como: http://www.ipmango.com/api/myip o http://api.wipmania.com que también son utilizados por los creadores de malware ya sea para llevar un registro de direcciones IP por país o generar nombres de los equipos que tienen a su disposición.

 

 

 

Otro de los cambios importantes en el sistema de archivos es la creación de “system.log” en la carpeta “Temp” una vez que se detectan pulsaciones en el teclado.

 

 

 

A continuación se muestra el seguimiento de llamadas al sistema donde el proceso “spoolsv.exe” es quien crea y escribe constantemente el archivo “system.log”:

 

 

 

La llamada “GetTempPathA” obtiene la ruta de la carpeta designada para los archivos temporales y que en este caso es: “C:\Documents and Settings\Administrador\Configuración local\Temp”

 

 

 

También se usa la llamada “SetWindowsHookExA” con parámetro “idHook” igual a “0D” en hexadecimal (13 en decimal) y que corresponde al valor “WH_KEYBOARD_LL” con el fin de registrar la actividad del teclado.

 

 

 

En una prueba local para identificar lo que se capturaba en el archivo “system.log”, se abrieron los navegadores “Mozilla Firefox”, “Google Chrome” e “Internet Explorer” y se escribió la dirección web del blog de malware en la barra de direcciones: malware.unam.mx

 

 

 

También, se escribió en el campo usuario el texto “Análisis de malware” y en el campo de contraseña “hola123.”.

 

 

 

Al revisar el archivo “system.log” se comprobó que se estaba registrando todo lo que el usuario escribía en determinada aplicación.

 

 

 

Otro hallazgo importante fue el uso del archivo “sendlog.php” el cual era utilizado para enviar los datos del keylogger desde el equipo infectado hasta un servidor malicioso.

 

 

 

La comunicación hacia el servidor malicioso era gestionada por “TOR” puesto que el servidor malicioso empleaba un dominio “.onion”. El hecho de implementar la aplicación TOR en la misma muestra la hace poco común y además es la razón por la cual el tamaño del archivo “gotWookie.exe” está en el orden de “Mega bytes”.

 

 

 

En la muestra maliciosa se implementó la “versión 0.2.3.25 de TOR”.

 

 

 

La ejecución del binario “tor.exe” se inicia con la configuración predeterminada: "localhost:9050".

 

 

 

El archivo “recvdata.php” era utilizado para extraer información de tarjetas de crédito y enviarlo al mismo sitio malicioso.

 

 

 

A continuación se muestran las expresiones regulares utilizadas para parsear la información bancaria:

 

 

 

Para el momento del análisis de la muestra “gotWookie.exe”, el servicio de VirusTotal arroja que 41 de 48 motores antivirus la detectan como maliciosa. A continuación el reporte: