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!

jueves, 28 de marzo de 2019

Writeup - Hall Of Fame - Reto 20 H4F


Los chic@s de Hackers4Fun nos traen el reto nº 20. En él, nos enfrentamos a una amenaza "infernal".

Manos a la obra

Descargamos el archivo .7z del enlace que nos proporcionan desde Twitter. Una vez descomprimida tendremos la siguiente imagen:


La analizamos con Exiftool pero nada raro, tras probar con varias herramientas de Stego, vemos que una de ellas nos saca una nueva imagen.


Obtenemos un archivo llamado "Inferno_stego.7z", en el título tenemos una pista y es que volvemos a tener "stego" para rato...


No podemos ver la imagen, por lo que seguramente no se trate de un .jpg....

Efectivamente, el archivo es un PNG, renombramos el archivo y lo abrimos.


Perfecto! Otra foto! Pequeña...Pero foto! Si utilizamos Google Images, nos indica que se trata del Infierno de Dante con sus nueve círculos.

Tras probar con varias tools LSB, no se obtiene nada, tampoco funciona Steghide...Nos llega una pista desde Twitter:



Probamos con esta herramienta:


Y nos desvela la nueva imagen:


Aunque no es muy legible, vemos que en la columna de la derecha pone "MALBOLGE", es el 8º circulo del Infierno de Dante.

Utilizaremos la misma técnica, pero esta vez llamaremos el archivo "resultado.txt" en vez de "resultado.png".



También escondía un .txt, si hacemos un "cat".... Nos suelta el siguiente string:

D'`N^#"=~}:F27wfAQtrN`.nmI7jGhE%1d@y~`<;)]xqpo5srqSi/glkdcb(`_^]#a`YX|\UTSXQVOsS54PIHMLEiI+G@ED=<`#?8=<54X87w/43,P*).'&+*#G!g%|#"yx>v^tsr8votmrk1oQgfkjib(`e^cb[Z~^]?UZSRvP8NSRKPONGkE-CHA@dDCB$@?>=<5Y9y1U543,r*N.-,+k)"F&fe#"y?w|{zyxqpo5sUTpong-kjihaf_%]Ea`_^]Vz=YXQVUNrRQJnHMLKDhBGFE>=<`@9!=<;4X87wv4-Qr0/.'K+*j(!Ef|#"yx>|u]srwvo5mrqj0nmlkMLhg`&dcE[!_A@\UyYX:POTMq4JIHlY


Si buscamos "Malbolge" en Google vemos que también hay un lenguaje de programación esotérico llamado "Malbolge" relacionado

Por lo que se aprecia en el ejemplo, observamos que el código es muy parecido y que no vamos mal encaminados.

Buscamos algún decoder de este lenguaje y encontramos este:

Obtenemos el siguiente string en base64, lo decodeamos:


Y por fin obtenemos la flag! H4F{H3llB0y_W4s_Gr4Nt3D}


Agradecer al equipo de Hackers4Fun por los retos tan entretenidos que se curran y por lo que aprendemos con ellos. Gracias y hasta la próxima!

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