Ikasten.IO
Learning, Aprendiendo

HackIt! Nivel 9: ¿dónde está el zip? 9 mayo, 2008

Tras oír la conversación, apuntamos los detalles. En algún lugar hay un fichero .zip con password. Dicho password empieza por f, contiene los caracteres r,v,k,n,1,3 (no tiene por qué ser en ese orden), y es de longitud 9.

La primera pregunta: ¿de qué fichero .zip estamos hablando? No puede ser el que contiene el archivo tampering.pcap, porque ese lo hemos descomprimido sin necesidad de password. Otra opción es que se encuentre en el mismo volcado tampering.pcap. Analizando tramas:

Vemos tramas HTTP, y el nombre hackit.zip . No tiene mala pinta… En concreto, se ve que una de las líneas pone: HTTP/1.1 200 OK (application/zip). Al desplegarla, en el campo Media Type, vemos que en la captura tenemos los bytes de un fichero de 1452 bytes que se transmitió por protocolo HTTP. Botón derecho sobre esa línea (Media Type) y elegimos “Export selected packet bytes”.

Elegimos la ruta del fichero a exportar y le damos un nombre. Por ejemplo: /tmp/payload.zip

Si ahora intentamos descomprimir:

sh-3.2$ unzip payload.zip
Archive: payload.zip
[payload.zip] hackit.rtf password:

¡Premio! ¿Algún buen crackeador de passwords zip en la sala?

Categorias diariolinux SysAdmin
  • xavier Sala dice:

    Yo utilicé un recurso alternativo. Extraje con tcpxtract los archivos de la captura:

    $ tcpxtract -f tampering.pcap
    Found file of type “zip” in session [10.12.208.20:20480 -> 10.12.208.4:8708], exporting to 00000000.zip

    Y para la contraseña del zip en Linux tenemos fcrackzip que va de perlas 😉

  • yo dice:

    O sea que el archivo lo tenia a la mano y no lo miré, era el penúltimo que aparece en la imagen.

    Ahh pero algun dia les ganaré. 🙂

  • admin dice:

    @xabier: genial, no conocía esa aplicación (tcpxtract)
    @yo: estoy seguro de ello 😉

  • admin dice:

    xabier: la contraseña la pude obtener con el zip password recovery de Elcomsoft . Con fcrackzip probé pero no tuve éxito. ¿Qué opciones le has pasado a fcrackzip?

  • Anom dice:

    Con la opción -l 9 puedes especificar el número máximo y mínimo de caracteres a probar, con -u le especificas que pruebe las contraseñas que genera para evitar falsos positivos cuando no hay suficiente número de ficheros zip (como en este caso) y con -c puedes especificar qué juego de caracteres debe probar.
    Básicamente quedaría así:

    fcrackzip 00000000.zip -l 9 -c :frvkn13 -u

  • admin dice:

    excelente! se obtiene la clave fr33k3v1n correctamente, pero si la clave hubiera sido freek3v1n por ejemplo (nótese la “e” ) no la hubiera sacado dado que el juego de caracteres no la incluye… no?

  • Anom dice:

    Tienes razón, no funcionaría. No se me había ocurrido pensar que la definición del conjunto de caracteres podría no ser completa. Sería una buena idea pedirle al autor una manera de poder describir mejor las combinaciones posibles de contraseñas. Aunque siendo de los pocos zip crackers libres, poco más se le puede pedir.

  • xavier Sala dice:

    Siento haver tardado en responder, he estado ocupado. Yo hasta ahora encontré dos formas de hacerlo:

    a) Hice un programa en C ( trivial) que generaba todas las combinaciones de 9 caracteres empezados por f (o sea creé un diccionario) y luego con fcrackzip

    $ fcrackzip -D -p diccionario –use-unzip 00000000.zip

    PASSWORD FOUND!!!!: pw == fr33k3v1n

    En pocos segundos la encuentra

    b) Otra opción que encontré es usar fuerza bruta pero esta vez usando rarcrack. Lo único que hay que hacer es cancelar la primera ejecución para modificar los caracteres usados y la primera contraseña a probar:

    $ rarcrack 00000000.zip
    ^C

    Y editar el arxivo xml para indicarle que caracteres queremos y la primera contraseña a probar que en mi caso será “frrrrrrrr” :

    $ joe 00000000.zip.xml

    rvkn13f
    frrrrrrrr

    $ rarcrack 00000000.zip –threads 5

    Probing: ‘fr31kvv3n’ [988 pwds/sec]
    Probing: ‘fr31nkffr’ [997 pwds/sec]
    Probing: ‘fr31113fn’ [1014 pwds/sec]
    Probing: ‘fr313fn1v’ [990 pwds/sec]
    Probing: ‘fr33rvvff’ [1003 pwds/sec]
    Probing: ‘fr33vnrnk’ [1004 pwds/sec]
    Probing: ‘fr33k131f’ [999 pwds/sec]
    GOOD: password cracked: ‘fr33k3v1n’

    Tarda un rato pero también funciona

  • admin dice:

    @xabier: genial! 🙂 No sabía que rarcrack se pudiera usar también para “sondear” passwords zip. Ahora… a colaborar con la solución al nivel 10 !

  • xavier Sala dice:

    Veo que el interprete se ha comido el archivo xml,

    La idea es poner los caracteres en el tag ‘abc’ para indicarle los caracteres a probar (rvkn13f) y en el tag ‘current’ la contraseña por la que empezará (frrrrrrrr)

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *