Mostrando entradas con la etiqueta WriteUp. Mostrar todas las entradas
Mostrando entradas con la etiqueta WriteUp. Mostrar todas las entradas

jueves, 13 de junio de 2019

Writeup - VulnHub - unknowndevice64: 1



Tras leer el ultimo post de mi buen amigo David, me pregunté el por qué se había decantado por la segunda máquina de Unknowdevice, así que me picó el gusanillo de volver a resolver otra máquina de VulnHub, y decidí hacer la primera

Dicho esto, comencemos....

Una vez descargada la .ova de la maquina  y cargarla en Virtualbox podemos empezar a jugar con la máquina.


sábado, 18 de mayo de 2019

Write-up - Reto "Desactiva la bomba" SHSkdi19



Los chic@s de @IESAlbertiCadiz nos traen un reto la mar de divertido! Antes de comenzar, por favor lean las recomendaciones:

Recomendaciones:

- Kali o Parrot "a punto".
- Café bien cargadito en vaso gigante.
- Tenga la caja de Paracetamol bien cerca.


Manos a la obra!

Nos descargamos el .pcap del enlace, si lo abrimos con Wireshark y filtramos por HTTP y método POST encontraremos un login y password interesante. Aunque de manera “sucia” puedes hacerlo a así:

Utilizando el comando strings


Evidencia desde Wireshark

Si lo decodeamos a ASCII, vemos que es una URL que nos lleva a una sistema de desactivación de una bomba
 

Revisamos el código fuente, encontramos una pista:


Tras mucho mirar sin tener clara la solución... Lanzan una pista por el canal de Telegram:
K0n3st, [15.05.19 22:09]
Pista: En la página web hay un comentario que dice que la flag se encuentra en la web, habéis comprobado algún parámetro?
Si le pasamos “https://iesrafaelalberti.es/Reto_shskdi19/index.php?flag=1” nos aparece un “gatete”.

Después de tirarle todas las tools de stego que conozco (que no son pocas xD) me da por probar flag=2 y veo que me abre un 2.html con una imagen de otro gato (gracioso, verdad? No.... No me refiero al gatito....xD)

Visto que si sigo la secuencia cada vez aparece otro gato, voy a ejecutar un script (yo no me compliqué y lo hice con ZAP, pero puedes hacerlo con Bash o Python) con varias peticiones para ver si cazo algo que no sea un gato.

Script Payload con ZAP

Pues si, en el 999.html me encuentro con una evidencia, parecen urls ofuscada en algún tipo de cifrado.

Tiramos de Multisolver y sacamos las evidencias:


En cada .html encontramos una foto (no, no son gatitos xD), vamos haciendo strings a cada una de ellas y nos topamos con algo curioso con la foto "cornear.jpg".


Vemos que la foto esconde un archivo comprimido (.rar) y que dentro de este hay al menos dos archivos mas, una hoja de cálculo y otro rar que contiene una pista.

Utilizamos Binwalk para extraer el archivo .rar de la imagen, lo descomprimimos y nos pide que insertemos la contraseña. (Tranquilos, aún nos queda medio café, frío, pero medio café...)

Extraemos sus hash con la ayuda de rar2john y lo pasamos por John The Ripper con el diccionario Rockyou.


La contraseña del archivo es "qwerty", la utilizamos y conseguimos los dos ficheros que mencionamos anteriormente.

Vemos un listado de proveedores con nombres, apellidos y teléfono, por lo que no hay duda que se trata de un reto de OSINT, de todas formas, ya que nos dan una pista "gratis" vamos a utilizarla.

Pero claro.... "Si algo es gratis, es que....." La pista tiene password!!! Estaba claro que no nos lo iban a poner fácil. 
Utilizaremos el mismo método que anteriormente (rar2crack, JTR con Rockyou):
Una vez con la clave (monkey) descomprimimos el archivo y leemos la pista.
Pues a "stalkear"! Tras buscar por varias redes y entre muchos perfiles (algunos muy curiosos xD) damos con el perfil del cibercriminal en Instagram y con el código de desactivación.
Bien!!! hemos encontrado el código de desactivación....Probamos y....Plaf!! En toda la frente!!! No funciona!!!! Si lo decodeamos en b64, tampoco...... 
Tras mucho pensar y probar, y probar, y probar.... Pruebo el código de la cuenta de ”bitcoins” aunque está cifrada o codificada, tras las horas que son y sin Paracetamol para mi pobre cabeza, le paso el trabajo a “CyberChef” y nos ayuda a resolverlo, bueno... Solo tenemos que ir probando código a muerte!! :D

 
Está en base58, introducimos el código y ahora si!!!! Reto finalizado!!!

Me he divertido muchísimo con el reto, gracias por complicarnos tanto la vida (va con cariño xD). Enhorabuena por el evento SHSdki19 y a los creadores del reto!

viernes, 7 de diciembre de 2018

Writeup - UAM - 20º aniversario


UAM (Una al Mes) o mejor dicho, UAD (Una al Día) nos proponen un reto por su 20º aniversario, donde nos ofrecen la oportunidad de ganar una camiseta tan "chula" como esta:


Eso sí, tendremos que ser entre los diez primeros en resolver el reto.

Manos a la obra

Nos descargamos la imagen de la noticia y la analizamos con exiftool (pura rutina xD)


Nada fuera de lo normal, le pasamos con Stegsolve e ImgStego y mas de lo mismo, sin ninguna pista.

Llega el turno a LSB-Stego, en el que obtenemos el siguiente string:


Por fin hemos encontrado algo! (ya se ve la camiseta, de lejos, pero se ve :P)

Procedemos a descifrar el texto, por la pista que nos han dado los chic@s de UAM/UAD "Mucha Vig.Bas.Rot a todos"

Tras consultar con la almohada, pienso que las siglas VBR corresponden a tres tipos diferentes de cifrado: Vigenère, Base64 y ROT

Primer cifrado: Vigenère + UAD (Una Al Día) que será nuestra password.



Segundo cifrado: Base64


Tercer cifrado: ROT



Ahí tenemos la flag "UAD{20_4nY0s_n0_s3_Cumpl3N_t0D0s_l0s_d1as}" y por supuesto, la camiseta!


¡Y es que no hay nada mas bonito que la sonrisa de un niño!

Gracias al equipo de @hispasec y @unaaldia por el evento, muchísimas felicidades por esos 20 años y que cumpláis muchos mas!!

viernes, 26 de octubre de 2018

WRITEUP SILICON VALLEY UAM - EPISODIO 2


Los de UAM (Una al mes) vuelven hacer de las suyas y nos traen un nuevo reto donde tendremos que sacar la "flag" del archivo flag.txt, este se encuentra comprimido y protegido por una contraseña.


Manos a la obra

Descargamos el archivo pied_piper_bak.zip desde cualquier enlace expuesto en el reto (yo elegí MEGA) y descomprimimos el fichero, obteniendo un archivo .raw.

Abrimos volatility y escaneamos la lista de archivos, tras buscar en la larga lista, encontramos un archivo bastante "sospechoso".


Recuperamos el archivo:


Sacamos los strings del archivo:


Tenemos una base de datos de sqlite (también se podría sacar usando sqlite, pero con strings adelantamos :P)

Tenemos varios usuarios en la tabla, pero nos llamada la atención ese "true_god" (recordemos el enunciado del reto "la clave VERDADERA ...... gracias a DIOS tiene....". Está claro que por aquí van los tiros.

Tras buscar en Google con varias cadenas del texto cifrado y mucha, mucha, mucha y digo mucha paciencia encontramos esto.

No hay duda, el texto está cifrado en "Bacon", pasamos a descifrarlo con esta tool:


La password del archivo es: REMAZOABACONIAN y pasamos a descomprimir el archivo:


Parece que ya tenemos el reto resuelto, vayamos hacer un cat para leer el archivo "flag.txt".


En la frente! El archivo flag.txt está cifrado (recordemos el enunciado, tiene dos cifrados), hacemos un "cat" al LEEME y nos da un enlace a Youtube y nos suelta una pista "La clave final de todo está en el corazón de Telegram, en sus comienzos...."

Abrimos el vídeo de Youtube y nos encontramos con el siguiente título "USA for Africa - We Are The World - 1985", tenemos un cifrado, por lo que nuevamente voy probando cadenas jugando con los números y la palabra "decode" hasta encontrar esta pista.

Abrimos el primer enlace (lo siento, soy muy de dcode.fr, que se le va hacer) y pegamos el texto cifrado.


Esto no se acaba! Pero nos aparece otro cifrado de lo que parece hexadecimal y un texto que nos da esperanzas para no tirarnos por la ventana "Vas bien, ya te queda menos".



La cadena sigue "casi" ilegible, pero nos da una pista de que por los patrones podría ser XOR, pero nos hace falta una clave para descifrarla.


La otra pista que nos quedaba era "La clave final de todo está en el corazón de Telegram, en sus comienzos...." clave final...., telegram...comienzos... Vamos a sacar un log del canal de Telegram de UAM.


Tras sacar el historial en formato HTML, vemos que no hay ninguna palabra o password, pero las palabras "claves" y "comienzo" suena a que sea una cifra, como por ejemplo la fecha:


Ponemos la cifra "14122017" como clave y....Si!


Obtenemos la flag, la introducimos y por fin damos por finalizado el reto.


Dar la enhorabuena a los chicos de UAM por los retos tan currados, espero impaciente otro reto. GRACIAS!

viernes, 17 de agosto de 2018

WRITEUP RETO 12 CTF #H4F: 12+1


Nuevo reto #Stegano de @Hackers4Fun (#H4F), Balthazar ha robado un valioso diamante y nuestro deber (junto a los Minions) es evitar que se escape con él, por lo que deberemos de conseguir la #flag.






Manos a la obra

Hacemos clic en el enlace, y ya Google Drive nos está diciendo el tipo de archivo que esconde el .7z, nos lo descargamos.



Descomprimimos el archivo y efectivamente obtenemos una imagen.



La imagen pesa nada mas y nada menos que 13,1mb, por lo que tiene "gato encerrado". Vamos analizar la imagen con WinHex.



Aquí tenemos las primeras pistas, la foto esconde:

- 2 Archivos .wav (GrU_Gong_Gong.wav y GrU_sin....wav)
- Hay un .zip (output.zip)
- Un archivo de texto llamado PasS que contiene un md5.

Vamos a probar a cambiar la extensión del archivo de .jpg a .zip

Vaya! Parece que está corrupto el zip, vamos a intentar repararlo con WinRAR.

Vamos a descomprimir el archivo reparado...


Bueno, si volvemos atrás (a WinHex) aparecería una pista que nos daba un archivo (dentro del comprimido) llamado P4sS que contiene el siguiente texto "b655414fa3b4348f144712dfa04d8291".



Usamos MD5 Decrypter :


Si señor, la password es: 3v1lBr4t

Descomprimimos el .zip usando la password y ahora sí que tenemos los dos archivos .wav

Continuamos con el reto, ejecutamos el archivo "GrU_Gong_Gong.wav" y escuchamos unos pitidos cortos y largos, por lo que parece es "morse".

Abrimos el .wav con Audacity, aquí tenemos dos opciones:

Opción 1: Poner el modo "spectrogram" (usé Sonic Visualizer, me gusta mas el spectrogram) y traducir el morse:


Opción 2 (esta fue la que usé): Abrir Audacity y usar la opción "Reducción de ruido" y usar el otro .wav (GrU_sin...), así quitaremos la canción y nos quedaremos sólo con el código morse.

Una vez limpio el audio, lo subimos a esta web https://morsecode.scphillips.com/labs/decoder/


Otra password? Aún continua el reto... Una de steghide? Probemos!


Con Steghide (y la ayuda de la password del morse) sacamos el archivo oculto "b64.txt", hacemos un "cat" y leemos su contenido.

Es un código en "base64", lo decodeamos en "cristiano" y por fin tenemos la flag es: H4F{St3Go_K4r40K3}




Agradecer al equipo de Hackers4Fun por el gran trabajo que hacen con sus retos y eventos. Hasta la próxima.