sábado, 20 de noviembre de 2010

Remastersys - LiveCD de nuestro sistema

Esta utilidad nos permitira hacer una copia de seguridad de nuestro sistema operativo pero pudiendo hacerlo un liveCD para su posterior uso sin necesidad de instalarlo.

La mejor forma de instalarlo es añadiendo el repositorio en /etc/apt/sources.list usando por ejemplo GeDit:

deb http://www.linuxmint.com/repository romeo/

una vez hecho esto, procedemos a actualizar e instalar la aplicacion:

sudo apt-get update && sudo apt-get install remastersys

y ahora ya nos podemos meter en materia.

Los comandos para esta aplicacion son sencillos:

  - Si lo que queremos es hacer una copia exacta de nuestro sistema escribiremos:

  sudo remastersys backup

  el programa guardara nuestra iso en la carpeta personal /remastersys/cumstomdist.iso y podemos cambiarle el nombre añadiendo al final del comando el nombre de nuestra iso, como por ejemplo:

  sudo remastersys backup miubuntu.iso

  - si en cambio queremos hacer una copia del sistema sin que guarde datos como cuentas, contactos, historial, archivos, etc,... pondremos:

  sudo remastersys dist

  - y si queremos que lo que haga una copia con el sistema de ficheros tal y como lo tenemos solo tenemos que poner:

  sudo remastersys dist cdfs

 y como ultimo paso, debemos de limpiar cuando halla terminado su tarea los temporales que nos ha podido crear para no ocupar espacio en el disco tontamente:

  sudo remastersys clean

NOTA: puede que en algun momento del proceso nos pida el cd de la version de ubuntu que tengamos instalada

martes, 19 de octubre de 2010

Xplico - analizador de trafico de red

Bien, despues de darle muchas vueltas, he decidido hace un "mini" tutorial sobre este programa. Le he dado vueltas por la sencilla razon de que hay mucho "cotilla" de redes ajenas, asi que hacerme un favor... probad esto es vuestas redes y dejad a los demas en paz.

Este programa nos permite analizar las capturas hechas con programas como Tshark por ejemplo de una manera grafica por lo cual mucho mas comoda.

Como siempre tendremos que instalar las librerias necesarias para poder correr el programa:

sudo apt-get install tcpdump tshark apache2 php5 php5-sqlite build-essential perl zlib1g-dev libpcap-dev libsqlite3-dev php5-cli libapache2-mod-php5 libx11-dev libxt-dev libxaw7-dev python-all sqlite3 recode sox lame libnet1 libnet1-dev libmysqlclient15-dev

y la hora de instalarlo yo personalmente he tenido problemas con la version 9.10 de ubuntu no se porque, pero con maverick 10.10 la verdad es que ninguno. Os podeis descargar de AQUI la version en paquete .deb para instalarlo.

Acto seguido iniciamos apache y por supuesto Xplico

sudo  /etc/init.d/apache2 restart
sudo /etc/init.d/xplico start


si todo ha ido bien ( que espero que si ) introducimos en nuestro navegador la siguiente direccion para tener acceso grafico al programa:

http://127.0.1.1:9876

poniendo como nombre de usuario y contraseña xplico/xplico


una vez dentro de la interfaz podremos crear un caso (case) el cual puede ser creado de dos maneras, a traves de un archivo .pcap capturado por Tshark o en una sesion en vivo a traves de alguna de nuestras interfaces de red.


una vez creado nuestro proyecto podemos acceder a el pinchando sobre su nombre y nos saldra algo bastante parecido a esto:


desde el programa podremos tener acceso a todo lo capturado desde VoIP hasta e-mails por ejemplo, pasando por videos, direcciones de internet e imagenes.

Hasta aqui os dejo yo... el resto del camino lo debereis hacer vosotr@s sol@s. Pero os dejo unas capturas.



sábado, 16 de octubre de 2010

ws.tcl

ws.tcl es una aplicacion escrita para remplazar a wesside-ng porque este no tiene tasas de exito tan altas como del que vamos a hablar a continuacion.

necesitaresmo tener instalado TLC 8.3 + para poder hacer andar este script. Aqui un ejemplo de uso:

root@Blue:/home/gm# ./ws.tcl XXXXX ath0 11
Device MAC XX:XX:XX:XX:XX:XX
AP MAC XX:XX:XX:XX:XX:XX
Associated successfully.
Running fragmentation attack...
Running chopchop attack...
Listening for ARP packets...
Got keystream...
Injecting generated packet...
Packet capture started.
Replaying ARP packets.
Starting crack...
KEY FOUND! [ XX:XX:XX:XX:XX ] (ASCII: XXXXX )
Cleaning up...
Time taken: 97 seconds
root@Blue:/home/gm#



Los pasos que sigue el programa son estos:

1) Busca el AP y el BSSID, y tambien localiza las macs asociadas
2) Se asocia con el AP
3) Se ejecuta aireplay-ng -3 contra el AP
4) Se ejecuta aireplay-ng -4 contra el AP
5) Se ejecuta aireplay-ng -5 contra el AP

6) Si aireplay-ng -3 encuentra un paquete, omite el paso 6)

6) Cuando aireplay-ng -4 o -5 tiene exito, genera paquetes ARP y re-inyecta.
7) termina aireplay-ng -4
8) Elimina aireplay-ng -5
9) Elimina aireplay-ng
10) Se ejecuta aircrack-ng
11) Cuando la clave se encuentra, mata al resto de aireplay-ng
12) Muestra la clave
13) Limpia, y da el tiempo transcurrido


Y su uso seria asi:

./ws.tcl AP Interfaz_wifi Canal

R-WlanXDecrypter 0.9

Este es un generador de claves por defecto de una compañia llamada R de Galicia, conocidas como las R-wlanX y nombres similares.

Voy a hacer un copy paste del post del creador del programa que el lo explica mucho mejor de lo que lo puedo hacer yo.

Analisis

Lo primero es aclarar que ni el SSID ni la MAC dan detalles sobre la clave. El numero del SSID normalmente suele ser el canal (aunque no siempre) del AP. No siempre se cumple el formato exacto de "R-WlanX", a veces se mezclan mayusculas minusculas, a veces hay espacios, a veces guiones, a veces nada separando las palabras; e incluso a veces se ven palabras adicionales en el SSID.

La manera más universal de definir las contraseñas por defecto de R es que son números seguidos de ceros. ¿Cuantos números antes de los 0's? Normalmente 8, en alguna ocasión 6. Ahora independiente de esto tenemos cuatro posibilidades de tipos de contraseñas por defecto (descartando contraseñas mayores de 128 bits):

  • Contraseña WEP 128 bit ASCII (ej.: "2010945600000") : El tipo de contraseña más común
  • Contraseña WEP 128 bit Hexadecimal (ej.: 20:10:94:56:00:00:00:00:00:00:00:00:00): Raras, pero haberlas hailas
  • Contraseña WEP 64 bit ASCII: Nunca he visto una de este tipo
  • Contraseña WEP 64 bit Hexadecimal (ej: 20:10:94:56:00): Se ven bastantes

¿Significan algo los números? ese tema es bastante misterioso:

-Algunas claves empiezan por un año (ej.: "2008") seguidas de 4 numeros aleatorios; se cree que el año es el de fabricación de router, pero nos encontramos muchos años futuros (ej.: "2023"), asi que no parece ser ese el caso. Igualmente la mayoría de claves empiezan por 2, si queremos reducir el intervalo de busqueda podemos empezar buscando claves que empiecen por 2

-En otros casos, sobre todo cuando se tratan de 6 numeros seguidos de 0's (en vez de 8 ) se cree que puede ser el número de telefono sin el prefijo. Saber esto no nos ayuda mucho, pero en caso de estas claves tan solo son 6 números seguidos de 0's en vez de 8, lo que reduce muy sustencialmente nuestro intervalo de busqueda

Bueno, independientemente del origen de los numeros, nos encontramos con que solo varían como máximo 8 digitos, que siempre son numeros, por lo que  tenemos 10^8=100.000.000 de posibilidades para cada tipo de contraseñas, que no son tampoco muchas. En un ordenador portatil actual de gama media se comprobarían todas las claves en unas 2 horas o menos aproximadamente.

Con esto terminamos el análisis y procedo a explicar la aplicación.

R-WlanXDecrypter

El programa soporta actualmente plataformas Unix y Windows. Trae múltiples opciones adicionales que explicaré mas tarde, son una manera de crear diccionarios más personalizados pero no es necesario saber utilizar estas opciones para crear los diccionarios básicos.


Opciones básicas

  • -n : Crea el diccionario para claves de 64bits, 128bits, etc... Aunque tambien es compatible para claves más grandes como 512bits nunca me he encontrado una de R de ese tipo. Si no especificamos el parámetro el programa coge una clave por defecto de 128bits
  • -h : Se creará un diccionario en formato hexadecimal, no es un formato alternativo de guardar las claves, sino que es un diccionario diferente a uno creado sin esta opción -h. El parametro es el caracter (en decimal) separador de los bytes expresados en formato hexadecimal, si no se especifica por defecto es : , que es el símbolo más utilizado para esta función y el que utiliza aircrack-ng

Utilizando solo estas opciones podemos crear diccionarios universales para las contraseñas de R. Por defecto el programa crea claves de 8 digitos seguido de 0's (y asi incluimos tambien a las de 6 dígitos)

-Primero crearemos un diccionario ASCII para contraseñas de 128bits, ocupará 1,40GB:

Código:
R-WlanXDecrypter rwlan128.txt

-Ahora crearemos un diccionario Hexadecimal para contraseñas de 64 bits, ocupará 1,48GB:

Código:
R-WlanXDecrypter rwlan64hex.txt -h -n 64

-Con esos dos diccionarios deberían bastar para la mayoría de routers de R. Aún asi siempre podremos generar un diccionario Hexadecimal para contraseñas de 128bits, ocupará 3,72GB:

Código:
R-WlanXDecrypter rwlan128hex.txt -h

-Tambien podremos crear un diccionario para claves ASCII de 64bits, aunque nunca vi ninguna de este tipo en R el diccionario tan solo ocupa 683KB:

Código:
R-WlanXDecrypter rwlan64.txt -n 64

Se supone que en estos diccionarios están todas las claves que puede contener un router de R, pero tenga en cuenta que pueda que existan claves de mayor longitud que 128bits, aunque nunca he visto ninguna hasta la fecha.

Opciones avanzadas:

  • -c : Por defecto en las palabras del diccionario varian 8 digitos y despues se rellenan con 0's asta completar la longitud de la clave. Se puede utilizar esta opción si queremos especificar otro numero de digitos variables
  • -cm : Por defecto las claves se rellenan con 0's. Con este parámetro podremos especificar otro carácter de relleno (especificar el codigo decimal del carácter)
  • -min : Con esta opción podemos definir el comienzo del diccionario especificando el valor mínimo. Se especifica el valor minimo excluyendo el relleno (es decir, solo contando el número formado por los bytes variables)
  • -max : Con esta opción podemos definir el final del diccionario especificando el valor máximo. Se especifica el valor máximo excluyendo el relleno (es decir, solo contando el número formado por los bytes variables)
  • -r: Si especificamos esta opción las palabras del diccionario estarán separadas por el byte LF (char 10). Por defecto están separadas por 2 bytes: CR+LF (char 13)(char 10). La mayoría de programas reconocen ambos formatos. Con esta opción ahorramos 1 byte por cada palabra.
  • -m : Hace lo mismo que -n (por eso no es compatible con esa opción) pero con esta opción podemos definir manualmente el número de bytes de la clave. Cuando hablamos de contraseñas de pongamos 128bits, 24 de estos se utilizan para el IV, por lo que la clave es realmente de solo (128-24)/8=13 bytes.-n 64 es equivalente a -m 5, -n 128 a -m 13, etc...
  • -q: No mostrara el estado del proceso de creación del diccionario

Con las opciones por defecto los diccionarios generados son de un gran tamaño y con muchas palabras, y se puede tardar mucho tiempo en comprobarlas todas dependiendo del equipo. Con estas opciones avanzadas podemos definir diccionarios más personalizados. Varios ejemplos útiles:

-Como ya hemos dicho, en algunas ocasiones las claves son solo 6 numeros seguidos de 0's, en ese caso crearemos los diccionarios anteriores (excepto el de 64bits ASCII ya que no tiene sentido reducirlo) pero para 6 bytes variables en lugar de 8. Los diccionarios creados ocupan tan solo 67,7MB los 3 juntos. De esta manera podemos hacer una comprobación rapida con el aircrack-ng para claves con 6 numeros variables antes de utilizar los diccionarios grandes:

Código:
R-WlanXDecrypter rwlan128-c6.txt -c 6
Código:
R-WlanXDecrypter rwlan64hex-c6.txt -h -n 64 -c 6
Código:
R-WlanXDecrypter rwlan128hex-c6.txt -h -c 6

-Ya nombramos que muchas de las contraseñas por defecto de R suelen empezar por 2. Utilizando -min y -max podremos definir diccionarios de solo ese rango (empiecen por 2). Los 3 diccionarios que estamos creando (128bits ascii, 64bits hex y 128bits hex) ocuparían la decima parte cada uno:

Código:
R-WlanXDecrypter rwlan128-start2.txt -min 20000000 -max 29999999
Código:
R-WlanXDecrypter rwlan64hex-start2.txt -h -n 64 -min 20000000 -max 29999999
Código:
R-WlanXDecrypter rwlan128hex-start2.txt -h -min 20000000 -max 29999999

Descarga

Incluye versiones compiladas para linux y windows y el código fuente.

-Versión actual (0.9 ):

-Mirror 1: http://www.fileden.com/files/2006/9/18/225525/R-WlanXDecrypter0.9.zip
-Mirror 2: http://www.megaupload.com/?d=2FMY7HWR

-Versiones antiguas (0.8 ):

-Mirror 1: http://www.fileden.com/files/2006/9/18/225525/R-WlanXDecrypter0.8.rar
-Mirror 2: http://www.megaupload.com/?d=8BF9OA1S

Changelog

v0.8 [06/10/2010]
-----------------
+Primer lanzamiento publico

v0.9 [11/10/2010]
-----------------
+Mostrar tamaño archivo final y numero de claves
+Mostrar status del proceso
+Añadido quiet mode -q
+Corregido bug en las opciones -min y -max
+Pequeña optimización del bucle generador de claves
+Corrección de pequeños fallos generales

Anexo: Como usar diccionarios Hexadecimales en aircrack-ng

Para definir en aircrack-ng un diccionario hexadeximal hay que especificar h: antes de la ruta del diccionario y siempre debemos especificar la longitud de las claves WEP del diccionario que estamos usando:

Código:
aircrak-ng -n 128 -w h:"rwlan128hex.txt" captura.cap
Código:
aircrak-ng -n 64 -w h:"rwlan64hex.txt" captura.cap

Aun así, en la versión actual de aircrack-ng 1.1, existen varios bugs y dificultades que impiden el correcto funcionamiento de los diccionarios hexadecimales. He creado un post al respecto aqui que explica detalladamente como solucionar este problema.

La informacion aqui expuesta esta extraida de www.seguridadwireless.net