El hito inevitable: ZeuS de 64 bits ahora viene enriquecido con Tor
Dmitry Tarakanov Kaspersky Lab Expert Posted December 11, 11:22 GMT
Tags: Internet Banking, Botnets, Malware Creators, x64, Keyloggers,
Passwords, ZeuS 0
Mientras más gente se traslada a plataformas de 64
bits, más malware de 64 bits aparece. Hemos estado siguiendo este
proceso por varios años. Y mientras más gente trabaja en plataformas de
64 bits, más aplicaciones de 64 bits se desarrollan. A veces esto
incluye aplicaciones muy específicas, como aplicaciones bancarias, por
ejemplo. Si alguien quisiera irrumpir en una aplicación como ésta y
robar información, la mejor herramienta para hacerlo sería un agente de
64 bits. ¿Cuál es el programa malicioso bancario más famoso? ZeuS, sin
duda: el programa que impone las tendencias para la mayoría de los
programas bancarios de hoy en día. Sus inyecciones de red se han
convertido en una característica fundamental para casi cualquier familia
de malware bancario. Sólo era cuestión de tiempo para que apareciera
una versión de 64 bits de ZeuS, pero no esperábamos que llegara tan
pronto.
Y no lo esperábamos porque por ahora los cibercriminales
en realidad no necesitan una versión de 64 bits. Una de las principales
funciones de Zeus es interceptar los datos que pasan mediante los
navegadores y modificarlos para que su operador pueda esconder sus
rastros o robar información sobre las cuentas bancarias y transacciones
de dinero que realizan los usuarios por Internet. Pero en la actualidad
la gente sigue usando navegadores de 32 bits, aún en sistemas operativos
de 64 bits. Por lo tanto, las versiones de 32 bits de ZeuS han sido
suficientes para mantener a los ladrones satisfechos con sus ganancias.
De
pronto, sin previo aviso, encontramos un ejemplar de ZeuS de 32 bits
con una versión de 64 bits adentro. Y resulta que esta versión de 64
bits ya se había detectado activa en Internet por lo menos desde junio
de 2013, y ¡la fecha de compilación del ejemplar es 29 de abril de 2013!
Pero hay más: esta versión de ZeuS funciona mediante Tor. El ejemplar
inicial de 32 bits inyecta códigos maliciosos en algunos procesos
específicos. Si el proceso pertenece a una aplicación de 64 bits, ZeuS
inyecta su versión de 64 bits; de otro modo, instala la de 32 bits.
Hicimos unas pruebas para ver cómo se comportaba un ejemplar de ZeuS de
64 bits dentro de Internet Explorer de 64 bits, y vimos el
comportamiento usual de ZeuS: las inyecciones web funcionaron como de
costumbre.
La dirección de la página web de uno de los bancos
acabó en las reglas de inyección web de esta versión de ZeuS. Una regla
de inyección web dice:
data_before
<input id="e_finance_login" class="button" type="submit"
data_end
data_inject
onclick="return gotoo();"
data_end
<input id="e_finance_login" class="button" type="submit"
data_end
data_inject
onclick="return gotoo();"
data_end
lo
que significa que cuando una víctima visita la página web del banco y
el código HTML de esa página tiene una cadena de caracteres después de
la etiqueta "data_before", ZeuS inserta texto adicional después de la
etiqueta “data_inject” justo después de la cadena de caracteres objetivo
inicial. Al visitar esta página durante una infección activa de ZeuS en
Internet Explorer de 64 bits, observamos la siguiente inserción
maliciosa en el código HTML del navegador:
Código inyectado en una página bancaria de Internet en Internet Explorer de 64 bits
La función maliciosa gotoo()
se especifica en otra regla de inyección web para este sitio, y se
agrega al código HTML de la página bancaria junto con otros códigos
maliciosos. Esta función recolecta información valiosa de la página
(datos de inicio de sesión, contraseña, cookies y otros valores
especiales especificados en la página) y los envía a un dominio
controlado por el operador de ZeuS.
Entonces, la versión de ZeuS
de 64 bits sí funciona. Pero, ¿de verdad existen tantos usuarios que
hayan migrado a navegadores de 64 bits como para justificar el esfuerzo
de crear una versión de 64 bits de ZeuS? No, no los hay. La proporción
de usuarios que ejecutan navegadores de 64 bits sigue siendo
insignificante. Según nuestras estadísticas, por ejemplo, el porcentaje
de usuarios que navegan con 64 bits en Internet Explorer es menor al
0,01%. Entonces, ¿por qué compilaron una versión funcional de 64 bits?
Admito que a nosotros no nos parece muy complicado: el código fuente
está disponible, sólo se necesitan un par de arreglos para hacer que
funcione en procesos de 64 bits y poder compilarlo como una aplicación
de 64 bits. Pero tal vez nos equivocamos y se necesita mucho más
esfuerzo para crear una versión funcional de ZeuS de 64 bits.
Además,
encontramos un error en la versión actual: cuando ZeuS inyecta una
contraparte de 64 bits en el proceso de 64 bits de la aplicación EMET
Notifier, hace que este proceso colapse. Esto se debe a un error en los
cálculos de algunas de las direcciones de funciones API: por ejemplo en
ZeuS, el proceso de EMET Notifier trata de llamar a la función
WSAStartup, pero la variable que debería tener la dirección de esta
función no dirige a ella. En vez de eso, dirige a una memoria no
asignada que hace que todo el proceso EMET Notifier genere la excepción
“Violación de acceso” y concluya el proceso.
Colapso de EMET Notifier debido a errores en el código deZeuS x64
Si
no es tan simple crear una versión estable de 64 bits de Zeus y la gran
mayoría de los usuarios siguen empleando navegadores de 32 bits,
entonces uno se pregunta: ¿por qué se molestan? Tal vez es sólo una
estrategia de mercadeo – una nueva característica, aunque inútil, que
atrae a los compradores. Ofrecer compatibilidad con navegadores de 64
bits es una buena forma de promover el producto y atraer compradores
(operadores de redes zombi).
También es interesante que el archivo
de configuración de esta versión de ZeuS incluya una larga lista de
programas con los que funciona el malware si los encuentra en el sistema
infectado. Hay programas diversos, pero todos ellos tienen información
privada valiosa que a los cibercriminales les encantaría robar: datos de
inicio de sesión, certificados, etcétera. Recuerda que ZeuS puede
interceptar las teclas que pulsas y los datos que se envían y reciben en
una red antes y después de que se decodifiquen, usando típicas
funciones API del sistema. Entonces, cuando opera dentro de estos
programas, ZeuS puede interceptar y reenviar mucha información valiosa
al operador de la red zombi. Esta es la lista completa de programas:
bitcoin-qt.exe tiny.exe ibank2.exe putty.exe winscp.exe filezilla.exe openvpn-gui.exe openvpn.exe mstsc.exe java.exe javaw.exe Zvit1DF.exe iFOBSClient.exe KLBS.exe vegaClient.exe Pionner.exe cb193w.exe BK_KW32.exe KlientBnk.exe ibconsole.exe CliBank.exe CliBankOnlineUa.exe CliBankOnlineRu.exe CliBankOnlineEn.exe SftMailW.exe SRCLBClient.exe EximClient.exe | client.exe CbShell.exe CB.exe ARMSH95.exe arm.exe arm_mt.exe asbank_lite.exe bank.exe bank32.exe bbclient.exe bbms.exe bk.exe bnk.exe budget.exe cbank.exe cbmain.exe clb.exe client6.exe clientbk.exe clntstr.exe clntw32.exe cncclient.exe contactng.exe core.exe cshell.exe cyberterm.exe dealer.exe | dsstart.exe dtpaydesk.exe edealer.exe eelclnt.exe elbank.exe etprops.exe etsrv.exe fcclient.exe ip-client.exe iwallet.exe jscashmain.exe kb_cli.exe lfcpaymentais.exe loadmain.exe lpbos.exe mmbank.exe mstsc.exe mwclient32.exe payments.exe paymmaster.exe pinpayr.exe pkimonitor.exe pmodule.exe pn.exe postmove.exe prclient.exe productprototype.exe | qiwicashier.exe qiwiguard.exe quickpay.exe rclaunch.exe rclient.exe retail.exe retail32.exe rtadmin.exe rtcert.exe saadm.exe saclient.exe sxdoc.exe termw.exe translink.exe twawebclient.exe uarm.exe ubs_net.exe unistream.exe upofcards.exe uralprom.exe w32mkde.exe wclnt.exe webmoney.exe wfinist.exe winpost.exe wupostagent.exe xplat_client.exe |
Instalación
Dejando
de lado el hecho de que incluye la versión de 64 bits de sus
comunicaciones CnC mediante Tor, esta versión de ZeuS se comporta como
cualquier otro malware basado en ZeuS. Deposita sus archivos en carpetas
con nombres generados de forma automática en el directorio %APPDATA%
con nombres aleatorios:
Carpetas de instalación
Troyano instalado
Zona de descarga local de ZeuS
La persistencia se logra como Zeus suele hacerlo, creando un valor en la llave Run de autostart del sistema en el registro:
ZeuS está programado para ejecutarse durante el inicio del sistema.
La
versión interna del malware que se indica en el cuerpo del bot es
3.0.0.0, lo que en realidad no significa nada. Sin duda no es una
tercera generación de ZeuS como el autor del programa trata de hacernos
creer. El proceso de descarga del archivo de configuración sugiere que
esta versión está más cerca al código fuente inicial filtrado de ZeuS
2.0.8.9 que, por ejemplo, a la rama Citadel. La versión Citadel se
deshizo del acceso simple a los archivos de configuración y su CnC sólo
permite que se lo descargue usando una solicitud HTTP POST precisa,
mientras que el CnC de esta versión de ZeuS no evita que se descargue un
archivo de configuración mediante una simple solicitud URL a la ruta de
archivo. Por lo tanto, cualquier persona que conozca la URL correcta
puede descargarlo usando navegadores, wget, curl, etc.
Тоr
Además
del componente de 64 bits de ZeuS, esta versión mantiene en su cuerpo
una función de tor.exe de la versión 0.2.3.25. Tor.exe se ejecuta de
forma indirecta – ZeuS inicia la aplicación del sistema svchost.exe en
modo suspendido, después inyecta el código tor.exe en este proceso
svchost.exe suspendido, ajusta el código para que funcione sin problemas
y procede con la reanudación del svchost suspendido. Como resultado, en
vez de ejecutar el svchost.exe del sistema, el proceso comienza a
ejecutar tor.exe.
La herramienta Tor que se hace pasar por el proceso svchost.exe crea un servidor proxy HTTP que atiende al puerto TCP 9050.
Proxy de tor ejecutándose como un proceso svchost.exe
Entonces,
por ejemplo, si ajustas el navegador en un equipo infectado para que
funcione mediante proxy 127.0.0.1:9050, todo el tráfico del navegador
pasará por la red Tor. El servidor CnC de esta versión de ZeuS se ubica
en el dominio onion: egzh3ktnywjwabxb.onion. Por lo tanto, cuando el
malware se comunica con su CnC, envía solicitudes mediante el proxy
mencionado para alcanzar la red Tor y su CnC.
Es más, ZeuS crea un servicio escondido de Tor en el equipo infectado que ejecuta los siguientes parámetros cuando inicia tor.exe:
-HiddenServicePort "1080 127.0.0.1:<случайный порт 1>"
-HiddenServicePort "5900 127.0.0.1:<случайный порт 2>"
En
esencia, estos parámetros tienen la función de dar indicaciones
específicas sobre cómo ejecutar el servicio oculto (servidor web onion)
en equipos específicos. HiddenServiceDir define dónde se ubica la
configuración del servicio en forma local, y HiddenServicePort define
cómo redirigir a los usuarios que se conectan a tu dominio onion a tu
servidor web que se ejecuta de forma local. Los usuarios suelen
conectarse a dominios web en el puerto 80, que está asignado al
protocolo HTTP, pero tu servidor web podría aceptar conexiones entrantes
a otro puerto, por ejemplo el 1080. En tal caso, tor.exe debe iniciarse
con el siguiente parámetro:
esto significa que, cuando los usuarios se conectan de un modo común mediante el navegador a .onion,
alcanzan tu equipo donde tor.exe acepta una conexión en el puerto 80 y
lo redirige al puerto 1080 del equipo local que está en la lista del
servidor web. Por ende, los usuarios se conectan a tu servidor web.
Pero
en el caso de ZeuS es más probable que no haya ni un solo servidor web
ejecutándose en un equipo infectado. Entonces, ¿por qué quiere el
malware abrir un servicio oculto además del mapeo de este puerto a
puertos aleatorios? La respuesta está en el mismo ZeuS. Crea una carpeta
de configuración de tor para cada alojamiento infectado, generando una
llave única privada para el servicio oculto y, por consiguiente, un
nombre de dominio exclusivo. Por su parte, tor.exe posibilita el
funcionamiento del servicio oculto con un nombre de dominio onion único.
Creado por la carpeta de configuración tor de ZeuS
Creado por la carpeta de configuración tor de ZeuS
Ejemplo de un dominio generado relacionado con un host infectado
Cuando
se ejecuta en un sistema infectado, ZeuS atiende a los puertos que se
generaron de forma aleatoria y que se recordaron durante la primera
ejecución del malware. El operador de la red zombi conocerá el dominio
onion que se genera en relación con todos los equipos infectados
mientras que el malware informa al CnC sobre su nombre de dominio tor.
Entonces, cuando un equipo infectado está conectado a Internet, el
operador de la red zombi puede alcanzarlo conectándose a su dominio
onion único mediante la red Tor. Uno de los propósitos de esta medida es
tener control remoto del equipo infectado. Por ejemplo, uno de estos
puertos atiende específicamente a la función VNC de ZeuS, lo que sin
duda significa que ZeuS ofrece control remoto del equipo al operador
mediante este puerto.
Pero el funcionamiento de ZeuS mediante Tor
no es nuevo. Hemos rastreado ejemplares de ZeuS con signos de
comunicaciones Tor que datan de 2012 en las que, junto con infecciones
de ZeuS, el proxy Tor y el servicio oculto Tor se desplegaron en equipos
infectados. En Internet hay hasta instrucciones que indican todos los
pasos a seguir para aprender a usar tor.exe de modo que el tráfico de
ZeuS o Spyeye pase mediante la red Tor, así como guías para crear un
dominio onion para alojar CnCs para estos troyanos bancarios. Pero la
mayoría de estos ejemplares más antiguos tenían dominios CnC
especificados en sus cuerpos como localhost o 127.0.0.1, lo que implica
que los ejemplares de ZeuS o Spyeye en sí mismos no tenían una relación
muy estrecha con las comunicaciones Tor, mientras que la versión de ZeuS
descrita en esta entrada tiene un dominio onion de comando y control
egzh3ktnywjwabxb.onion, definido en su bloque interno de parámetros. Y
tor.exe se incluye directo en su cuerpo y el mismo ZeuS lo ejecuta. Por
lo tanto, las comunicaciones Tor y la versión de 64 bits son partes
inseparables de este ejemplar de ZeuS, con la funcionalidad incluida en
la etapa de desarrollo más temprana.
Conclusión
Cualesquiera que hayan sido las intenciones del autor del malware que creó este ejemplar de ZeuS – ya sea por una estrategia de mercadeo o para cubrir las bases de una necesidad futura – el hecho es que ya existe un ZeuS de 64 bits, y podemos concluir que se ha alcanzado un nuevo hito en la evolución de ZeuS. Además, este ejemplar reveló otra característica distintiva que se ha agregado a la funcionalidad de ZeuS: el malware ZeuS tiene la capacidad de trabajar por sí mismo mediante la red Tor con dominios CnC onion, lo que significa que ahora se ha unido a un selecto grupo de familias de malware con esta capacidad.Ejemplares
Detectamos los ejemplares de ZeuS de 32 bits en cuestión como: Trojan.Win32.Scarsi.uhm - 52d3b26a03495d02414e621ee4d0c04e HEUR:Trojan.Win32.Generic - b33d3509ce930bcc796a9e2904f426d7 Detectamos los ejemplares de ZeuS de 64 bits extraídos de los ejemplares de 32 bits ya mencionados como: Trojan-Spy.Win64.Zbot.a - cc793e5b0df621b8d572cf4e7f26e053
Fuente
0 comentarios:
Publicar un comentario