Solución al reto stealshop #wgsbd2
- July 18, 2011
- tuxotron
En este caso este reto consistía en un sitio web. En la página principal teníamos varios links a distintos productos y un poco más abajo otro enlace dónde decía: mostrar un objecto de forma aleatoria o algo parecido. Lo siento no tengo una captura de pantalla y hablo de memoria :p
Cuando hacíamos click sobre uno de los objetos, nos aparecía algo como la imagen que vemos más arriba.
Cada elemento tenía su propio nombre, ID y descripción. Lo primero que me dio por probar fue ver si podía sacar el valor del ID, el cual tiene toda la pinta de ser un hash.
Y efectivamente, OnlineHashCrack.com me decía:
Como podemos ver el hash es SHA-1 y corresponde al número 9. Probé con algún otro hash y todos eran números: 3, 5, etc.
Otra cosa que importante a tener en cuenta era la URL:
show_item.php?id=XXXXXX
Dónde las Xs son el hash del producto. Lo primero que hice fue calcular el hash de 0 y poner el hash en el parámetro de la URL. Pantalla en blanco. Igual, el producto con ID 0 no existe. Vamos a probar con el 1. Lo mismo. Vamos a probar con uno de los que nos muestra la web para asegurarnos de probar uno que existe… Pantalla en blanco. Pues parece que la página no le gusta que le cambiemos el parámetro ahí por la cara. Huele a que comprueba el referrer de la petición.
Probamos con wget:
wget --referer=http://wargame.securitybydefault.com/b5de9a5b7b562af19300c70a44b76206/index.php http://wargame.securitybydefault.com/b5de9a5b7b562af19300c70a44b76206/show_item.php?id=0ade7c2cf97f75d009975f4d720d1fa6c19f4897
Ahora si tragó. Pues nada vamos a empezar a descargar. Para ello escribí un pequeño script:
#!/usr/bin/env ruby
require 'digest/sha1'
1111.times { |id|
hash = Digest::SHA1.hexdigest(id.to_s)
pp = %x[wget --referer=http://wargame.securitybydefault.com/b5de9a5b7b562af19300c70a44b76206/index.php http://wargame.securitybydefault.com/b5de9a5b7b562af19300c70a44b76206/show_item.php?id=#{hash}]
}
Este script lo que hace es ir desde 1 a 1111 y calcula el hash del índice y hace la petición.
¿Por qué 1111 peticiones? Porque en la imagen de este reto aparecía ese número y cuando uno desespera se agarra a un clavo ardiendo :D
Después de que el script terminó de correr, tenemos otro problema, 1111 ficheros. Por suerte la mayoría estaban vacíos, así que:
find ./ -name "show*" -size 0 -exec rm {} \;
Eso nos deja con 25 ficheros. Como no sabía que buscar me puse a abrir ficheros manualmente hasta que me encontré con esto:
Por lo tanto nuestro token es: This_is_th3_flag_of_the_victory
Para los curiosos el ID correspondiente a ese hash es el 22.
Solución al reto keyconsole #wgsbd2
- July 18, 2011
- tuxotron
Este fue el primero que resolví creo. En este caso nos encontramos con un binario que al ejecutarlo nos dice:
./tmp_key [-] Checking if your environment is compatible, please wait ... [-] Your software isn't original, please buy an original copy.
A ver que nos dice strings:
strings tmp_key ... /tmp/%i_privatekey_%i [-] Checking if your environment is compatible, please wait ... /dev/random %i%i%i%i%i ...
Parece que busca un fichero en /tmp/X_private_X, donde las Xs son variables y un poco más abajo vemos el uso de /dev/random.
A ver que nos dice strace:
touch /tmp/0_privatekey_0
strace ./tmp_key
...
open("/tmp/3_privatekey_3", O_RDONLY) = -1 ENOENT (No such file or directory)
...
Ahora intenta abrir /tmp/3_privatekey_3. Los números van cambiando de forma aleatoria y de acuerdo con la imagen, apuesto a que los números varían de 0 a 4.
Para solucionar este reto te puedes crear todas las combinaciones posibles del fichero (25) o yo en mi caso me creé varios ficheros y ejecuté varias veces el binario hasta que el fichero buscado fuera uno de los que había creado.
./tmp_key
[-] Checking if your environment is compatible, please wait ...
[-] System compatible:
Your*environment_is-fully:compatible_you*can=play.NOW
Ya tenemos nuestro token: Yourenvironment_is-fully:compatible_youcan=play.NOW
El organigrama de Apple
- July 18, 2011
- cybercaronte
Si quieres conocer un poco más la gente que rodea al gran Steve Jobs, echa un vistazo a este gráfico, en él tiene que estar el futuro sucesor de Jobs (¿Jonathan Ive?).
Visto en el blog all things Steve Jobs.
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec




