miércoles, 27 de febrero de 2013

Ataque a WPA

Este ataque es completamente distinto al que se usa para contra redes con seguridad inalámbrica WEP. Estos ataques no consisten en obtener un gran número de paquetes de datos cifrados y después lanzar un ataque de predicción contra estos con aircrack-ng, sino obtener un paquete específico y por fuerza bruta mediante el uso de un diccionario obtener la clave.
Para este ataque es necesario que exista un cliente legitimo conectado al AP, en caso contrario este ataque no es posible. Para obtener correctamente estos paquetes será necesario tanto tener un cliente legitimo asociado al AP como la buena alineación de nuestra antena con respecto al AP.
El ataque consiste en forzar una desautenticación del cliente legitimo conectado al AP (lo cual genera un DoS al cliente) .
Tras desconectarse el usuario del sistema, este volverá a conectarse al AP y realizar de nuevo el proceso de autenticación, durante ese proceso de autenticación hay un intercambio de paquetes entre el cliente y el AP, estos paquetes serán los que debemos obtener si queremos lanzar el ataque de diccionario, ya que en ellos se encuentra la clave única de sesion, conocido como handshake . No es fácil obtener estos paquetes, ya que se producen de forma muy rápida, de ahí la importancia de la antena.

Prueba de concepto para obtener el handshake y realizar el ataque de diccionario.

En primer lugar, vamos a spoofear la  MAC. (En caso de que exista filtrado por MAC, esto se convierte en algo necesario)


# ifconfig wlan0 down
# macchanger wlan0 -m 00:01:02:03:FF:EE
# ifconfig wlan0 up

Ponemos la interfaz de nuestro adaptador inalambrico en modo monitor.


# airmon-ng start wlan0
  
Lanzamos airodump-ng para localizar el AP. una vez localizado comenzamos a capturar los paquetes solo asociados a su bssid


# airodump-ng -c <canal> --bssid <bssid> mon0 -w salida

Una vez tenemos el AP y su cliente conectado, procedemos a lanzar la desautenticación del cliente.

# aireplay-ng -0 1 -a <bssid> -c <MAC cliente> mon0

Si se produce correctamente la desautenticación y posteriormente capturamos los paquetes, aparecerá en la barra de estado "WPA handshake".

Una vez tenemos capturado el handshake, solo nos hará falta realizar el ataque de diccionario contra los paquetes capturados.

# aircrack-ng -w diccionario salida

PD: El diccionario se puede descargar desde numerosas webs, o incluso lo podeis hacer vosotros mismos descargando la wiki o cualquier web y un poco de perl o python. :)

:-)

martes, 19 de febrero de 2013

Router OBSERVA TELECOM (firmware AW4062) de movistar

No hace mucho que tengo este router, justo nada más traermelo el operario de movistar (o de la empresa que trabaja para movistar en esta zona), me puse a configurarlo, configurando la NAT para que vaya correctamente a los servidores, añadiendo filtros de acceso por WiFi, etc.

Al final de todo, procedí a hacer un backup de esta configuración, y me lleve una sorpresa al ver que en el código de este archivo xml había un usuario y una clave de más (adsl/realtek), además con permisos de superusuario. Edite el archivo de configuración cambiado la pass y el usuario, pero no ocurría nada, ese usuario no se podía modificar. Seguramente estuviese ahí para que los técnicos de movistar puedan entrar por telnet y actualizarlo y/o configurarlo (además de poder controlarte y espiarte). Como ya había configurado el router para que solo se pudiese entrar a sus servicios (http, ftp y telnet) desde la red interna, y había quitado las IPs que trae por defecto desde las cuales se pueden acceder desde el exterior, ya que ese usuario y contraseña anteriormente vistos no se podía quitar. 


Así que me propuse quitar este usuario, o al menos quitarle permisos para que pueda entrar a los servicios del sistema. Por web no sé podía hacer nada (estuve mirando donde poder ejecutar código y configurar el fichero passwd, pero no vi nada, y como tenia un servidor ftp, tampoco es que pusiese mucho empeño en el servidor web), así que entre por ftp con el usuario adsl/realtek.


Una vez dentro, me fui directo a /etc/passwd y me lo descargue en mi equipo, una vez descargado, le edite al usuario adsl la consola por defecto, poniendosela a /bin/false y de camino dandole al usuario root un terminal de verdad, donde el router sea totalmente configurable, y no el servicio que ofrece el router por defecto /bin/cli 

Por ultimo subimos el archivo passwd editado a /etc/passwd por ftp y listo.

Ahora ya podemos entrar por telnet y tener un control total sobre el router, además de haber deshabilitado al usuario adsl. 




Tened en cuenta que al ser una rom, cuando apaguemos el router o lo reiniciemos, se cargará la configuración por defecto, y tendremos que hacer todo esto de nuevo.
Como podemos observar, para el usuario user le hemos dejado /bin/cli como consola por defecto.




Investigando un poco en los archivos que usa el router al iniciarse, concretamente en configd, usando strings, vemos que el usuario adsl y su contraseña realtek se encuentran en él, lo cual viene hardcodeado en el firmware de esta versión de este router, y además no se puede cambiar la contraseña. También podemos encontrar la clave que viene impresa en la parte inferior del router en un archivo llamado wpakey el cual lo encontramos en /var/ entre otras cosas interesantes.


:)