Cuando hablamos acerca de códigos maliciosos hemos visto que son capaces de usar una gran cantidad de técnicas para evitar su detección en el sistema. Sin embargo, a través de un análisis minucioso de un sistema infectado es posible detectar de que manera se vulnera la privacidad del usuario y el atacante obtiene su información. En esta oportunidad, vamos a compartir con ustedes como una variante de Win32/Dorkbot, un gusano que se propaga en toda la región, obtiene las credenciales del usuario desde los procesos que se ejecutan en el equipo infectado.
La amenaza que vamos a analizar, se está propagando a través de correos falsos, y simula ser un sorteo para que el usuario obtenga un iPhone 4s. Recuerden que para evitar caer en ese tipo de engaños es recomendable reconocer de qué manera detectar un correo falso. Esta gusano es detectado por ESET NOD32 Antivirus como Win32/Dorkbot.B. Un análisis preliminar del malware nos demuestra que se encuentra empaquetado con UPX, por lo tanto para realizar un análisis estático deberíamos desempaquetar la muestra para poder realizar un análisis estático. Pero vamos a utilizar otro enfoque, cuando el sistema ya se encuentra infectado, Dorkbot se asocia a determinados eventos del sistema desde dónde captura la información. Por lo tanto, nosotros vamos a utilizar un debugger como el OllyDbg y algunas herramientas de Sysinternals para encontrar datos ocultos en el sistema.
Una vez que el sistema es infectado, sabemos que Dorkbot se ejecuta automaticamente al inicio y que además se oculta dentro de las carpetas del usuario. Pero a simple vista esta información no está, entonces para ver si hay algún tipo de dato oculto dentro del sistema utilizamos RootkitRevealer y vemos qué información nos reporta:
Con la información que nos reporta esta herramienta, podemos detectar dos cosas. La primera de ellas es que se crea una entrada en el registro para ejecutar la amenaza ante cada inicio del sistema, de esta manera el atacante se asegura que podrá robar la información del sistema afectando a todos los procesos que se ejecuten. La segunda, nos muestra en dónde se aloja una copia de este código malicioso, por defecto se utiliza una variable de entorno de Windows (%appdata%), por ejemplo la ubicación varia según si se trata de Windows XP o Windows 7.
Entonces de ahora en más, cuando el usuario inicie cualquier proceso en su sistema, los lugares a los que acceda son monitoreados por este código malicioso y enviados al atacante. Por ejemplo, cuando el usuario inicia un navegador e intenta conectarse a las redes sociales, sus credenciales de acceso son capturadas por Win32/Dorkbot y enviadas a través del protocolo IRC al atacante. En la siguiente captura vemos cómo dentro del mismo proceso del navegador, este código malicioso esta interceptando los datos de conexión para luego enviarlos al centro de comando y control de la red de computadoras infectadas:
En la imagen se puede observar con el valor "-E9 8D2674C0" y el salto a la dirección de memoria 00162160, esto significa que se está realizando un Hook a la función HttpSendRequestW perteneciente a la librería Wininet.dll de Windows. Ante cada llamada a esta función, se interrumpe el funcionamiento normal del navegador y el código malicioso puede obtener información. Además de esta función se interceptan otras llamadas con el objetivo de realizar diferentes acciones.
En conclusión, este tipo de técnicas pasan desapercibidas para el usuario que no cuenta con una solución antivirus instalada que detecte de manera proactiva estos códigos maliciosos. Si quieren conocer más detalles sobre este gusano, les recomiendo leer nuestro artículo: "Dorkbot: Conquistando Latinoamérica" en donde encontrarán qué información es capas de robar Win32/Dorkbot y la amenaza que representa para los usuarios.
Pablo Ramos
Especialista de Awareness & Research