txipi:blog
  • About
  • Not Found? lee esto

Solucion de los niveles del 6 al 10 del Hack-it de la Euskal Encounter 2006

15ago06

Siguiendo con las soluciones a los niveles del Hack-it de este año en la Euskal, aquí van las 5 siguientes. Como ya dije, hay muchas soluciones posibles diferentes, así que, si queréis, podemos comentar soluciones alternativas en los comentarios ;-)

 

Nivel 6

En este nivel tenemos que crackear una captura WiFi, aparentemente protegida con WEP. Después de intentarlo con aircrack, vemos que la captura tiene mutilados todos los paquetes, lo que indica que ha sido realizada con la opción –caplen del programa weplab. Usamos weplab para analizar la captura…

weplab -a captura-WiFi-level6-3ST3GC0L3R0.pcap
weplab - Wep Key Cracker Wep Key Cracker (v0.1.6).
Jose Ignacio Sanchez Martin - Topo[LB]

 Statistics for packets that belong to [F7:33:8F:B3:CC:72]
  - Total valid packets read: 0
  - Total packets read: 1
  - Total unique IV read: 0
  - Total truncated packets read: 1
  - Total non-data packets read: 1
  - Total FF checksum packets read: 0
 Statistics for packets that belong to [00:14:BF:48:90:DE]
  - Total valid packets read: 1990
  - Total packets read: 1990
  - Total unique IV read: 1990
  - Total truncated packets read: 1293
  - Total non-data packets read: 0
  - Total FF checksum packets read: 0
PRISMHEADER SHOULD --NOT-- BE USED as there are 697 packets smaller than this header

Y vemos que el número de paquetes es demasiado pequeño como para un ataque estadístico, por lo que solamente nos quedan las opciones de fuerza bruta o diccionario. Es mucho más inteligente empezar con la opción de diccionario, porque terminará mucho antes:

$ cat /usr/share/dict/spanish | weplab -y captura-WiFi-level6-3ST3GC0L3R0.pcap
weplab - Wep Key Cracker Wep Key Cracker (v0.1.6).
Jose Ignacio Sanchez Martin - Topo[LB]

Not BSSID specified.
Detected one packet with BSSID: [00:14:BF:48:90:DE]

Total valid packets read: 697
Total packets read: 1991

Statistical cracking started! Please hit enter to get statistics from John.
Weplab statistics will be printed each 5 seconds

It seems that the first control data packet verifies the key! Let's test it with others....
Right KEY found!!
Passphrase was --> salsa
Key: 73:61:6c:73:61
This was the end of the dictionnary attack.

Nivel 7

Este nivel es muy similar al nivel 4, pero ahora el buffer overflow exige generar un entero concreto (0xDEADBEEF):

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

int main(int argc, char *argv[])
{
  int check = 0;
  char login[20];

  if(argc != 2)
  {
    printf("Error: Introduzca su nombre de usuario como parametro\nuso: %s usuario\n\n", argv[0]);
    exit(-1);
  }

  strncpy(login, argv[1], 25);
  printf("Comprobando número de serie... %08x\n", check);

  if (check==0xdeadbeef)
  {
     printf("Hola %s, bienvenido al sistema...\n", login);
     printf("La contraseña del siguiente nivel es LALALALA\n");
  } else
  {
     printf("Lo siento %s, su numero de serie ha caducado\n", login);
     exit(-1);
  }
}

Dado que se trata de un binario de 32 bits little-endian, deberemos generar el serial de la siguiente manera (de atrás, hacia adelante):

$ USUARIO=$(printf "aaaaaaaaaaaaaaaaaaaa\xEF\xBE\xAD\xDE")
$ ./level7 $USUARIO
Comprobando número de serie... deadbeef
Hola aaaaaaaaaaaaaaaaaaaaÞ, bienvenido al sistema...
La contraseña del siguiente nivel es v4k4muert4!

Nivel 8

Segundo nivel de criptografía, donde solamente nos dan el texto cifrado:

Tlzt tl ts ltektzg gexszg jxt rq hqlg qs louxotfzt focts: tjxolhtht

Dada la disposición de las letras, podemos pensar en una simple sustitución, letra por letra. Para intentar encontrar el alfabeto utilizado, una buena aproximación es asignar la letra más usada a la letra E, la más repetida en castellano e inglés. Posteriormente, como si se tratara de “La ruleta de la fortuna”, ir sacando el resto de letras:

Tlzt tl ts ltektzg gexszg jxt rq hqlg qs louxotfzt focts: tjxolhtht
Este es el secreto oculto que da paso al siguiente nivel: equispepe

Nivel 9

Primer nivel de cracking en Win32, en el que hay que rellenar un fichero llave (levelC1.lic) correctamente para que el programa nos diga la contraseña del siguiente nivel.

Trazando el ejecutable con OllyDbg, vemos que el programa lee el fichero levelC1.lic para obtener usuario y contraseña. La contraseña tiene que tener 8 caracteres y en un momento dado, se compara el campo pass con la palabra “COGIAOTI”:

level9exe.jpg

Probando con esta palabra en el fichero llave…

level9-notepad.jpg

El binario nos la da por buena, por lo que será la contraseña del siguiente nivel.

level9-right.jpg

Nivel 10

Otro nivel de cracking WiFi, parecido al anterior. Ante una captura WiFi, el proceso de siempre: analizarla, mirar qué ataque es el adecuado y atacar.

$ weplab -a captura-WiFi-level10-COGIAOTI.pcap
weplab - Wep Key Cracker Wep Key Cracker (v0.1.6).
Jose Ignacio Sanchez Martin - Topo[LB]

 Statistics for packets that belong to [00:14:BF:48:90:DE]
  - Total valid packets read: 505296
  - Total packets read: 505296
  - Total unique IV read: 505296
  - Total truncated packets read: 327938
  - Total non-data packets read: 0
  - Total FF checksum packets read: 0
PRISMHEADER SHOULD --NOT-- BE USED as there are 181548 packets smaller than this header

Al ver el número de paquetes, por encima de 200.000, el ataque más apropiado en principio es el ataque estadístico, usando los ataques de Korek:

$ weplab -r captura-WiFi-level10-COGIAOTI.pcap
weplab - Wep Key Cracker Wep Key Cracker (v0.1.6).
Jose Ignacio Sanchez Martin - Topo[LB]

Not BSSID specified.
 Detected one packet with BSSID: [00:14:BF:48:90:DE]

Total valid packets read: 177358
Total packets read: 505296

 505296 Weak packets gathered:
Statistical cracking started! Please hit enter to get statistics.

Key NOT found
Perhaps you should increase the default probability (--perc) to a higher value (default 70%), or capture more packets.

El ataque no ha tenido éxito. Esto puede deberse a dos causas: que la muestra no sea estadísticamente representativa y haya que aumentar el –perc, o que el tamaño de la clave no sea el adecuado (weplab por defecto trabaja con claves de 64 bits). Probamos lo más rápido, cambiar el tamaño de la clave:

$ weplab -r -k 128 captura-WiFi-level10-COGIAOTI.pcap
weplab - Wep Key Cracker Wep Key Cracker (v0.1.6).
Jose Ignacio Sanchez Martin - Topo[LB]

Not BSSID specified.
Detected one packet with BSSID: [00:14:BF:48:90:DE]

Total valid packets read: 177358
Total packets read: 505296

505296 Weak packets gathered:
Statistical cracking started! Please hit enter to get statistics.
It seems that the first control data packet verifies the key! Let's test it with others....

Key: ca:ca:de:ca:fe:00:00:00:00:00:00:00:00
Right KEY found!!
Key cracked in 13 seconds

Listo, la clave es “cacadecafe”.

Archivado en: Seguridad Informática   |  9 Comentarios

9 comentarios a “Solucion de los niveles del 6 al 10 del Hack-it de la Euskal Encounter 2006”  

Feed de este artículo URI para Trackbacks
  1. 1 vai en ago 22nd, 2006 dijo:

    Hola!!

    Estoy en el nivel 6 y he conseguido la clave salsa (en hex 73:61:6c:73:61 ) El caso es que no funciona y como me salia una palabra que existe no podía ser coincidencia. Viendo la solución aquí esta bien. Por que no me fuciona?

  2. 2 MeaBurro en ago 22nd, 2006 dijo:

    Prueba de darle al boton si aprietas enter al introducir la respuesta no la da por buena simplemente se recarga la pagina (me paso en la euskal) :p

  3. 3 vai en ago 22nd, 2006 dijo:

    Eso era ;) gracias

  4. 4 Mikel en sep 5th, 2006 dijo:

    En el nivel 7 no hay ningún overflow ya que la función "strncpy(login, argv[1], 25);" no sobreescribe la variable "check",solo copia 25 caracteres y no llega a sobreescribirla.

    Para que fuese vulnerable a stack overflow debería de ser asi "strcpy(login,argv[1])".

    Si me equivoco por favor explicadmelo.

    Gracias.

  5. 5 txipi en sep 5th, 2006 dijo:

    Hola Mikel,

    sí que hay overflow dado que login tiene un tamaño de 20 bytes, no de 25, por lo que los 5 últimos bytes que permite escribir strncpy(x,y,25) ponen en riesgo lo siguiente en memoria, que corresponde justamente con el entero check, de 32 bits, es decir, 4 bytes.

    Si tienes más dudas, me dices ;-)

  6. 6 Mikel en sep 5th, 2006 dijo:

    La cosa es que yo lo había compilado bajo Windows, con lo que 25 bytes no son suficientes,bajo linux si que hay overflow lo acabo de probar,fallo mio….

  7. 7 txipi en sep 5th, 2006 dijo:

    Mikel, supongo que ya sabrás que los binarios contra los que hay que pegarse son los que colgué en blog.txipinet.com/index.p… por eso pensaba que no había ambigüedad en esto, sorry O;-)

  8. 8 fuster en oct 7th, 2006 dijo:

    hola, soy nuevo hay una red inalambrica verca de mi casa con mucha intensidad de señal, pues estube haciendo pruebas con el auditor pero no se como utilizar esos programas, alguien me podria ayudar??
    mi msn es metal_fuster@hotmail.com

  9. 9 servired en nov 9th, 2006 dijo:

    Buenas, soy nuevo en esto, tengo un vecino con wifi cerca de mi y estoy haciendo algunas pruebas, estoy utilizando el programa commwiew for wifi ,he capurado mas de 4.000.000 de packets lo paso con el aircrack y no keys , lo que necesito saber es como mandar el ataque 0?, necesito estar conectado tambien yo a internet para poder mandarlo , sino es asi os rogaria me lo explicaseis como hacer de forma correcta, tengo
    una tarjeta netegear con con chipset athereos para win.

    post. mi wifi la consegui abrir , inyecatdo trafico.

    gracias por vuestra ayuda

Enviando tu Comentario
Por favor espera

Deja una respuesta

Hubo un error con tu comentario, por favor intenta de nuevo.



buscar

Comentarios recientes

  • Julen en Kantu leunak nahi nituzke jarri…
  • Aritz en Kantu leunak nahi nituzke jarri…
  • Jordi en Curso de programación en C para GNU/Linux (V)
  • Iñaki Murua en Kantu leunak nahi nituzke jarri…
  • Paulino en Kantu leunak nahi nituzke jarri…

Enlaces

  • e-ghost
  • Página personal en Deusto
  • Planet e-ghost
  • Software Libre en Deusto

Entradas recientes

  • Claws-mail y la renovación de certificados SSL de Gmail
  • Kantu leunak nahi nituzke jarri…
  • Embeber proyectos Scratch en cualquier sitio
  • Un gobierno en funciones no puede aprobar la ley Sinde
  • La cultura de la remezcla

RSS twitter

  • txipi: @jonanone: bastante probablemente, aunque ando jodidillo todavía. Viene un colega de Madrid y quiere ir :)
  • txipi: @jjontx: parece que está muy bien, gracias por el link ;)
  • txipi: @jjontx: muy guapa, ¿donde la has pillado?
  • txipi: @inak1: @Zumalde: @xpander001: OK, thx! ;)
  • txipi: A los fiesteros bilbainos del TL: ¿se pueden pillar entradas para la @independanceBil o va a estar complicado hoy (primer día)?

RSS posts en el blog de software libre

  • Presentacion de GuifiEH en Bilbao
  • STOP SOPA
  • Linex, in memoriam
  • Plantilla LaTeX para tesis doctorales
  • Nos vemos en las jornadas SLUN11

licencia

some rights reserved

Aviso legal: Condiciones de copia y distribución. Todos los contenidos de esta página están protegidos por la Licencia Creative Commons 3.0 Reconocimiento Compartir-igual, salvo en los casos en los que se especifica lo contrario.
 


wordpressk2openswitchyukei.netfeed