Libro “Fraude online. Abierto 24 horas”, colección de Informatica64

por 2 comentarios »

Fraudeonline24

Me lo entregó en mano el Maligno el jueves pasado y ya me lo leído enterito, aunque este es uno de esos libros que no puedes leer una sola vez (hay demasiada  información que asimilar en una sola lectura).

Cuando vimos a Mikel Gastesi y Dani Creus (de S21sec) en su charla en el pasado Asegúr@IT Camp (aquí puedes ver las diapositivas) ya teníamos fichado el libro “Fraude online. Abierto 24 horas“. La charla nos abrió los ojos y nos “acojonó” un poco a medida que iban explicando la infraestructura global que existe alrededor del malware y sus herramientas. Eso sin hablar de lo sencillo que resulta alquilar servicios, para entre otras cosas, realizar ataques DoS a diestro y siniestro por una mísera cantidad de dinero o del tremendo negocio que existe con las tarjetas de créditos y como fluyen esos números por todas las cuentas de todas las mafias detrás del malware o el fraude online.

Pues el libro nos amplía esa genial charla y nos hace ver la tremenda guerra que se libra por los rincones de Internet y la cantidad de intereses económicos que la rodean (aquí puedes descargar el índice para ir haciendo boca).

Desde los roles técnicos y comerciales de las empresas de malware hasta el análisis de las herramientas (explicando cómo se crean) que se utilizan para cometer estos delitos, todo está explicado en el libro. Tengo que destacar el análisis del “Carding(en el capítulo cuarto), donde se explica con todo detalles como funciona una tarjeta de crédito y todo el material que se utiliza para clonarlas y fabricarlas, o el capítulo 5 donde se explica a fondo la creación de malware orientado al fraude. Para rematar, al final hay una historia ficticia (pero muy “real”) de un caso de campaña de fraude, genial.

Si te dedicas a temas de seguridad, o incluso si sólo quieres saber un poco más sobre la (in)seguridad de Internet (y ver la realidad que nos rodea y de esa forma, al menos intentar protegerte), este libro es imprescindible.

Podéis conseguirlo en la web de Informatica64 por 20€ + gastos de envío.

Felicidades a los autores (que tuvimos el gusto de conocer y pasar una divertida noche tomando unas copillas) por el libro, he disfrutado cada página, os lo aseguro (eso sí, mi nivel de “paranoia” con la seguridad en Internet ha aumentado bastante, ahora estoy en Defcon 2 por vuestra culpa ;) ).

PD: No te olvides también echar un vistazo a los otros libros de la colección de Informatica64, aquí.

Post to Twitter

Entradas relacionadas:

CTF #nullcon 2012: Web 3

por Sin comentarios »


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:


O sea, que existe un campo admin, que podríamos mandar en nuestro post y después de un algunas pruebas, llegué a la conclusión que introduciendo en el campo email algo como:

pp5@p.com | admin:yes

Nos creaba un usuario con acceso admin.

Y después de hacer login con el usuario que nos acabamos de crear obtenemos nuestro flag:

b3149ecea4628efd23d2f86e5a723472

Post to Twitter

Entradas relacionadas:

Hacking, Seguridad enero 31st 2012

CTF #nullcon 2012: Web 2

por Sin comentarios »


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.

Si vemos como funciona esta prueba con algún sniffer o proxy, vemos que lo que hay de por medio es un redirect, además el reto nos pregunta si podemos redireccionar a hackim.null.co.in. Por lo tanto después de una rápida búsqueda en Google: http split redirect, nos aparecen enlaces como este o este. Y basándome en dicha información al final acabé generando esta llamada:

http://www.nullcon.net/challenge/wlevel-2-proc.asp?page=%0d%0a%0aHTTP/1.1%20302%20Moved%20Temporarily%0d%0aLocation:%20http://hackim.null.co.in/

La cual me hacía pasar de nivel.

Post to Twitter

Entradas relacionadas:

Hacking, Seguridad enero 31st 2012

CTF #nullcon 2012: Web 1

por Sin comentarios »


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:

http://www.nullcon.net/challenge/wlevel-1-proc.asp?input=password.asp%00.txt

Post to Twitter

Entradas relacionadas:

Hacking, Seguridad enero 30th 2012

CTF #nullcon 2012: Programación 5

por Sin comentarios »


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.

Mi primera idea fue la de introducir passwords de 1 caracter. Empecé con el 1, y con el hash devuelto me fui a un par de sitios online que ofrecen búsquedas en rainbow tables, pero no encontré nada. Luego probé con el 2, 3, a y b. Nada de nada.

Luego probé con esos hashes, pero usando este script, nada de nada. Básicamente lo único que me quedaba por hacer era atacar al hash por fuerza bruta, cosa que me confirmaron en el irc.

Ingenuo de mi, ya era tarde y tiempo de irse a la cama, me saqué de la manga un script en ruby, esperando que el hash fuera de 2 ó 3 caracteres y dejé corriendo el script toda la noche.

Este es el script:

#!/usr/bin/env ruby

require 'digest/md5'

Hash = "58a813d4c223f80b1473c50f4b45749a"
mystring = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f']

8.times do |c|

  mystring.permutation(c+1).to_a.each do |i|
    digest = Digest::MD5.hexdigest("1"+i.join)
    if digest == hash
      puts i.join
      break
    end
  end

end

A la mañana siguiente no sólo no había encontrado nada, sino que además el script todavía estaba corriendo y la máquina se quería morir :(

Nada, esto es un trabajo para un “pofecioná!”. Llamemos a Juanito.

Nota: en la web oficial de John the Ripper, tenemos 2 versiones de éste: oficial y una versión mejorada por la comunidad. Esta segunda no es más que la versión oficial con una serie de parches extras creados por terceros para expandir las posibilidades de crackeo de John the Ripper. Entre ellos MD5 puro y duro que es lo que necesitamos, por lo tanto usaremos esa versión mejorada.

Por lo tanto, usaremos el hash devuelto introduciendo: 1.

echo "58a813d4c223f80b1473c50f4b45749a" > hash.txt
tuxotron@tuxotron-laptop:~/opt/john-1.7.9-jumbo-5/run$ ./john --format=raw-md5 hash.txt                                                                                                                

101f303          (?)
guesses: 1  time: 0:02:00:41 DONE (Wed Jan 25 00:10:21 2012)  c/s: 7579K  trying: 101f2p0 - 101f362
Use the "--show" option to display all of the cracked passwords reliably

Y en un par de horas obtenemos: 101f303. Recuerda que el hash estaba compuesto por nuestra entrada (1) + la salt, por lo tanto la salt que buscamos es: 01f303

Post to Twitter

Entradas relacionadas:

Hacking, Programación enero 30th 2012

CTF #nullcon 2012: Programación 4

por Sin comentarios »


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.

Lo primero que hice fue crearme una cadena de caracteres, en la que de acuerdo con los datos dados, cada carácter esté en la posición que se corresponda.

subs_string = " abcdefghijklmnopqrstuvwxyz@@@0123456789"

Como vemos, el primer carácter (posición 0) es el espacio en blanco, luego desde la posición 1 a la 26 tenemos el alfabeto (inglés) y los números empezando en la posición 30 de la cadena. Las ‘@’ entre las letras y los números son mero relleno, esas posiciones (27, 28 y 29) nunca serán accedidas. Podríamos haber usado cualquier otro carácter.

Otra estructura de datos que uso es un map, para poder traducir de letras a números. Esto lo fui rellenando a mano a medida que iba ejecutando iteraciones, porque si te fijas hay varios números que están mal deletreados (suponiendo que esto es inglés).

El script con el que solucioné este reto es el siguiente:

#!/usr/bin/env ruby

ciphered_text = "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".split()
subs_string = " abcdefghijklmnopqrstuvwxyz@@@0123456789"

first_pass = ""

ciphered_text.each do |i|
  first_pass += subs_string[i.to_i]
end

puts first_pass

mymap = {}
mymap['fouteen'] = 14
mymap['nine'] = 9
mymap['five'] = 5
mymap['twenty'] = 20
mymap['zero'] = 0
mymap['six'] = 6
mymap['twentytwo'] = 22
mymap['fifteen'] = 15
mymap['twentyone'] = 21
mymap['eigteen'] = 18
mymap['twentythree'] = 23
mymap['twentyfive'] = 25
mymap['twelve'] = 12
mymap['twentysix'] = 26
mymap['eight'] = 8
mymap['seven'] = 7
mymap['nineteen'] = 19
mymap['twentyfour'] = 24
mymap['four'] = 4
mymap['three'] = 3
mymap['two'] = 2
mymap['six'] = 6
mymap['one'] = 1
mymap['sixteen'] = 16
mymap['thirtyeight'] = 38
mymap['thirtyfour'] = 34

second_pass = ""
first_pass.split.each do |i|
  second_pass += subs_string[mymap[i]]
end

puts second_pass

third_pass = ""
second_pass.split.each do |i|
  third_pass += subs_string[mymap[i]]
end

puts third_pass

Lo ideal sería ejecutar un bucle, pero decía el objecto mymap lo iba construyendo a en cada iteración. Y luego también tendrías que saber cuando parar, es decir, saber en que iteración el texto obtenido es legible y con sentido. Como ves sólo se necesitan 3 iteraciones para llegar a nuestra solución. El script, una vez ejecutado, imprime una línea por cada paso, siendo la última línea y por lo tanto nuestro flag:

sedulously eschew obfuscatory hyperverbosity and prolixity 84 roedy green

Post to Twitter

Entradas relacionadas:

Hacking, Programación enero 30th 2012