jueves, 27 de diciembre de 2018

Writeup - UAM - UNIVERSO MARVEL - EPISODIO 1 - 1ª PARTE

Los de UAM (Una al mes) nos traen un nuevo reto, esta vez nos adentramos en el Universo Marvel, donde tendremos que analizar una comunicación (una captura de red) para descubrir la ubicación exacta de la base secreta de Hydra.


Manos a la obra

Pulsamos el enlace y nos descargamos el archivo "capture-01.cap" y lo ejecutamos con Wireshark.



Como podemos ver, los datos están cifrados por el protocolo "IEEE 802.11" y la comunicación ha sido a través de una red inalámbrica (WiFi).

Por lo tanto, nos haría falta conocer la contraseña para poder desencriptar los paquetes y hacerlos legibles.

Para ello utilizaremos wpaclean, para dejar sólo las tramas del WPA y sacar la password posteriormente con fuerza bruta.



Procedemos a sacar la password por fuerza bruta con aircrack-ng y el diccionario "rockyou.txt".



Tras algo mas de una hora (en mi modesto portátil) obtendremos la password "hydra54321".

La colocamos en Wireshark y ahora estarán los paquetes legibles y encontramos esto:



Abrimos la URL y nos encontraremos en un sitio web, con las credenciales de "Grant Ward" y por lo que podemos ver, existe un apartado en el sitio llamado "Ubicación de la base".

Hacemos clic en el apartado y......Plaffff, en toda la frente! 




El juego continua, por lo que si visitamos el apartado "Misiones" nos muestra:



Aquí hay tomate! Bueno en este punto, revisé el código y encontré el enlace que abría el apartado de cual no tenía los permisos necesarios para poder entrar.




Tras unas pruebas y beberme una lata de "Monster", comprobé que el servidor no estaba bien protegido y me permitía descargar archivos. Por lo que hice "magia" con "Wget":



Hacemos un "cat" para leer el archivo y nos muestra el contenido codificado en "Base64".



Vamos a descodificarlo:



Por lo que se aprecia en el código, vemos que aunque esté cifrado, se entiende las coordenadas "37' 21' A 23" 28' R" y el formato de la flag "HNZ{.........} por lo que estamos muy cerca de terminar el reto.

Por la estructura, diría que es ROT:



Habemus flag! UAM{46863d92858b486c29f759767e53e92f}

Agradecer y dar la enhorabuena a los chicos de UAM (@hispasec) por los retos tan currados, espero impaciente otro reto. GRACIAS!

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!!

miércoles, 7 de noviembre de 2018

Writeup - CTF HackMadrid - Termina la investigación - OSINT


Nos encontramos con un reto de OSINT (Open Source Intelligence) en el que tenemos que terminar la investigación de un detective que ha desaparecido.

Para ello contamos con:
- Una máquina virtual con la distro OSINTUX (os recomiendo que le peguéis un vistazo, está muy completa) que contiene la investigación del detective desaparecido. (Enlace de MEGA)
- Y un par de pistas (hints) "M.I.7" y ". > -". (Si, yo también puse esa misma cara cuando las vi jejeje).

Manos a la obra

Descargamos el OVA de OSINTUX y ejecutamos Virtualbox para entrar al sistema. Dentro de OSINTUX buscamos en documentos y encontramos un archivo llamado "investigación.txt".


Investigación
############
- Dirección de su hermano: Alte Hägglingerstrasse
- Su nombre: Derek
- Les gusta el 7

Con dichos datos ya podemos empezar nuestra investigación.

Lo primero que hice, fue buscar un listado de las personas que viven en esa calle y encontré esta página web (muy interesante por cierto) realizando una búsqueda en Google de la calle.


Si revisamos la lista de la gente que vive en la calle, nos llama la atención la primera de las pistas "M.I." que huele a iniciales de una persona.

Seguimos revisando la lista y tropezamos con esta persona:


Al principio no le hice mucho caso, ya que buscamos las iniciales "M.I", pero me dí cuenta que la web listaba a los vecinos por "Apellido Nombre". Fue entonces cuando vi un pequeño "rayito de luz" en este caso.

Tras hacerle clic encima del nombre, la misma plataforma nos ofrece enlaces a redes sociales.


Ahí tenemos los dos resultados en Facebook:


El primero es el hermano de Derek y el segundo es el Padre de Derek. Elegimos la 2ª opción, accedemos a su perfil y hacemos clic en "Amigos" y encontramos a un perfil que encaja con nuestro sospechoso:


La 2ª parte de la pista ("7") y llegado a este punto, veo que no voy mal encaminado en la investigación, detectamos que efectivamente Derek Isler James y Marc Isler James comparten el número 7 en el username de facebook.



El siguiente paso será averiguar el correo electrónico de Derek para posteriormente, buscar la contraseña en algún leak.

Si intentáramos averiguar el correo usando el "recuperar contraseña" de Facebook, este nos mostraría sólo parte del correo, por lo tanto no nos sirve.

Por lo que mi cabeza me decía que la pista del "7" se le debe de poder sacar mas "chicha". Probé usar el username de Derek (recordemos "derek.isler.7") en Google, pero no aparecía ningún resultado que me sirviera. 

Tras ir probando con varios buscadores (Google, Bing, DuckDuckGo....), me paré a pensar que tal vez sería interesante pensar en que sitio podría encontrar un "leak" sobre passwords dumpeadas, y me vino a la cabeza los "Rusos" :P, directamente abrí Yandex y usé este dock "derek.isler.7 email".


Justamente era el primer resultado, donde ya nos dice el email "eckoderek@hotmail.com"

Nuevamente hacemos otra búsqueda pero con este dork "eckoderek@hotmail.com".


Yeah! Tenemos la contraseña "verma123", aparece en un leak de una base de datos de 81 millones de cuentas (casi nada :P).

Ya sólo nos queda pasar "verma123" a MD5. 

La flag HM{b90be2e2e970493b02a4cc2dd59bda2b} y damos por superado este gran reto de OSINT.



Agradecer a @PDParla y los organizadores de @HackMadrid por el evento y por hacernos disfrutar a todos con este #CTF.


Caso cerrado, como diría el gran John "Hannibal" Smith (Team A)...."Me encanta que los planes salgan bien" ("purito" incluido, por supuesto).



Hasta otra hackers!!!

PD: Aún estoy dándole vueltas a la pista ". > -" :P

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!