lunes, 24 de junio de 2019

Writeup - UAM - EASY MODE



Los chicos de "Una al Mes" nos traen un nuevo reto, de nivel "easy" (ya lo dice el título..) en el que tenemos un dominio para ir tirando del hilo.


Manos a la obra


Analizamos el dominio en busca de información, nada raro hasta que vemos lo que parece una URL en una etiqueta TXT.


 Reemplazamos los caracteres de Hexadecimal a ASCII (ej. 3a2f2f = ://, etc...) y obtendremos un enlace que nos llevará hasta la siguiente pista:


Abrimos el nuevo enlace y continuamos con el reto descargando el archivo "imagen.zip" que al parecer contiene una imagen llamada "ctf.jpg" en su interior.



Descomprimimos el archivo, pero.... Arg! Pide contraseña, utilizamos JTR (zip2john y John) y el diccionario rockyou para sacar la contraseña del zip.


Descomprimimos el archivo .zip con la contraseña "locomotora" y nos muestra una imagen con un "sabio" consejo xD.


 Ahí queda eso.... Tras revisar el archivo con "exiftool" podemos dar con la flag:


La flag es: UAM{4ddcb848b6433e0649b69077a47da93c}

Ahora, los chicos de UAM nos advertían de que la flag nos va gustar, si la reversamos:



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.


jueves, 30 de mayo de 2019

Writeup - VulnHub - unknowndevice64: 2





Hoy os traigo el solucionario del reto "unknowndevice64: 2" del cual me ha parecido muy interesante, ya que trata de vulnerar un dispositivo Android.


Aunque el reto no era muy complicado, no he visto publicado ningún Writeup, por lo que me he puesto en contacto con el autor de la máquina y me ha dado su "bendición" (Gracias de nuevo Ajay Verma).


Manos a la obra

Escaneamos la red con Netdiscover, remarco con un rectángulo en rojo la máquina que vamos a atacar.


Hacemos un "nmap" y vemos los servicios que tiene disponible:


Encontramos dos servicios, uno es el Freeciv y otro es el Netbus (o al menos, usa el mismo puerto...). Me puede la curiosidad y lo ejecuto en el navegador y nos lleva hasta una web donde nos pide credenciales.


Si nos fijamos en la información que nos soltó nmap, nos da información de sus cabeceras, de que el login utiliza unas credenciales en MD5. Intento reversar el MD5 de la cabecera sin éxito.

Tomo el camino al otro servicio con puerto 5555. A través de este, intentaremos hacer una conexión al dispositivo Android con ayuda de "adb".


Bien, ya tenemos algo, hemos conseguido una shell y estamos conectado al interior del dispositivo. Si accedemos a la carpeta "System" podemos ver el archivo "flag.txt".


Ahora es el momento que hacemos "cat" y nos bailamos una Polka :D, pero no señor, no nos lo van a poner tan fácil.


OMG! Hay que encontrar alguna manera de escalar privilegios y leer el archivo.... Y por increíble que parezca, fue de lo mas sencillo :D


Y así acaba el reto..... Como se me hizo corto, dije ¿Y si logro quitarle el patrón/pin de acceso al dispositivo?


Accedemos a la ruta "/data/system" y allí normalmente se almacena un archivo llamado "locksettings.db" donde guarda la configuración de acceso.

Solo tenemos que eliminar el archivo "locksettings.db" y reiniciar el dispositivo.


Y si todo ha ido bien, el dispositivo iniciará sin pedirnos patrón o PIN.


Ahora si, esto si que es un "2x1" y no lo del Telepizza xD


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!