Mostrando entradas con la etiqueta Pharming. Mostrar todas las entradas
Mostrando entradas con la etiqueta Pharming. Mostrar todas las entradas

lunes, 15 de abril de 2013

Curiosidades sobre la botnet vOlk (I)

Vamos a mostrar algunas curiosidades técnicas de la botnet vOlk, un software de gran "éxito" entre los atacantes de Latinoamérica que está suponiendo un problema para todos los bancos de países como Perú, México, Costa Rica, Chile, Colombia... Muchos ya la han estudiado, pero vamos a repasar aquí sus principales características y algunos errores.

vOlk es una "suite" para crear una botnet. Como muchas otras que operan en Latinoamérica, se compone principalmente de su panel de control en PHP y MySQL, que se colgará en alguna web (comprometida o no) y desde el que se darán órdenes a los clientes. Los clientes son el segundo componente. En el caso de vOlk se trata de un sencillo programa programado en Visual Basic 6 y que infecta a los usuarios. El programa se configura para recibir órdenes del panel de control, se compila, y se distribuye entre las víctimas.

La botnet vOlk apareció hace unos tres años, ha conseguido mucha popularidad y está pensada principalmente para ser un troyano bancario sencillo basado en el pharming (cambio de hosts). Esta simple técnica, que se utiliza desde hace muchos años, sigue siendo efectiva. Requiere de pocas habilidades por parte del atacante y de una infraestructura básica. Solo con eso se pueden obtener importantes beneficios.

El panel de control

Explicando el panel de control, también se explican sus funcionalidades. Para instalarlo se proporciona un fichero de configuración SQL que contiene algunas tablas y su valor por defecto. El de la imagen corresponde a última versión, 5.


La versión inmediatamente anterior, se veía así:


Luego se copian los ficheros PHP en Apache y se "instala". El proceso solo requiere del establecimiento de un usuario y contraseña para controlar la botnet.

En la pantalla inicial se detallan sus características. Con las diferentes versiones, se añadieron cambios estéticos en el panel, pero sobre todo en el código. Se corrigieron algunas vulnerabilidades pero se mantienen otras. Principalmente, sus habilidades son las de cambiar dinámicamente el archivo hosts de Windows en las víctimas, de descargar un ejecutable y lanzarlo, de hacer que visiten de forma "invisible" o visible un enlace, de robar contraseñas de Messenger, Internet Explorer y Filezilla y de proporcionar cómodas estadísticas de "éxito" para el atacante. En ellas contiene una pequeña base de datos de GeoIP para localizar a las víctimas por países. Por ejemplo, en la versión 4, si elegimos que nos muestre las víctimas de países "desconoSidos" (sic).


Vías de negocio

La principal vía de negocio está pensada para realizar pharming. El atacante genera una copia de la web del banco y la cuelga en una dirección IP. Luego establece el archivo hosts de la víctima para que apunte a esa IP. El usuario, no se dará cuenta de que es una página falsa e introducirá sus datos. En esta página falsa del supuesto banco, habrá pequeños scripts PHP como este para enviar las contraseñas robadas del formulario por correo, guardarlas en un fichero TXT en el servidor, o ambas opciones. Normalmente también almacenan la dirección IP desde donde ha picado la víctima y luego redirigen al banco real una vez completada la estafa.




Sergio de los Santos
Twitter: @ssantosv

jueves, 12 de enero de 2012

Curiosidades sobre el pharming (II)

Hablé en la entrega anterior de diferentes técnicas más o menos sofisticadas sobre el pharming. Nos centramos en esta ocasión en otras curiosidades de esta técnica (en principio simple) de infección.

En Hispasec hemos visto todo tipo de despropósitos a la hora de analizar troyanos que modifican el archivo hosts. Un ejemplo clásico es incluir el protocolo en el dominio. Así, podemos encontrar esto:


e incluso:


Cosa que no tiene ningún sentido ni efecto. Otra curiosidad vista recientemente es el intento de hacer que los usuarios precavidos que no utilizan el dominio sino la dirección IP para acceder a su banco, sean también víctimas. ¿Cómo? Intentando que la dirección IP oficial de un banco resuelva a través del archivo host hacia la dirección IP del atacante... cosa que es imposible. Por ejemplo, hemos visto esto



Donde la dirección de la izquierda es la oficial del banco. Esto no tiene demasiado sentido y no funcionará.

La solución contra el pharming

Resulta curioso que existan ya dos soluciones casi definitivas contra el pharming y todavía sea tan popular. Son muy sencillas:

  • Comprobar los certificados de las páginas a las que se accede. Los programadores de este tipo de troyanos no se molestan en crear certificados de ningún tipo. Simplemente ignoran todo el cifrado. Si los usuarios comprobasen que el sitio al que acceden está bajo SSL y además la ruta de certificación es válida, este tipo de troyanos no tendrían éxito.
     
  • Protección del archivo hosts. Modificar los permisos del archivo hosts para que no pueda ser modificado previene el pharming. Si el usuario de XP no es administrador en su día a día, ya está bastante protegido. Los usuarios de 7 y Vista que, aunque administradores, usen bien el UAC, también tendrán menos posibilidades de verse infectados

Curiosamente, en los troyanos que realizan pharming es en los que (y esto es una apreciación personal) he observado un menor ratio de detección por firmas de los antivirus. En el escritorio, seguro que son cazados en mayor medida a través de heurística o comportamiento, pero por firmas suelen pasar desapercibidos debido precisamente a su simplicidad en muchos casos.

Aun así, existiendo estas soluciones tan sencillas, la producción de estos troyanos continúa y la única razón es su éxito y ratio de infección.

Más información:

Curiosidades sobre el pharming (I)



Sergio de los Santos
Twitter: @ssantosv

miércoles, 11 de enero de 2012

Curiosidades sobre el pharming (I)

Se ha dado en llamar "pharming" al ataque que consiste en modificar la resolución de dominios a través del archivo hosts. El sistema operativo acude primero al archivo hosts a intentar resolver un dominio. Luego al primer servidor DNS configurado. Si el primer servidor DNS está caído (y sólo si está caído, no porque no encuentre el dominio en él... esto es algo que muchos confunden)  acude al segundo servidor DNS a intentar resolver el dominio. ¿Qué han ideado los atacantes para aprovecharse de esta situación?


Los ataques pharming son extremadamente populares hoy en día entre los creadores de troyanos menos sofisticados. Una buena parte de la producción de malware creada en Latinoamérica hoy en día está basada en este principio del pharming. La idea es crear pequeños programas que modifiquen el archivo hosts. El usuario infectado intentará ingresar en su banco y, como el sistema le lleva hacia otra dirección IP, acabará en una especie de phishing donde el atacante capturará sus credenciales.


Variantes

En principio, es un ataque muy simple. La víctima ejecuta un troyano y su archivo hosts es modificado, por ejemplo, con esta entrada:


Cuando el usuario acuda a banco.com, en realidad irá a 6.6.6.6 donde le espera una página copia de banco. Programar esto es extremadamente simple, pero tiene sus desventajas. Por ejemplo, ¿qué ocurre cuando la dirección IP 6.6.6.6 cae? La víctima escribirá en su navegador www.banco.com, acudirá a 6.6.6.6 y no irá a parar a ningún sitio. Su sensación será que la página de su banca online se ha caído. Si el troyano no tiene otros recursos (solo contaba con esa dirección IP en su código), simplemente ya no será válido y quedará obsoleto. Los programadores pronto se pusieron manos a la obra para mejorar este tipo de troyanos.



Descargar el archivo hosts

Pronto se dieron cuenta de que sería mucho más efectivo que, la asociación 6.6.6.6 con www.banco.com fuese, de alguna forma, dinámica. Que el propio troyano controlara hacia dónde resuelve el dominio para cuando la dirección IP no estuviese disponible. Así que comenzaron a programar un sistema por el que, en vez de integrar directamente en su código la dirección IP donde se aloja la copia, el malware acude a una URL que controlan los atacantes y descarga un archivo hosts que sustituye al original. En ese archivo hosts, van actualizando la asociación IP/dominio.

Así, si cae la dirección IP, pueden colgar en la URL datos actualizados para que los nuevos infectados acudan. Es como un pequeño sistema de "nuevas versiones" del malware.
Una URL que contiene un archivo hosts típico puede ser:

Resolver un dominio de tercer nivel

Una nueva vuelta de tuerca al sistema de pharming Al fin y al cabo, el atacante lo que desea es poder modificar la dirección IP de forma dinámica si cayese la copia de la página del banco. Esto se puede conseguir descargando de una URL un archivo hosts completo... o bien resolviendo un domino. Si el dominio es dinámico de tercer nivel, además se consigue inmediatez.

El funcionamiento sería el siguiente: el troyano está programado para modificar el archivo hosts con la dirección IP a la que resuelva dominio.no-ip.org (por ejemplo), de esta manera:

#Resolución(dominio3nivel)# www.banco.com

Donde #Resolución(dominio3nivel)# es una variable. El atacante, cuando el dominio resuelva ya a una dirección IP caída, solo tiene que entrar en su panel de control de no-ip.org y modificar la resolución para cambiar la variable en los sistemas infectados. El troyano comenzará a modificar los archivos hosts de sus víctimas hacia la nueva IP de forma inmediata.


Instalar un servidor web en la víctima

El atacante, cansado de que se le echen abajo las direcciones IP donde alojan sus phishings, decide simplemente que el servidor sea la propia víctima. El troyano instala un pequeño servidor web y pone a escuchar en el puerto 80. Luego modifica el archivo hosts con esta entrada:

127.0.0.1 www.banco.com

Ahora, la víctima acudirá a su propio ordenador cuando quiera realizar operaciones de banca online, donde él mismo alojará una copia de la página. El formulario incluirá un "action" donde se envía la información al atacante. Esta técnica de resolución local (asociar la resolución de un dominio a 127.0.0.1) se usa también normalmente para bloquear webs de seguridad (virustotal.com, windowsupdate.com... etc).

Todas las técnicas descritas anteriormente incluyen en los troyanos reales sistemas de redundancia (varias URL por si alguna cae, varios dominios de tercer nivel consultados... etc) e incluso combinaciones de todas estas.



Sergio de los Santos
Twitter: @ssantosv