CTF

    Pwntools 3.0

    pwntools.png

    Los que seáis asiduos a participar en CTFs ya probablemente conozcáis el proyecto Pwntools.

    Éste es un conjunto de utilidades, librerías o framework pensado para hacerte la vida más fácil a la hora de escribir tus exploits o soluciones en los dichos CTFs. Está escrito en Python y provee de una gran cantidad de módulos específicos para cada tarea:

    La instalación es muy sencilla:
    $ apt-get install python2.7 python2.7-dev python-pip
    $ pip install --upgrade pwntools
    Aunque Pwntools está desarrollado en sobre Ubuntu, debería de funcionar sin problemas en otras distribuciones Linux e incluso Mac OS X.

    Para que te hagas una idea de como usar este framework, aquí tienes un repositorio con algunas soluciones a varios retos usando el mismo. El código fuente del proyecto se encuentra en Github y su documentación aquí.

    Aug 23, 2016
    SeguridadHackingRecursos Informática

    Reto hacking en dispositivo Arduino

    nano.jpg

    En Black Hat Europe 2015 (Amsterdam) se lanzó un reto de hacking (CTF) de hardware a bajo nivel basado en una plataforma Arduino, RHme+ (Riscure Hack me). Este reto ha sido puesto a disposición del público, para aquel que quiere intentarlo. Sólo se ha publicado el fichero binario que tienes que volcar en una placa Arduino. Éste ha sido probado en Arduino nano 3.0, pero se supone que también debería funcionar en las siguientes versiones:

    Feb 5, 2016
    HardwareHacking

    HACKvent 2015

    hackvent.png

    En la misma línea del Advent of Code, HACKvent 2015 consiste en resolver retos de hacking, al estilo de un CTF.

    Los retos comenzaron el 1 de diciembre y continuarán hasta el 24. Está organizado por Hacklab y por lo tanto necesitas estar registrado con estos. Los puntos conseguidos también se te sumarán a tu usuario (esto es interesante si te mantienes activo dentro de Hacklab).

    Happy hacking!

    Dec 15, 2015
    SeguridadHacking

    CTF en vivo, protagonista principal: tomcr00se

    George_Hotz.jpg

    El domingo pasado geohot, también conocido en los CTFs como tomcr00se, decidió hacer streaming en vivo de él mismo jugando al wargame vortex alojado en overthewire.org. Según geohot, las razones por las que decidió grabarse en directo, es para atraer a más empresas y corporaciones, y así intentar hacer de este tipo de competiciones un “e-sport”. Si quieres ver el vídeo del evento, aquí lo tienes.

    Watch live video from tomcr00s3 on Twitch

    Jul 25, 2014
    HackingvideosSeguridad

    Consejos para prepararte para tu próximo CTF

    Lockup_67_Middle_GREY.png

    Los CTFs o Capture The Flags, en el contexto de la seguridad informática, son pruebas o retos que ponen a prueba los conocimientos técnicos y no tan técnicos de sus concursantes. Los retos pueden ir desde preguntas de trivial o recolección de información, hasta la explotación de software y/o hardware.

    Las pruebas son tan variopintas, que normalmente se juega en equipo, donde cada uno o varios de sus componentes se especializan en categorías concretas, dejando de lado a Geohot, también conocido como tomcr00se, éste juega sólo y si no gana el reto, acaba muy cerca.

    May 21, 2014
    SeguridadHackingProgramación

    No cON Name CTF Pre Quals: Access Level 3

    Selection_003.png

    En este tercer y último reto nos enfrentamos a un fichero ELF. Este nivel fue el más fácil de los tres. Como veremos es súper sencillo.

    Una vez bajamos el binario, lo primero es ejecutar file:

    tuxotron@tuxotron-T530 ~/ctf/noconname2013quals $ file level.elf level.elf: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0xb589d432799bf15343387fea63d4bdc00faa177c, not stripped

    Está compilado con símbolos y demás. Esto nos facilitará mucho la vida. Lo siguiente fue pasarle el comando strings, pero éste no arrojaba nada interesante.

    Oct 2, 2013
    HackingCyberlab

    No cON Name CTF Pre Quals: Access Level 2

    Selection_004.png

    En el segundo nivel nos enfrentamos a una aplicación Android. Lo primero que hacemos aquí es expandir el .apk con la herramienta apktool.

    Primero miramos el contenido del fichero AndroidManifest.xml, donde podemos ver la clase inicial de la aplicacion:

    También nos encontramos en el directorio res con un subdirectorio llamado raw, el cual contiene 17 imágenes, 16 de las mismas parecen ser trozos de un QR-Code. Parece que nuestro objetivo es leer dicho código. El problema es que no sabemos el orden de los trozos.

    Oct 2, 2013
    AndroidCyberlabHacking

    No cON Name CTF Pre Quals: Access Level 1

    level1.png

    En el primer nivel o el primer reto de la Pre Qual del CTF de la NoConName , nos encontramos con una página en la que se nos pide un clave (Key). Cuando introducimos algún texto, inmediatamente nos muestra un mensaje: Invalid Password! (a menos que hayas introducido una clave válida en el primer intento, lo cual me sorprendería :)).

    Lo primero que podemos apreciar es que el mensaje viene de la típica ventana que muestra el navegador cuando se ejecuta un alert en javascript. Esto nos dice que la comprobación de la contraseña se hace (al menos parte de la misma) en el lado del cliente, es decir en nuestro navegador.

    Oct 1, 2013
    HackingCyberlab

    CTF #nullcon 2012: Análisis Forense 2

    nullcon1.jpg

    En este reto nos dan un documento word (Passport_Number.doc) y nos piden que encontremos un número de pasaporte que anda oculto dentro de dicho documento.

    tuxotron@tuxotron-laptop:~/temp/nullcon$ file Passport_Number.doc 
    Passport_Number.doc: CDF V2 Document, Little Endian, Os: Windows, Version 6.1, Code page: 1252, Author: Me, Template: Normal.dotm, Last Saved By: Me, Revision Number: 2, Name of Creating Application: Microsoft Office Word, Create Time/Date: Sat Dec 31 18:38:00 2011, Last Saved Time/Date: Sat Dec 31 18:38:00 2011, Number of Pages: 1, Number of Words: 4, Number of Characters: 27, Security: 0

    El comando file nos dice que es un fichero Microsoft Word. Cuando lo abrimos nos encontramos con esto:

    Feb 6, 2012
    HackingCyberlabSeguridad

    CTF #nullcon 2012: Análisis Forense 1

    nullcon1.jpg

    En el primer nivel de esta categoría lo que nos dan es un archivo RAR y nos piden encontrar el código oculto.

    Cuando descomprimimos el archivo, nos encontramos con un fichero .wav. Lo abrimos con un reproductor de audio y escuchamos música, pero de vez en cuando por uno de los canales se escucha un pequeño corte.

    Echemos mano de Audacity y abramos dicho fichero. Nos encontramos con:

    Feb 5, 2012
    HackingSeguridadCyberlab

    CTF #nullcon 2012: Crypto 2

    nullcon1.jpg

    En esta prueba nos daban un enlace ( http://www.nullcon.net//challenge/data/shhhkoinahihai) . Cuando abrías dicho enlace no se veía nada, todo blanco y lo mismo si miramos el código fuente de la página.

    Nos bajamos el fichero, lo abrimos con un editor de textos y nada, todo blanco, pero sí que te podías mover por el contenido del fichero. Pero si lo abrimos con un editor hexadecimal:

    Selection_001.png

    Vemos que lo que contiene son el carácter 20h (espacio) y el 09h (tabulador). Mi primera idea fue convertir los tabuladores en guiones y los espacios en puntos, para así tener algún tipo de código morse, pero no me llevó a ningún sitio.

    Feb 3, 2012
    CyberlabHackingSeguridad

    CTF #nullcon 2012: Ingeniería inversa 1

    nullcon1.jpg

    Esta prueba consistía pues en lo típico, nos dan un binario y busca el flag. :/

    Voy a intentar explicar lo que hice, pero como no estoy seguro si se va a entender muy bien, ya verás porque lo digo, también he grabado un pequeño vídeo de demostración.

    El binario que nos dan después de ejecutar el prólogo (file y strings :) ), vemos que es un binario de Windows. Cuando lo ejecutamos, vemos que abre al menú de inicio, run (ejecutar) y escribe: wmplayer.exe y lo ejecuta, es decir, que también manda la tecla intro (enter).

    Feb 2, 2012
    CyberlabVarios

    CTF #nullcon 2012: Web 5

    nullcon1.jpg

    En la quinta y última prueba de esta categoría nos encontramos con:

    Do You Have What IT Takes to Break into the World’s Most Secure Login System?

    El sistema más seguro del Login del mundo. Cuando vamos a la página de Login nos encontramos con:

    Selection_004.png

    Y aunque en esta prueba no nos dan ninguna pista en el código de la página, si que nos la dan en el nombre de la “empresa” que creó esta pantalla de Login: MERASEQUEL. Automáticamente asumí de que se trataba de una inyección de SQL.

    Feb 1, 2012
    CyberlabSeguridadHacking

    CTF #nullcon 2012: Web 4

    nullcon1.jpg

    En esta prueba hice el primo por un buen rato. La pregunta que nos hacían:

    Can You Get Me all the Data?

    Y nos daban un par de enlaces 2007 ( http://www.nullcon.net//challenge/wlevel-4-data.asp?input=2007 ) y 2002 ( http://www.nullcon.net//challenge/wlevel-4-data.asp?input=2002) .

    Si pulsamos sobre el 2007 nos aparece:

    DR. A.P.J. Abdul Kalam 25 July 2002 TO 25 July 2007

    Volvemos atrás y pulsamos sobre 2002

    Shri K. R. Narayanan 25 July 1997 TO 25 July 2002

    Feb 1, 2012
    SeguridadHackingCyberlab

    CTF #nullcon 2012: Web 3

    nullcon1.jpg

    En este nivel, además de una página para introducir el flag, se nos presentan otras dos páginas más: un para hacer login y la otra para registrarte.

    En la página de login, se nos pide lo típico un nombre de usuario y una contraseña. Como no tenemos ninguna cuenta, vayamos a crearnos una.

    Selection_001.png

    Una vez introducimos la información y nos registramos, como de costumbre (esto lo hacía cada vez que ejecutaba alguna acción) miramos el código de la página web y nos encontramos con esto:

    Jan 31, 2012
    HackingCyberlabSeguridad

    CTF #nullcon 2012: Web 2

    nullcon1.jpg

    En la segunda prueba nos encontramos con esto:

    Can you redirect ME to hackim.null.co.in?

    Donde ME apunta a http://www.nullcon.net//challenge/wlevel-2-proc.asp?page=index.asp

    Como de costumbre y mirando el código fuente de la página, nos encontramos con una pista:

    
    

    Aunque la pista en si no me decía mucho, después de buscar en Google algo como: web security 2616, salían muchas referencias al RFC 2616. ¿ok? Tampoco me daba mucha información. Luego por el irc daban la pista: split 2616. Eso es algo más.

    Jan 31, 2012
    SeguridadHacking

    CTF #nullcon 2012: Web 1

    nullcon1.jpg

    Bueno empecemos con las pruebas Web. La primera prueba con la que nos encontramos nos pregunta:

    Can you view the bytes in password.asp from Me?

    Donde, Me es un enalace a http://www.nullcon.net//challenge/wlevel-1-proc.asp?input=test.txt .

    Después de jugar un rato con el parámetro input, por el irc dieron una pista a la que hacía referencia al nombre que organizaba el evento: nullcon. Así que el resto de mis pruebas las basé en la inyección del carácter nulo (%00) en el url. Y después de poner dicho carácter en varios lugares, dí con esta url que nos pasaba de nivel:

    Jan 30, 2012
    HackingSeguridadCyberlab

    CTF #nullcon 2012: Programación 5

    nullcon1.jpg

    Bueno llegamos a la quinta prueba de la categoría y que como veremos no tiene nada de programación, a menos que te quieras crear tu propio crackeador de MD5.

    La prueba consistía en lo siguiente: tenemos una página dónde introducimos cualquier texto y nos devolvía un hash. Si miramos el código fuente de dicha página una vez nos ha dado el hash, encontramos una pista:

    Es decir, password en este case es el texto que nosotros introducimos, a éste se le añade un texto que no conocemos (salt) y se calcula el MD5. Nuestro objetivo es averiguar dicha salt.

    Jan 30, 2012
    CyberlabProgramaciónHacking

    CTF #nullcon 2012: Programación 4

    nullcon1.jpg

    En este reto nos encontramos con un problema de sustitución.

    Estos son los datos que se nos dan:

    Ciphertext:
    06 15 21 20 05 05 14 00 14 09 14 05 00 06 15 21 20 05 05 14 00 06 09 22 05 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 19 09 24 00 06 09 06 20 05 05 14 00 20 23 05 14 20 25 15 14 05 00 05 09 07 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 06 09 06 20 05 05 14 00 06 15 21 20 05 05 14 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 20 23 05 12 22 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 19 09 24 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 06 09 06 20 05 05 14 00 06 15 21 20 05 05 14 00 06 09 22 05 00 26 05 18 15 00 06 15 21 20 05 05 14 00 14 09 14 05 00 06 15 21 20 05 05 14 00 06 09 22 05 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 20 23 05 12 22 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 19 09 24 00 06 09 22 05 00 05 09 07 20 05 05 14 00 06 09 06 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 06 15 21 20 05 05 14 00 14 09 14 05 00 06 15 21 20 05 05 14 00 06 09 22 05 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 05 09 07 08 20 00 05 09 07 20 05 05 14 00 06 09 22 05 00 06 09 22 05 00 26 05 18 15 00 06 09 22 05 00 14 09 14 05 00 19 05 22 05 14 00 05 09 07 08 20 00 20 23 05 14 20 25 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 20 23 05 14 20 25 00 05 09 07 08 20 00 05 09 07 20 05 05 14 00 06 09 22 05 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 19 09 24 00 06 09 22 05 00 05 09 07 20 05 05 14 00 06 09 06 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 19 09 24 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 06 20 05 05 14 00 26 05 18 15 00 14 09 14 05 20 05 05 14 00 14 09 14 05 00 20 23 05 14 20 25 06 15 21 18 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 06 09 06 20 05 05 14 00 06 15 21 20 05 05 14 00 06 09 22 05 00 26 05 18 15 00 06 15 21 20 05 05 14 00 14 09 14 05 00 06 15 21 20 05 05 14 00 06 09 22 05 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 05 09 07 08 20 00 05 09 07 20 05 05 14 00 06 09 22 05 00 06 09 22 05 00 26 05 18 15 00 06 09 06 20 05 05 14 00 06 15 21 20 05 05 14 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 19 09 24 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 06 09 22 05 00 14 09 14 05 00 19 05 22 05 14 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 19 09 24 00 06 09 22 05 00 05 09 07 20 05 05 14 00 06 09 06 20 05 05 14 00 26 05 18 15 00 06 09 22 05 00 14 09 14 05 00 19 05 22 05 14 00 05 09 07 08 20 00 20 23 05 14 20 25 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 14 09 14 05 20 05 05 14 00 14 09 14 05 00 20 23 05 14 20 25 06 15 21 18 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 06 09 22 05 00 14 09 14 05 00 19 05 22 05 14 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 06 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 06 09 22 05 00 14 09 14 05 00 19 05 22 05 14 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 06 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 19 09 24 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 06 15 21 20 05 05 14 00 14 09 14 05 00 06 15 21 20 05 05 14 00 06 09 22 05 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 06 15 21 20 05 05 14 00 14 09 14 05 00 06 15 21 20 05 05 14 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 19 09 24 00 06 09 22 05 00 05 09 07 20 05 05 14 00 06 09 06 20 05 05 14 00 26 05 18 15 00 06 09 06 20 05 05 14 00 06 15 21 20 05 05 14 00 06 09 22 05 00 26 05 18 15 00 19 09 24 00 06 09 06 20 05 05 14 00 20 23 05 14 20 25 15 14 05 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 19 09 24 00 06 09 06 20 05 05 14 00 20 23 05 14 20 25 15 14 05 00 05 09 07 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 19 09 24 00 06 09 22 05 00 05 09 07 20 05 05 14 00 06 09 06 20 05 05 14 00 26 05 18 15 00 14 09 14 05 20 05 05 14 00 14 09 14 05 00 20 23 05 14 20 25 06 15 21 18 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 06 09 22 05 00 14 09 14 05 00 19 05 22 05 14 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 19 09 24 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 20 23 05 12 22 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 06 15 21 20 05 05 14 00 14 09 14 05 00 06 15 21 20 05 05 14 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 19 09 24 00 06 09 06 20 05 05 14 00 20 23 05 14 20 25 15 14 05 00 05 09 07 20 05 05 14 00 26 05 18 15 00 06 15 21 20 05 05 14 00 14 09 14 05 00 06 15 21 20 05 05 14 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 19 09 24 00 06 09 22 05 00 05 09 07 20 05 05 14 00 06 09 06 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 05 09 07 08 20 00 14 09 14 05 00 05 09 07 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 06 09 22 05 00 14 09 14 05 00 19 05 22 05 14 00 05 09 07 08 20 00 20 23 05 14 20 25 00 26 05 18 15 00 20 23 05 14 20 25 00 05 09 07 08 20 00 14 09 14 05 00 05 09 07 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 19 09 24 00 06 09 06 20 05 05 14 00 20 23 05 14 20 25 15 14 05 00 05 09 07 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 19 09 24 00 06 09 22 05 00 05 09 07 20 05 05 14 00 06 09 06 20 05 05 14 00 26 05 18 15 00 06 09 22 05 00 14 09 14 05 00 19 05 22 05 14 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 19 09 24 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 19 09 24 00 06 09 06 20 05 05 14 00 20 23 05 14 20 25 15 14 05 00 05 09 07 20 05 05 14 00 26 05 18 15 00 20 23 05 14 20 25 00 20 23 05 14 20 25 20 08 18 05 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 20 23 05 14 20 25 00 20 23 05 14 20 25 06 09 22 05 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 20 23 05 14 20 25 19 09 24 00 06 09 22 05 00 05 09 07 20 05 05 14 00 06 09 06 20 05 05 14 00 26 05 18 15 00 14 09 14 05 20 05 05 14 00 06 09 22 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 06 09 22 05 00 14 09 14 05 00 19 05 22 05 14 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 19 09 24 00 14 09 14 05 00 20 23 05 14 20 25 20 23 15 00 06 09 22 05 00 26 05 18 15 00 19 09 24 00 06 09 06 20 05 05 14 00 20 23 05 14 20 25 15 14 05 00 20 23 05 14 20 25 00 06 09 22 05 00 06 09 22 05 00 06 15 21 20 05 05 14
    
    How we Obfuscated:
    
    Plain Text = nullcon
    After charset Substitution = 14 21 12 12 03 15 14
    Literal Substitution = fouteen twentyone twelve twelve three fifteen fouteen
    After charset Substitution = 06 15 21 20 05 05 14 00 20 23 05 14 20 25 15 14 05 00 20 23 05 12 22 05 00 20 23 05 12 22 05 00 20 08 18 05 05 00 06 09 06 20 05 05 14 00 06 15 21 20 05 05 14
    
    charset = 00 means " ",  01 = "a", 02="b".... 26="z", 30 = "0", 31="1" .... 39="9"
    
    Reiterate till you find meaning text
    

    Tenemos el texto a descifrar (primer bloque de datos), luego tenemos el método usado para cifrar dicho texto y por último tenemos la correspondencia de caractares. Y dice que iteremos hasta encontrar un texto con sentido.

    Jan 30, 2012
    ProgramaciónHackingCyberlab

    CTF #nullcon 2012: Programación 3

    nullcon1.jpg

    En el tercer nivel nos encontramos con un trozo de código escrito en Brainfuck, un lenguaje un tanto peculiar y que claramente hace honor a su nombre. Algún le dedicaré una entrada en el blog.

    El código con en el que tenemos que lidiar es este:

    >+++++++[<+++++++>-]<---
    .
    .
    >+++++[<+++++>-]<++
    >++++++[<++++++>-]<+
    >+++++++++[<--------->-]<+++
    >++++++++[<++++++++>-]<++++++
    >++[<-->-]<-
    ++
    >++++[<++++>-]<+
    >++++++++[<-------->-]<--------
    >+++[<--->-]<---
    >+++++++++[<+++++++++>-]<---
    >+++[<--->-]<
    >++++[<++++>-]<+
    >++++[<---->-]<-
    >++++[<++++>-]<---
    >+++++++++[<--------->-]<-
    >++++++++[<++++++++>-]<+++++
    >++++[<++++>-]<+
    >++++[<---->-]<-
    >++++[<++++>-]<---
    >+++++++++[<--------->-]<-
    >+++++++++[<+++++++++>-]<++++
    --
    >++++[<---->-]<++
    >++++++++[<-------->-]<-----
    >++++++++[<++++++++>-]<+++++++
    --
    >++++[<++++>-]<-
    -
    >+++++++++[<--------->-]<++++++
    +
    >+++[<--->-]<
    >+++++++++[<+++++++++>-]<--
    +++
    >+++++++++[<--------->-]<-
    >+++++++++[<+++++++++>-]<++
    ---
    ++
    >+++[<--->-]<
    >++[<++>-]<+
    >++[<++>-]<++
    >++++[<---->-]<++
    >++++++++[<-------->-]<++
    +
    +++
    >+++[<--->-]<---
    >+++++++++[<+++++++++>-]<-
    >+++[<--->-]<--
    >++++[<++++>-]<---
    >+++[<--->-]<
    >++[<++>-]<++
    >+++[<--->-]<--
    >+++++++[<------->-]<-----
    >++++[<---->-]<++
    >++++++[<++++++>-]<+++++
    >+++++[<+++++>-]<++++
    >++++++++[<-------->-]<------
    >+++++++++[<+++++++++>-]<++++++++
    >+++[<--->-]<-
    >++[<++>-]<++
    >+++++++++[<--------->-]<----
    >++++++++[<++++++++>-]<++++
    >+++[<+++>-]<++
    >+++++++++[<--------->-]<++
    >+++++++++[<+++++++++>-]<++++++
    >++++[<---->-]<--
    >++++++++[<-------->-]<-----
    >+++++++++[<+++++++++>-]<++++++
    >++++[<---->-]<++
    +++
    .
    >+++++++++[<--------->-]<+++++
    >+++++++++[<+++++++++>-]<++
    >++++[<---->-]<++
    >+++[<+++>-]<
    >+++[<--->-]<-
    >++++++++[<-------->-]<----
    >++++++++[<++++++++>-]<+++++
    >++++[<++++>-]<+
    >++++[<---->-]<+++
    +++
    >+++++++++[<--------->-]<+++++
    >++++++++[<++++++++>-]<++++
    >++++[<++++>-]<+++
    >+++++[<----->-]<+++
    >++++[<++++>-]<+
    >+++[<--->-]<---
    >++++[<++++>-]<---
    >+++++++++[<--------->-]<--
    >++++++++[<++++++++>-]<+
    >++[<++>-]<+
    >++++[<++++>-]<--
    >++++[<---->-]<+
    >++++[<++++>-]<---
    >+++++++++[<--------->-]<-
    >+++++++++[<+++++++++>-]<++++++++
    >+++[<--->-]<-
    >++[<++>-]<++
    >++++++++[<-------->-]<-------
    .
    

    Si buscas por Google hay muchos intérpretes y conversores para este lenguaje. Si ejecutamos dicho código tal y como está, esta es la salida: ..l.. Después de mirar un rato y depurar un poco el código, la solución a la que llegué fue poner un ‘.’ (punto) al final de cada línea que no tenía punto. El punto significa poner el byte actual en la salida. Así tras haber hecho eso y ejecutar de nuevo la salida que obtenemos es:

    Jan 30, 2012
    CyberlabProgramaciónHacking

    CTF #nullcon 2012: Programación 2

    nullcon1.jpg

    En el segundo nivel de está categoría se nos pedía la suma los términos medios de las primeras 1337 del triángulo de Pascal.

    Pues nada vistazo a la wikipedia, problema conocido, seguro que alguien ha escrito el algoritmo en Ruby, lo bajo, lo modifico, quedándome de esta forma:

    #!/usr/bin/env ruby
    
    def pascal(n)
      p=[1]
      sum = 0
      while(p.length<n)
    #    puts p.join(" ")
        p.join(" ")
        p=Array.new(p.length+1) {|i| 
          a=i0 ? p[i-1] : 0
          a+b
        }
        if p.length.odd?
          sum = sum + p[p.length()/2] 
        end 
      end
      return sum+1
    end
    
    puts "sum: " + pascal(1337).to_s

    Y cuyo resultado al ejecutarlo y por lo tanto nuestro flag:

    Jan 30, 2012
    ProgramaciónHackingCyberlab

    CTF #nullcon 2012: Programación 1

    nullcon1.jpg

    En la primera prueba de programación nos encontramos con este texto:

    Mfp ey zwvo fvat rjx hwprdrr lb nawzh tnfpc: Anj icvlu, hjgy Kbffhg, zk hjp gm nso nntjj, phf sw vawwhnwer, pcum nu oeq ewllxqmqit

    El cual es nuetro flag cifrado. Por lo que tenemos que averiguar como hacerlo.

    Si miramos el código fuente de la página de este reto, nos dan un pista:

    Rápidamente nos damos cuenta que es un cifrado basado en la rotación de caracteres dependiendo de la posición del mismo.

    Jan 30, 2012
    HackingCyberlabProgramación

    CTF #nullcon 2012: Análisis de logs 5


    nullcon1.jpg

    En el quinto y último nivel de esta categoría de análisis de logs, nos encontramos con un fichero (http://www.nullcon.net//challenge/data/dump.rar) PcapNg (una vez descomprimido). Uno de los problemas con los que me encontré era que el fichero es un poco grande y después de filtrar varias veces, Wireshark se comía la máquina y tenía que cerrar dicha aplicación y volverla a abrir ¿fuga de memoria en Wireshark? Supongo que la próxima vez debería de aprender a usar los filtros con tshark :)

    Jan 29, 2012
    SeguridadHackingCyberlab

    CTF #nullcon 2012: Análisis de logs 4

    nullcon1.jpg

    En este cuarto nivel, el fichero que se nos da es de Burp y se nos pregunta por el CVE del exploit usado.

    Esta vez y aprendiendo del nivel anterior me basé en buscar por las urls en vez de códigos de respuesta. Rápidamente me di cuenta que la mayoría de las peticiones se hacían una IP/página sin que, en principio, se nos diera alguna pista de la aplicación web a la que se accedía y viendo que nos preguntan por un CVE, empecé a descartar dichas urls.

    Jan 29, 2012
    HackingCyberlabSeguridad

    CTF #nullcon 2012: Análisis de logs 3

    nullcon1.jpg

    Buena en esta tercera prueba de análisis de logs, nos proveen un fichero de logs ( http://www.nullcon.net//challenge/data/access.rar ) de acceso de apache. Lo primero que tenemos que saber interpretar es dicho fichero, para ello, podemos visitar esta página, dónde nos explican el significado de cada columna.

    En este reto se nos pregunta por tres cosas para conseguir el flag: página vulnerable, puerto abierto e IP del atacante.

    Jan 28, 2012
    CyberlabSeguridadHacking

    CTF #nullcon 2012: Análisis de logs 2

    nullcon1.jpg

    En este caso lo que nos dan es un fichero pcap y nos preguntan por la contraseña del usuario suppadmin.

    Pues nada, nos bajamos el fichero ( http://www.nullcon.net//challenge/data/log3.pcap ) en cuestión abrimos nuestro Wireshark y vemos que el tráfico corresponde a MySQL y al final del fichero vemos algo como:

    ....
    ..."......select * from tb1_admin.....6....def
    myaccounts.tb1_admin.tb1_admin.id.id.?.......B...B....def
    myaccounts.tb1_admin.tb1_admin.username.username...d.........>....def
    myaccounts.tb1_admin.tb1_admin.passwd.passwd...d.........>....def
    myaccounts.tb1_admin.tb1_admin.access.access...
    [email protected]..............

    Se lanza una consulta select que devuelve un registro con las columnas id, username, passwd y access. Y los valores correspondientes los vemos en la última línea… mmmm… probemos con Supp@, error. A ver [email protected], error también… después intentos fallidos y de recapacitar un poco, vemos que cada campo está separado por el signo de puntuación ‘.’, así probemos con [email protected], Bingo!

    Jan 28, 2012
    HackingSeguridadCyberlab

    CTF #nullcon 2012: Análisis de logs 1

    nullcon1.jpg

    En esta primera prueba se nos da un fichero de logs (Nikto) no muy largo con lo cual muy rápido de analizar. Entre las líneas del mismo podemos ver esto:

    ...
    + OSVDB-3092: GET /test.txt : This might be interesting...
    + OSVDB-3092: GET /phpmyadmin/ : phpMyAdmin is for managing MySQL databases, and should be protected or limited to authorized hosts.
    + OSVDB-3268: GET /challenge/logically_insane/ : Directory indexing is enabled: /challenge/logically_insane/
    + OSVDB-3268: GET /icons/ : Directory indexing is enabled: /icons
    + OSVDB-3268: GET /images/ : Directory indexing is enabled: /images
    ...
    

    /challenge/logically_insane/ me llamó la atención. Según el escáner ese directorio tiene habilitado la función de listar. Pues accedamos al mismo:

    Jan 27, 2012
    CyberlabHacking

    Pruebas de trivial del CTF de #nullcon 2012

    nullcon1.jpg

    La semana pasada Nullcon abrió un CTF para todos los públicos ;) Y como el lunes pasado fue fiesta para mi, pues me lie a jugar y todavía estoy enganchado por las noches ¿Qué estará pensando mi mujer esta vez? :D

    Los retos están divididos en 7 categorías:

    • Trivia
    • Crypto
    • Programming
    • Web
    • Reverse Engineering
    • Log analysis
    • Forensics
    Cada categoría tiene 5 niveles y tienes que pasar cada nivel para acceder al siguiente.
    Ya hay varios que han pasado todas las pruebas, pero la web todavía sigue abierta y se puede seguir jugando. Así que iré escribiendo la solución a las pruebas que voy pasando.

    Voy a empezar por las más fáciles, de hecho pongo las 5 pruebas en una misma entrada porque hay poco que explicar. Todo lo que use fue Google y en los 2 ó 3 primeros resultados estaba el link a la información que buscaba.

    Jan 25, 2012
    HackingCyberlabJuegos

    Igeniería inversa de binarios en forma de cómic

    b300_comic

    El grupo Sapheads, finalista del concurso Defcon CTF (Capture the flag) de este año, ha creado en forma de cómic el documento escrito por KOrUPT"Sapheads para, precisamente, obtener la clasificación para la final de este concurso. Muy interesante y ameno.

    Aquí podéis encontrar el documento original.

    Jul 15, 2009
    HackingSeguridad