IPW2200 con soporte para Inyección


SeguridadSoy el feliz dueño de una portátil Centrino con una tarjeta de red inalámbrica Intel Pro/Wireless 2200, la cual soporta la inyección de paquetes y un modo llamado "Monitor". El rango de posibilidades en la auditoría y monitoreo de redes inalámbricas es amplio e interesante.

Este es el primero de 3 artículos relacionados con el WEP Cracking y monitoreo de Redes usando para ello el módulo/driver IPW2200.

Relación de Artículos:


Nota: No soy muy dado a hablar sobre estos temas, no me considero un experto en la materia y tampoco pretendo que nadie use lo aquí explicado para fines diferentes al aprendizaje. Apliquemos una sencillo pero profundo consejo; "Mi libertad termina donde empieza la libertad de los demás" y seamos responsables de nuestros conocimientos.


Para este procedimiento estoy usando GNU/Linux Debian en su rama inestable, usando un kernel. 2.6.22.

Actualización [2008-03-17]: Si quieres realizar el procedimiento para el kernel 2.6.24, favor de verificar las notas marcadas como [Kernel-2.6.24].

Primero que nada, debemos revisar que tengamos todo lo necesario para lograr compilar un modulo de kernel, tarea que es sumamente fácil con el siguiente comando

apt-get install build-essential linux-headers-`uname -r`

Ahora tendremos que bajar todos los paquetes que vamos a usar en la compilación:

Archivo Descripción Info
ieee80211-1.2.18.tgz Subsistema IEE802.11 genérico más...
ieee80211_inject-1.2.18.patch Parche de soporte de Inyección para IEE802.11 más...
ipw2200-1.2.2.tgz Intel® PRO/Wireless 2200BG Driver más...
ipw2200-1.2.2-inject.patch Parche para habilitar la inyección de datos del módulo ipw2200-1.2.2 más...
ipw2200-1.2.2-make.patch Parche modificar el make del módulo ipw2200-1.2.2 más...
ipw2200-fw-3.0.tgz Firmware de la tarjeta PRO/Wireless 2200BG más...
ieee80211-1.2.18-2.6.24.patch [Kernel-2.6.24] Parche para compilar el módulo ieee80211-1.2.18 con el kernel 2.6.24 más...
ipw2200-1.2.2-2.6.24.patch [Kernel-2.6.24] Parche para compilar el módulo IPW2200 en el kernel 2.6.24 más...
ipw2200_rtap_fix.patch [Kernel-2.6.24] Corrige el error que muestra "SIOCSIFFLAGS" de la interface "rtap0" al intentar habilitarla más...

Todos los archivos los guardamos en un directorio para poder trabajar con ellos de forma cómoda, así que empezaremos compilando el módulo ieee80211 de la siguiente forma:

tar xvfz ieee80211-1.2.18.tgz
patch ieee80211-1.2.18/ieee80211_tx.c ieee80211_inject-1.2.18.patch

[Kernel-2.6.24]:
patch -p0 < ieee80211-1.2.18-2.6.24.patch
[/Kernel-2.6.24]:


cd ieee80211-1.2.18
make
make install
cd ..

Ahora viene la parte interesante, vamos a compilar nuestro driver de la tarjeta de red inalámbrica, será fácil si seguimos los siguientes comandos:

tar xvfz ipw2200-1.2.2.tgz
patch ipw2200-1.2.2/ipw2200.c ipw2200-1.2.2-inject.patch
patch ipw2200-1.2.2/Makefile ipw2200-1.2.2-make.patch

[Kernel-2.6.24]:
patch ipw2200-1.2.2/ipw2200.h ipw2200-1.2.2-2.6.24.patch
patch ipw2200-1.2.2/ipw2200.c ipw2200_rtap_fix.patch
[/Kernel-2.6.24]:

cd ipw2200-1.2.2
./remove-old
make
make install
cd ..

Y para terminar , solo es necesario poner el firmware en su lugar, para ellos hacemos lo siguiente:

tar xvfz ipw2200-fw-3.0.tgz
cp ipw2200-fw-3.0/* /usr/lib/hotplug/firmware/

Ya tenemos todo lo necesario para poder empezar a usar nuestra tarjeta de red inalambrica en modo monitor. Para activarla hacemos lo siguiente:

rmmod ipw2200
modprobe ipw2200 rtap_iface=1 led=1
ifconfig eth1 up
ifconfig rtap0 up

En este punto hay que hacer notar que tendremos dos interfaces de red nuevas; "eth1" que será nuestra interfase de red inalámbrica y "rtap0" que es nuestra interfase en modo monitor. "rtap0" solo se cargará si pasamos el parámetro "rtap_iface=1" al módulo al momento de cargarlo.

Como nota adicional, yo uso el parámetro "led=1" para que funcione el led de actividad de la portátil. Para los curiosos recomiendo revisar "/sys/module/ipw2200/parameters/" o sacar un listado de los parámetros de nuestro módulo así: modinfo ipw2200.




Imagen de Anónimo
¡Hola! he seguido las instrucciones tenía red solo me faltaba path. En la compilación de ieee manda el siguiente error ¡ya no tengo red inalámbrica! ;-)

make[1]: se sale del directorio `/usr/src/linux-headers-2.6.22-14-386'
make[1]: execvp: /usr/src/linux-headers-2.6.22-14-386/scripts/gcc-version.sh: Permiso denegado
make[1]: se ingresa al directorio `/usr/src/linux-headers-2.6.22-14-386'
[: 1: 0400: unexpected operator
  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  UPD     include/linux/utsrelease.h
make[2]: *** No hay ninguna regla para construir el objetivo `arch/i386/kernel/asm-offsets.c', necesario para `arch/i386/kernel/asm-offsets.s'.  Alto.
make[1]: *** [prepare0] Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.22-14-386'
make: *** [modules] Error 2

¿Alguna sugerencia?
Imagen de nexus
Puedo ver por ahí un "Permiso denegado" igual y puede ser por ahí, trata de ejecutarlo como root.

Saludos
Imagen de Anónimo

Todo perfecto* con ubuntu 8.04 (RC)
Probado y funcionando.

* una diferencia en el parche ipw2200_rtap_fix.patch que se puede editar a mano facilmente.

Gracias.

Imagen de Anónimo

al dar rmmod ipw2200 me sale el siguiente error
ERROR: Module ipw2200 does not exixt in /proc/modules

Imagen de nexus

Eso es debido a que no tienes ese módulo cargado actualmente. Si no esta cargado el módulo no es posible borrarlo. =)

Saludos

Imagen de Anónimo

He tratado de enviar este comentario pero creo que no ha salido. Mis disculpas por adelantado si finalmente sale dos veces.

Con Ubuntu 8.04 (kernel 2.26.24-16-generic), al ejecutar el paso:

patch ipw2200-1.2.2/ipw2200.c ipw2200_rtap_fix.patch

se produce el siguiente error:

patching file ipw2200-1.2.2/ipw2200.c
Hunk #1 FAILED at 10529.
Hunk #2 succeeded at 11883 (offset 303 lines).
1 out of 2 hunks FAILED -- saving rejects to file ipw2200-1.2.2/ipw2200.c.rej

Supongo que el motivo es la diferencia en el parche que señala el tercer comentario... ¿qué cambio hay que introducir en el parche para que funcione?

Imagen de nexus

Hola:

Yo no hago el parche, los encontré despues de buscar en internet y solo lo comento. Ahora que la idea no está nada mal, bien podría unificar todos los parches en un solo archivo y hacer una especie de "instalador".

Deja veo si este próximo fin de semana tengo tiempo y busco como hacerle para automatizar el proceso.

Saludos

Imagen de Anónimo

El kernel es 2.6.24-16-generic (no 2.26.24-16-generic), disculpad el error.

Imagen de Anónimo

¿Alguien sabe si con estos drivers es posible conectarse a una red con cifrado WPA?

Los he instalado en Ubuntu 8.04 y me funciona la inyección pero no me puedo conectar a mi red WPA.

Si sabeis algo...

Salu2

Imagen de Anónimo

Cual es la modificación que hay que hacer?

Imagen de Anónimo

para empezar gracias por todo este tuto esta todo bien facil ya nomas tuve problemas a partir de los modulos me marca los siguientes errores.

$rmmod ipw2200
ERROR: Module ipw2200 does not exist in /proc/modules
$modprobe ipw2200 rtap_iface=1 led=1
FATAL: Error inserting ipw2200 (/lib/modules/2.6.24-18-generic/kernel/drivers/net/wireless/ipw2200.ko): Operation not permitted
$ifconfig eth1 up
eth1: ERROR while getting interface flags: No such device
$ifconfig rtap0 up
rtap0: ERROR while getting interface flags: No such device

bueno...tambien un dato importante..
>>uso ubuntu 8.04 con kernel 2.6.24-18-generic

agradezco su ayuda!!

Imagen de nexus

A simple vista me parece que es un problema de permisos, ya trataste de hacerlo así?:

$sudo modprobe ipw2200 rtap_iface=1 led=1

Saludos

Imagen de Anónimo

disculpa por el post que acabo de poner hace un momento, no habia puesto mucha atencion, pero en realidad no son los mismos errores
los errores son los siguientes

$ sudo rmmod ipw2200
ERROR: Module ipw2200 does not exist in /proc/modules
$ sudo modprobe ipw2200 rtap_iface=1 led=1
FATAL: Error inserting ipw2200 (/lib/modules/2.6.24-18-generic/kernel/drivers/net/wireless/ipw2200.ko): Unknown symbol in module, or unknown parameter (see dmesg)
$ sudo ifconfig rtap0 up
rtap0: ERROR while getting interface flags: No such device
$ sudo ifconfig eth1 up
eth1: ERROR while getting interface flags: No such device

Imagen de Anónimo

Tan solo decir que en Ubuntu 8.04 el directorio en el que colocar los ficheros del firmware no es

cp ipw2200-fw-3.0/* /usr/lib/hotplug/firmware/

sino

cp ipw2200-fw-3.0/* /lib/firmware/

Yo creo que es así, si no lo es, por favor decídmelo

Imagen de Anónimo

No, en el caso de Ubuntu 8.04 el directorio donde hay que colocar el firmware es este:

/lib/firmware/2.6.24-19-generic

Dependiendo de qué kernel tengas, el directorio cambiará.

Imagen de Anónimo

Espero que a alguien le sirva, la diferencia en ipw2200_rtap_fix.patch es la linea, en mi caso no era 10529 sino 10754, pero lo importante es insertar las dos lineas que comienzan con + del parche en el lugar que corresponde, asi que basta con abrir el parche e ipw2200.c en un editor de texto, buscar la linea

memcpy(priv->mac_addr, addr->sa_data, ETH_ALEN); en ipw2200.c

y pegar

if (rtap_iface)
		memcpy(priv->prom_net_dev->dev_addr, addr->sa_data, ETH_ALEN);	

la segunda parte del parche ya habra dado el ok asi que todo listo..

Imagen de nexus

Muchas gracias por tus apuntes, estoy seguro que le será de ayuda a mucha gente.

Saludos

Enviar un comentario nuevo

  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <pre>
  • Saltos automáticos de líneas y de párrafos.
Más información sobre opciones de formato

Captcha Image: you will need to recognize the text in it.
Igrese las letras que puede ver en la imagen superior