lunes, 21 de noviembre de 2011

Crackear clave con aircrack-ng. Parte 1 - clave WEP

Hola,

A continiación vamos a probar la seguridat del router de mi primo que vive en una de las casas colindantes a la mía, por supuesto antes de nada hemos de pedir su autorización para dicho test o bien probar con nuestro propio router.

Después de comentarle nuestras intenciones hemos de pensar que software/s usar para realizar el crackeo, me consta q hay una distribución GNU/Linux llámada BackTrack que ya tiene instaladas todas las herramientas necesarias para scanear redes, capturar info de ellas, hacer tracers, inyecciones, etc......... Habrá q estudiarlo más adelante :) ......... Yo en este caso (no soy ningún entendido en redes) he decidido usar la propia distribución GNU/Linux q tengo instalada en mi portatil (Debian squeeze), añadiendo los programas q necesito para el caso, ese programa no es otro que "aircrack-ng", el cual ya incorpora programas como airodump-ng (para capturas de paketes) o aireplay-ng (para inyecciones, autentificaciones, etc) en su misma instalación, instalación, bien, vamos a ello:

  1. Instalar Aicrack: Aquí dependiendo de la distro que tengamos, puede ser que podamos instalarlo haciéndo simplemente un "apt-get install" o que debamos ir a la web de aircrack, bajarnos los fuentes, compilarlos e instalarlos (tienen documentación que os explica como hacerlo) o bien como en mi caso bajar un .deb y hacer "dpkg -i pakete.deb", yo el mío lo saké de acoe por bugs de los fuentes originales con mi distribución, puede que necesitéis instalaros con apt el pakete "iw" también.

  2. Cambiar Mac y poner el modo Monitor: Como en un posterior paso vamos a autentikarnos contra el router con una Mac falsa, vamos a ponernos nosotr@s esa mac ya y así luego no interrumpimos lo que tengamos corriendo, es más :), como puede q haga esto con cierta frecuencia, no pendeis mal, si voy luego a probar las claves de mis herman@s, ti@s y demás siempre con su consentimiento, pues he decidido crearme un sencillo script que me haga esto mismo y a partir de ahora lo podré invokar siempre que quiera con un solo comando, asi pués, nos logamos como root si es que no lo hemos hecho antes, todo lo q viene ahora es cosa de root :), con "su -", me gusta logarme así, el "-" carga las variables de entorno del usuario logado, root en este caso:
    # vi kambiar_mac.sh
    #!/bin/sh

    /etc/init.d/networking stop
    ifconfig wlan0 down
    ifconfig wlan0 hw ether 00:11:22:33:44:55
    iwconfig mode monitor
    /etc/init.d/networking start
    ifconfig wlan0 up

    Grabamos con ":wq" y le damos permiso de ejecución (recomiendo que solo a root y su grupo)
    # chmod 750 kambiar_mac.sh
    Y lo corremos:
    # sh kambiar_mac.sh

    Realizando este paso, apartir de ahora solo ejecutando el script pondremos nuestra interfaze a punto para atacar a una red

  3. Scanear Redes: Primero echamos un vistazo a nuestro alrededor:
    # airodump-ng wlan0    (wlan0 es mí interfaze wifi, mirar la vuestra con iwconfig)

    Esto nos dará un listado de lo q hay alrededor, elejimos nuestra red "WEP" y copiamos su Mac, canal y nombre, en mi caso.

  4. Capturar Paquetes: Una vez tengamos los datos de la red, procedemos a comenzar la captura de datos (IVs), en este caso, tendremos que indicar el canal y el Mac del AccesPoint que vamos a capturar, indicando también en que archivo ha de escribirlo y la interfaze:
    # airodump-ng --channel 11 --bssid 00:1A:2B:2C:1D:0E -w captura_01.cap wlan0


  5. Autenticarnos: Con el paso que hemos hecho antes ya estampos haciéndo lo necesario para capturar IVs (bloque de bit) de la red deseada, bastaría esperar a tener el número de datos suficientes para descifrarla clave. Lo malo es que para una clave de 64 bits necesitamos unos 250.000 IVs y para una de 124 en adelante hay que rondar el millón o más, con lo cual, si no aceleramos el proceso igaul tenemos q pasarnos dos meses con la konsola recogiendo información hasta llegar a tales cifras. Para acelerar este proceso vamos a autentificarnos contra el router en cuestión de esta manera:

    Nos abrimos otra konsola nueva y dejamos siempre corriendo la del paso anterior

    # aireplay-ng -1 0 -a 00:1A:2B:2C:1D:0E -h 00:11:22:33:44:55 -e javier wlan0

    Donde -a es la Mac del AP, -h es nuestra Mac falsa q hemos puesto en el script inicial, -e es el nombre de la red de mi primo y el -1 significa q nos vamos a autentificar.

    Si todo ha salido bien nos dirá algo así como "Association Successful ;)"

    Claro que no siempre es todo tan del color de rosas, muchas veces no estamos en la distancia adecuada o conectamos y se nos cae al poco rato, o no estamos en el canal "iwconfig wlan0 channel X", o simplemente nuestra tarjeta de red no soporta inyecciones, para testear esto podemos ejecutar:
    # aireplay-ng -9 wlan0


  6. Inyectar: Una vez hemos logrado autenticar (unas veces cuesta más y otras menos) nos abrimos 2 konsolas nuevas (siempre dejando correr la de capturas) y procedemos a "darle choped" :)

    Konsola Nueva 1:
    # aireplay-ng -3 -b 00:1A:2B:2C:1D:0E -h 00:11:22:33:44:55 wlan0

    Konsola Nueva 2:
    # aireplay-ng -3 -e javier -a 00:1A:2B:2C:1D:0E -b 00:1A:2B:2C:1D:0E -h 00:11:22:33:44:55 -x 600 -r captura_01.cap wlan0

    Donde -a y -b son la Mac del AP, -3 es el tipo de atake, -x los paketes por segundo y en -r es el archivo que hemos creado con la captura (puede q halla cambiado de nombre), si todo va bien devemos ver algo semejante a esto:




    En ese caso si echamos un vistazo a la konsola que tiene corriendo el airodump, la de capturas, debemos notar un aumento considerable de los datos por segundo que entran, lo normal parece ser que ronde entre 100 y 500:



    Llegados a este punto sonreiremos pensando que en cuestión de un par de horas a ese ritmo tendremos lo que queremos, peeero la vida no es Bambi, nos pasará muchas veces que baje la frecuencia de capturas, o que las inyecciones dejen de funcionarnos “Got a deauth/disassoc packet. Is the source mac associated?”, en ese caso hay q cortar la inyección y volver a la fase de autentificado, en elgunos casos la cosa se pone peleaguda :)

  7. Descifrar la contraseña: Una vez tengamos los IVs precisos pasamos a lanzar el aircrack para descifrar la clave, esta fase se nos fuma el 100% de la CPU así que debemos lanzarlo cuando ya tengamos IVs suficientes y si en 2 o 3 minutos no da resultado debemos pararlo y esperar a tener más datos, yo recomiendo crear un directorio/carpeta para cada red q vayamos a descifrar y trabajar con cada consola dentro de esa propia carpeta en cada ocasión para tener todo bien organizado, es decir en este caso, yo hice un "mkdir javier" al empezar y todo el trabajo allí dentro, por lo tanto, con el comando siguiente aircrack analizará todos los archivos de capturas del directorio, evidentemente todos referentes a la mima red si no, hacemos un pan como unas tostas :p:
    # aircrack-ng -a 1 -e javier -b 00:1A:2B:2C:1D:0E *.cap

    Si todo ha ido bien, obtendremos un resultado como este:




El próximo reto será la prueba con las claves WPA y depurar la fase de autentificado q en algunas ocasiones, que si el módelo de la tarjeta, que si el router, que si la distancia que si ostias en vinagre, puede ser una auténtica guerra :D, en fin, espero q entre mi info y otros blogs tengais suficiente para lograr el cometido, yo he leido por ahí peña q pone q en media hora las saca, yo aun de 3 horas en el mejor de los casos no bajo, en fin, trataré de optimizar la técnica y lo iré contando.

viernes, 7 de octubre de 2011

Compartir internet 3G de iphone con Linux Debian

Para salir a internet con nuestro linux hay q acondicionar las 2 partes, tanto el ifone como luego conectar:

iPhone:
  1. Hacer JailBreak
  2. Poner respositorio de MyWi en Cydia he instalar dicha aplicación y openSSH
  3. Abrir MyWy -> Wifi -> Compartir

PC (como root):
  1. ifconfig wlan0 down
  2. iwconfig wlan0 mode ad-hoc
  3. ifconfig wlan0 up
  4. iwconfig wlan0 essid My_iPhone key *****
  5. dhclient -v wlan0
Nota: Para saber el essid de nuestro iPhone basta con ver el nombre en la aplicación MyWi del teléfono o bien desde la konsola de nuestro pc por el mandato "iwlist wlan0 scan"

domingo, 27 de junio de 2010

Hola Mundo



Este es el blog donde iré subiendo y komentando las diferentes experienzias q voy teniendo a la hora de trabajar kon linux (prinzipalmente distribuziones Debian y derivados komo el Ubuntu), programzión java, manejo de bases de datos y más adelante ya veremos ...

En realidat esta idea ha surgido para no olvidarme de ello y ordenar las diferentes anotaziones q tengo en los google docs, de komo resolver las diferentes peskisas q tiene trabajar en un entorno libre, kon todo lo q ello implika...

El q komienze ahora sus andaduras kon linux y kiera empezar a entender este sistema, lo primero q tiene q hazer es olvidarse de windows, su funzionamiento y filosofía, puesto q ahora vamos a entrar en otro mundo, kon otros konzeptos, otra extruktura de artxivos, kódigo abierto y demás, puede q Ubuntu sea un buen primer paso intermedio para iniziarse en estos konzeptos, aun asi, al q le guste funzionar a base de doble-click, asistentes, partxes y ventanitas, lo mejor q puede hazer es volverse a instalar una "wintendo" y olvidarse de las distros linux...

Komo véis esta presentazión la dediko kasi en exklusiva a linux, ya q tanto para la parte de programazión, la de bases d datos y lo q venga, a parte d q aun me keda mutxo por eskribir, va dirigido más a profesionales, donde seguramente kada un@ se irá direktamente a la parte q más le interese. Mientras q linux va dirigido a tod@ persona q kiera penetrar en este mundete, yo iré poniendo post según me vaya surgiendo y/o pueda o me vaya apeteziendo :-), pero lógikamente también me podéis sugerir q estudie kon vosotr@s komo resolver determinados "problemas"...

Antes de empezar kon nada os pongo un par de links q yo siempre tengo a mano, uno es un glosario de los komandos más habituales en linux y el segundo es una buena explikazión de komo se komprimen y deskomprimen los atrxivos en estas ditros:
http://ubunturoot.wordpress.com/2007/11/06/comandos-basicos-para-linux/
http://www.ubuntu-es.org/index.php?q=node/12621

Vamos!, kuando instalamos nuestro s.o. una de las partes importantes es la partizión del disko, si nuestro sistema va a ser d uso kasero, en un primer momento no hay problema en instalar todo el sistema en una sola (2 kontando la parte 'swap' para memoria virtual), si keremos optimizar y sekurizar nuestro sistema o montar un servidor, os remito a la dokumentazion de debian al respekto, donde aprenderemos también komo se organiza en linux el árbol de direktorios (expansión horizontal tipo boske) muy diferente a los konzeptos de Mr. $; después tendremos diferentes opziones de instalazión de programas de inizio, komo por ejemplo el entorno gráfiko, ahí ya kada uno sabrá q instalaziones kiere x default y kuales no, en kualkier kaso instalarlas después vía "aptitude instal ... " no supondrá mayor problema...

Una vez instalado el nuevo sistema en nuestro ekipo, podemos pasar a la puesta a punto, para ubunteros este paso seguramente no será nezesario, puesto q el instalador ya inkorporá la mayoría de drivers y firmwares kon lo q seguramente ya se podría pasar direktamente a poner a tono la parte multimedia, para seguir posteriormente kon la instalazión de java, también en el índice podréis seguir kon la parte q más os interese...

En fin, espero q os sirva de ayuda este blog y poko a poko vayamos aumentando nuestra komunidat.....

sábado, 26 de junio de 2010

JDeveloper y SQLDeveloper en Debian

2 de las herramientas más habituales si trabajamos en entornos oracle, son su IDE de programazión java, el JDeveloper, q en su versión 11 inkorporá una gran variedat d funzionalidades y su herramienta para interaktual kon bases de datos, el SQLDeveloper. El JDeveloper komo ya digo va por su versión 11, aunke mutxos de nosotr@s aun tenemos varios desarrollos hetxos kon la versión 10.* y nos sigue siendo de gran utilidat kontar kon esta aplikazión en nuestros ekipos, asi q empezaremos este post hablando de su instalazión, para posteriormente ver komo instalamos el 11 y finalmente poner el sqldeveloper.

Para empezar, nos vamos a la página de deskargas del oracle jdeveloper10 y nos bajamos la versión kompleta para linux "jdevstudiobase10135.zip (463 MB)" q vemos en la fila "Base Install" para todas las plataformas y sin jdk, una vez deskargado:
Kreamos una karpeta en nuestro home donde vamos a deskomprimirlo y llevamos el zip q nos hemos deskargado a la nueva karpeta, esta versión del IDE, komo el eclipse entre otros, no rekiere de instalador alguno, es deskomprimir y a trabajar (bueno, más o menos)
$mkdir /$HOME/jdeveloper10 && mv /lugar_donde_deskargamos/jdeveloper10.* /$HOME/jdeveloper10
Vamos alla
$cd /$HOME/jdeveloper10
Deskomprimimos
$unzip jdeveloper10135.zip

Lo siguiente será indikarle al programa la ubikazión de el jdk en nuestro ekipo, para jdeveloper10 lo már rekomendable es la versión 5 de sun:
$aptitude install sun-java5-jdk
Luego indikamos al Yi (jdeveloper) que apunte a este jdk editando el artxivo "...jdeveloper10/jdev/bin/jdev.conf" y seteamos el java home:
SetJavaHome /usr/lib/jvm/java-1.5.0-sun (en mi kaso)
Kon esto estaría bien, pero mejor aun sería si podemos aumentar el konsumo de memoria RAM q le podemos dar a nuestra VM, ya q de un prinzipio está parametrizado al mínimo y en kuanto hagamos desarrollos un poko exigentes el Yi se nos va a kedar pertxa kada 2 x 3, para aumentar los valores, en este mismo artxivo, buskamos las 2 líneas q os pongo a kontinuazión, pongo komo ejemplo los valores q tengo yo puestos:
#.....
AddVMOption -Xmx512M
#........
AddVMOption -XX:MaxPermSize=384M
............

Grabamos, nos dirigimos la la karpeta "jdeveloper10" y damos permiso de lektura a todo lo q se halle dentro de el de forma rekursiva:
$chmod -R g+r
Los siguientes artxivos deben tener además permiso de eskritura "chomod +w":
  • jdev_home/j2ee/home/application-deployments
  • jdev_home/j2ee/home/applications
  • jdev_home/j2ee/home/config
l
Si arrankamos asi, posiblmente nos enkontremos kon problemas para hazer un drag and drop, para subsanarlo, tenemos q sustituir el kontenido de la karpeta de instalazión de nuestro jdk "jdk_home/jre/lib/images/cursors" por este otro "jdev_home/jdev/bin/clear_cursors.tar" (antes nos deberíamos hazer una kopia de seguridat x si las moskas), para deskomprimir:
$tar -xvf clear_cursors.tar
Ya podemos arrankar, el artxivo ejekutor del IDE es "/jdev/bin/jdev"

Instalar el JDeveloper11 no tiene misterio alguno puesto q desde la página nos bajamos un ejekutable kon un instalador q inkorpora su propio jdk.


SQLDeveloper

- Ahora q ya hemos aprendido komo se instala el Yi, hazer lo propio kon el SQLDeveloper no nos supondrá mayor problema, a mi está herramienta me pareze muy resultona, no es un toad, pero nos permite hazer konexiones a otras bases de datos (no tienen x q ser oracle), sin nezesidat d instalarnos ninguna klase de kliente, aunke a pesar de tener un entorno gráfiko muy amigable, en bases de datos grandes, nezesitaremos un buen domínio del SQL para trabajar fluidamente.

Lo primero q haremos es ir a la página de deskargas de este software de oracle
http://www.oracle.com/technology/software/products/sql/index.html

Ahora leemos las diferentes plataformas para las q está disponible y komo nosotr@s tenmos una distro Debian o derivados (ubuntu, kubuntu, etc...), nos pillamos el último " Oracle SQL Developer for other platforms (This zip does not include a JDK)", para mi es preferible konfigurar un artxivo genériko antes q alienizar (konvertir un pakete de red hat en uno de debian) o ya no digamos usar el wine.

Ok, ya tenemos el artxivo, y resulta ser un zip, asi q vamos a buskar una ubikazión donde haremos la instalazión, yo me he kreado una karpeta mi home de nombre sql-developer, allí llevo el .zip y lo deskomprimo
$cd && mkdir sql-developer
$mv /lugar_de_deskargas/sqldeveloper-*-no-jre.zip ./sql-developer
$cd sql-developer
$unzip sqldeveloper-*-no-jre.zip

Al igual q nos pasó kon el Yi10, el sql-developer no inkorporá jdk, no problema, en este kaso además podemos indikar q apunte a nuestra última versión de java instalada: para ello, editamos el artxivo "/lugar_donde_deskomprimimos_el_zip/sqldeveloper/bin/sqldeveloper.conf" y seteamos el JavaHome, kaso d no existir línea la añadiremos al final:
SetJavaHome /usr/lib/jvm/java-6-sun
Tambíen podemos aumentar el konsumo de memoria RAM para las querys mas exigentes aumentando el valor del konsumo máximo de memoria:
AddVMOption -XX:MaxPermSize=128M

Listo, para abrir el programa ejekutamos el script "/lugar_donde_deskomprimimos_el_zip/sqldeveloper.sh", primero hemos de darle permiso de ejekuzión en kaso d q no lo tuviera (para saberlo ls -l) "chmod +x sqldeveloper.sh".

Una vez abierto, para konektar a una base de datos, vamos a la pestaña d conexiones y defeinimos la/s nuestra/s, después para trabajar sobre ella, selekzionamos la konexión sobre la q keremos trabajar y abrimos sobre ella "nueva hoja SQL".

Skype en Debian a 32 y 64 bits

Skype, es uno de los clientes VoIP mas extendidos para la komunkiazión onLine kon el mundo exterior, para poner en martxa este konozido programa, tendremos q instalar varias librerias y puede q no todas esten en nuestros repositorios...

Skype es un programa para arkitekturas a 32 Bits, para los usuarios de un sistema kon una arkitektura a 64 bits, komo todo en la vida tendremos varias opziones, mi rekomendazión inizial para no meternos en txarkos q nos puedan resultar muy enfarragosos, es instalar librerias a 32 bits en nuestro sistema (los q tengan arkitektura de 32 bits q vayan direktamente al siwente párrafo):
$aptitude install ia32-libs

Supongo q ahora debería deziros q fueseis a la página ofizial de skype y os bajaráis el korrespondiente a vuestro sistema, peeero, resulta q a día d hoy, las versiones (beta en todos los kasos) disponibles para linux nezesitan algun repaso q otro, dado lo kual os paso el enlaze donde se aloja la última versión estable del programa. Después de hazer la deskarga desempaketamos e instalamos:
$dpkg -i skype-debian_2.0.0.72-1_i386.deb
Si al tener arkitektura d 64 Bits nos pone pegas, le dezimos q lo instale x las bravas (no tengáis miedo)
$dpkg -i --force-architecture skype-debian_2.0.0.72-1_i386.deb

El programa tiene dependenzias kon estas 2 librerías "libqt4-core" y "libqt4-gui" y puede q no esten en nustros repositorios, si no las enkontramso al hazer un "aptitude search *" tendremos q buskarlas en la página ofizial de paketes debian, Search the contents of packages->Poner la q nezesitamos -> Bajarnoslo, deskomprimir, desempaketar e instalar (pero primero mirar si ya lo tenéis en los repo).
$tar -xzvf pakete.tar.gz (para deskomprimir)
$dpkg -i nombre_del_pakete.deb (desempaketar e instalar)

Oki, ahora vamos a nuestra terminal de nuevo y ponemos:
$skype

Los usuarios de 32 Bits ya deberían poder usarlo sin problemas (abajo hablaré del mikro), para los de 64 Bits, es posible q la kosa no halla terminado todavía :p. Para ello simplemente debemos pipear las librerías q el gestor de arranke etxa de menos e instalarlas, normalmente 'libsigc-2.0.so.0', ya sea por aptitude o a tarvés de la página ofizial.... Y ahora biene lo bueno, tenemos q hazer q estos paketes nos lo rekonozka el skype komo de 32 bits:
Deskomprimimos
$tar -xzvf pakete_deskargado.tar.gz
Kopiamos el kontenido a /usr/lib32
$cp -p usr/lib/* /usr/lib32/
Nos dirgimos a la karpeta
$cd /usr/lib32/
Hazemos un enlaze simbóliko
$ln -s libsigc-2.0.so.0.0.0 libsigc-2.0.so.0

Volvemos a arrankar el skype y ya debe ir, si nos pide más librerías, repetimos la operazión hasta q lo tengamos todo, entonzes lograremos abrir el skype:

Posiblemente tengamos problemas con el mikro en un prinzipio, para resolverlos tekleamos
$alsamixer
F5 y subimos el volumen a la parte q korresponda al mikrófono.
Después de realizar kambios de audio, para reiniziar:
$/etc/init.d/alsa-utils restart