Pwnedcr 6

  • Pwnedcr6
  • Easy

Retos:

crypto
800-00-hack
too easy
dcod’hit!

OSINT
In flames!!
OB
They seem but they are not!

Reversing
J-GUY
IDK
Cr4zzy Byt3s

Stego
Rocinante!!
F*rk of PIL
welcome Sloth!!
RollON
B3tch
Relajasonic
Hack & Eat Pinto!

Web
Ellingson Mineral Chapter 1
Ellingson Mineral Chapter 2
Ellingson Mineral Chapter 3
Ellingson Mineral Chapter 4 (La vaca loca)

Crypto:

1. 800-00-hack:

Descripción: We can hacker with our ears.

Nos proporcionan este archivo de audio en el cual se escuchan los tonos que se generan al marcar un número de teléfono, lo que se conoce como Dual-tone multi-frequency signaling. Buscando un poco, podemos dar con este recurso, el cual nos permite decodificar el archivo de audio a números.

El resultado es el siguiente:

4433277708666044222255

Una vez que tenemos estos números, podemos utilizar este otro recurso el cual nos permitirá obtener un resultado en texto claro.

Nos da esta cadena en texto claro:

HEAR TO/TMN HACK

Por lo cual podemos llegar a la conclusion de que la flag es la siguiente:

PWND{hear_to_hack}

2. too easy:

Descripción: Some cipher methods require two elements, has anyone found my keys?

Nos proporcionan un archivo que al parecer fue en cifrado. El contenido es el siguiente:

tvkjxtui, at uvojkkuis wg cwh lkjbtfcj ltigelt wg ci uhtkiaxbr lt lwj kdgviwaxu. dicmgebt tekcpekqish, cgztgfv g sbxzézixvv ltlezngtpuw tlvv utgurrt. ¡uwvvp lwvzix!!!rnvs{e00m_rzdnpu_&_l3rkagb}

Para desafíos de este estilo, tu mejor amigo es usar CyberChef. Por experiencia supe que este tipo de cifrado era Vigenère. Una forma de determinar el tipo de cifrado es utilizando esta pagina.

Este cifrado nos pide una clave para poder ver el texto, podemos probar con el nombre del archivo de donde proviene este texto, que es: cript, y en efecto podemos ver el siguiente resultado.

pwnd{l00k_around_&_d3crypt}

3. dcod hit!:

Descripción: I thought I understood encoding but everything looks backwards…

Nos un archivo que contiene lo siguiente:

a056e646a006a0d3c26455e24375d2e4b3755295a37392d4e2730465a26552153342c225a362c2b443748225c2354506a0d483735494d23392c4e373d255d36394d2c244d4a523735492a3739254936354c23375830533629203a3754225537252050355928463635424d3331373a0d423654285a3325394e362554503451445d243d213a332d3f28374445503551495d2735223c34354545363457543659295c3755263e343c425c2735234a0d4b3731254437593c25345941533629253a3435554d2630545a3545215e26254f2d363d295c3635434c27414c4d245c315d3429455136454a2835354a5a0d4336595054345d3553352c325c3325325236494c2c274d2e4b3359395a375062553735314d3441494c37253a3c3545473837354051375d2d4c33493a5a0d42345d3e423349393c3341325337392a2c34393a5e2624205d343954323730345c26492c48344d543c37252e433659535e363d5958344d265e3434475a0d4c3639572e3449472e2730445835392a4b355d324c375d2554363540513459525b3755235e3539472c27252f4b2455595d243d4c2e34415b2833452c2a0d4c3349394e3724345436552b463749403b3335314436455b21342d5a42345d223a3455455937593b2c2645525d2725313c2750365033554148373d3b4a026567696e60263434302d2

Como mencioné anteriormente, tu mejor aliado es CyberChef. En la descripción, nos dan una pista ‘backwards’, tal vez el texto esta invertido entonces invirtiéndolo otra vez talvez consigamos algo.

El símbolo de la varita mágica indica que CyberChef ha encontrado una coincidencia con un cifrado.

CyberChef reconoció que era un texto en hexadecimal, y podemos probar invirtiéndolo nuevamente. Ahora observamos un texto más claro en el cual podemos trabajar, Pero parece estar mal acomodado, así que intentemos acomodarlo de esta manera.

begin 644 -
M<C9I>'4T4V%K6GI0;35A4FU+1$]J2T-2:TEU9W9+,FUR-'51,W0V0SEA87=K
M<6Y'>DI'.7@T85)J;U=B<W-U46EP1TYR;W%S>5I','%O+TUY-4M,>DQ+8C%,
M2T=N2C99<C1R37)*<49Z.&$P=4Y4270T,F)L8D]4<'%N3VYS>6]Y8D-V>4DW
M3VYP4T=U3%<R<#5R2FI,,G-N;S9Y:W`R575A=DAI<'5:<EE787EP1W-M<C9Z
M;7!E4W9,5TIQ3&)5:4UE-6PT:E%Q.&E/=6-Y<6EC,GAL-T<Q=$IU1FE*85EZ
M2V$X:#5I>&UT0TAT-4-1:#=/8GDU0UAY-7%2<4EE56TW4V)Y<W%6>4LR,7%C
M87EI-3)L>7-U=6I-,DMZ27E):7)E96E,3W8P3&)0:W$R5'%P0U)H66EB=317
=,FU.4W-N;W%Y:7)M.7@V*V%Q3$,R:&,K4G(R,ST`
`
end

¿Qué es esto? Bueno si buscamos en Internet ‘begin 644 -’, encontraremos un tipo de codificación llamado Uuencoding.

Para decodificarlo podemos hacer uso de esto, lo colocamos sin las lineas de begin 644 - y end y presionamos decrypt y nos da el siguiente resultado:

r6ixu4SakZzPm5aRmKDOjKCRkIugvK2mr4uQ3t6C9aawkqnGzJG9x4aRjoWbssuQipGNroqsyZG0qo/My5KLzLKb1LKGnJ6Yr4rMrJqFz8a0uNTIt42blbOTpqnOnsyoybCvyI7OnpSGuLW2p5rJjL2sno6ykp2UuavHipuZrYWaypGsmr6zmpeSvLWJqLbUiMe5l4jQq8iOucyqic2xl7G1tJuFiJaYzKa8h5ixmtCHt5CQh7Oby5CXy5qRqIeUm7SbysqVyK21qcayi52lysuujM2KzIyIireeiLOv0LbPkq2TqpCRhYibu4W2mNSsnoqyirm9x6+aqLC2hc+Rr23=

Esto tiene mucha pinta a una cadena en base64 asi que utilizemos CyberChef otra vez.

Parece que algo nos falta algo…

Intentando varias formas damos en el clavo con XOR Brute Force ya que al final podemos ver la flag.

PWND{enc0ding_1s_not_CRYPto!!}

OSINT:

1. In flames!!:

Descripción: Hidden in discord the first search is born. <3

Este reto es muy simple, lo que habia que hacer era encontrar la siguiente foto en el chat de discord, la cual tiene una cadena en base64.

e2Nvbl9hbW9yfQ==

La cual decodeada te da la flag.

PWND{con_amor}

2. OB:

Descripción: The Temporal Loom is the heart of the Drive. It’s where raw time is refined into physical timeline. You can find it on the pwnedcr.com website!!

Revisando el codigo fuente de la pagina pwnedcr podemos encontrar algo muy interesante en el main.js

jmmm Smells like O.S.!.N.T, https://drive.google.com/drive/folders/1ZAcQsU4506OBabNBCvuUdgUB19bPxHDm

Revisando el folder de Google Drive, podemos encontrar muchos subdirectorios e imágenes… si tienen la terminal Kitty, hay un comando bastante útil para visualizar imágenes directamente desde la consola kitty +kitten icat *. Con esto, podemos ver todas las imágenes de manera recursiva sin tener que revisar cada directorio una por una… (Debes ejecutar este comando en ┌──(user㉿kaliBit)-[/] para que busque de forma recursiva las imagenes).

Podemos encontrar imágenes con nombres como Matrix0001.png que contienen una cadena en base64. (Podemos deducir que los nombre de las imagenes tienen numeros en formato binario pero estan desordenados igual…)

Para reconstruir el texto yo lo hice por prueba y error, de esta manera y con CyberChef llegamos a el siguiente resultado:

PWND{Rebuild_in_the_timeline}

3. They seem but they are not!:

Descripción: In 2008, Canadian Chris Neil was convicted… Wait, wait, he’s not the same, this character is super friendly and a good guy. We just immerse it in the matrix! Ask him about the flag!! Remember format PWND{}

Nos dan la siguiente imagen.

Al parecer la imagen tiene un efecto swirl, la podemos llevar a su estado normal con la esta pagina

XD, podemos ver que se trata de Ragab0t y al preguntarle por la flag en Discord nos da la flag.

PWND{_imperial_}

Reversing:

1. J-GUY:

Descripción: Hello, the first steps of reversing.!!!

Nos proporcionan este archivo .jar, una forma de reconstruir el contenido de este tipo de archivos es utilizando JD-GUI.

Podemos observar que esta esperando una cadena que sea igual a FrozenFox para retornar esta cadena en base64.

RGVjb21waWxlcg==

Al decodearla podemos ver la flag:

PWND{Decompiler}

2. IDK:

Descripción: Someone on the team wrote it. We still don’t know what it is. We only have an internal portion of it. mensaje_ofuscado = bytes([caracter ^ 0x5A for caracter in mensaje_codificado])

Se nos proporciona este archivo. Al observar la pista bytes([caracter ^ 0x5A for caracter in mensaje_codificado]), podemos notar que el mensaje ha sido sometido a una operación XOR con la clave 0x5A. Para devolverlo a su forma original, podemos utilizar CyberChef.

Cargamos el archivo y aplicamos XOR con la key 0x5A y podemos ver la flag:

PWND{rev3rs1ng_easy}

3. Cr4zzy Byt3s:

Descripción: Our cybernetic forth has been under siege by a horrendous monster that feeds on innocent bytes. Help us discover the key to destroy it!!

Nos proporcionan este archivo ejecutable.

Para decompilar el ejecutable pueden utilizar Ghidra, para asi tener una idea de las caracteristicas y las acciones que realiza dicho archivo.

Nos dirigimos a functions –> main, esto para poder decompilar/ver el entry point del ejecutable. El cual es el siguiente:

Lo que podemos notar es que está comparando caracteres en hexadecimal para continuar con la ejecución del programa.

Para pasar caracteres en hexadecimal como argumento podemos hacer lo siguiente:

printf '\x11\x1c\v\x16@\x1e\x11[(e0\x18\x056CPg0\\\x0e(\x05+}\x02\x03\x03s\x12A' | ./chal | tr -d 'Nom nom! Gimme more bytes:'; echo

También podemos utilizar un script en Python:

from pwn import *

p = process("./chal")
p.send(b'\x11\x1c\v\x16@\x1e\x11[(e0\x18\x056CPg0\\\x0e(\x05+}\x02\x03\x03s\x12A')

print(p.readall().decode('utf-8', errors='ignore'))

PWND{numb3rs_are_Danger0us_!!}

Si encuentras un error como este al ejecutar el archivo:

Puedes evitarlo al usar un contenedor con Docker:

sudo docker pull ubuntu
sudo docker run -it ubuntu bash

Dentro del contenedor ejecuta:

apt update
apt install wget python3 pip
pip3 install pwntools (Por si quieres utilizar el script de python)

Puedes subir el archivo de la siguiente manera:

Stego:

1. Rocinante!!

Descripción: El mundo de las letras es muy interesante.

Nos dan este archivo que parece un archivo de texto común pero si le hacemos un cat podemos ver que hay tabs y espacios al final del archivo…

Investigando un poco nos podemos dar cuenta que esta utilizando whitespace steganography, una herramienta para poder ver el mensaje original es Stegsnow.

stegsnow -C Sancho.txt –> Con este simple comando podemos ver la flag.

PWND{Tiquicia}

2. F*rk of PIL

Descripción: We started with something basic to hide my tracks.

Nos proporcionan este archivo, para resolver este reto podemos hacer uso de stegolsb.

stegolsb steglsb -r -i creepy.png -n 2 -o secret_output –> Comando para descubrir información a por medio del least significant bit.

PWND{Eas1_peasy_dud3}

3. welcome Sloth!!

Descripción: La tenacidad del perezoso es sorprendente, lento pero muy decidido, lo intenta mil veces si es necesario pero no se rinde fácilmente

Nos proporcionan este archivo, podemos resolver este reto con la herramienta stegseek.

stegseek pwnedcr1.jpeg /usr/share/wordlists/rockyou.txt –> Con este comando podemos hacer bruteforcing para extraer los datos ocultos.

Este es el contenido:

50 57 4e 44 7b 48 61 79 74 61 6c 65 6e 74 6f 65 6e 43 52 7d

Utilizamos CyberChef con la receta From HEX y vemos la flag:

PWND{HaytalentoenCR}

4. RollON

Descripción: This mix is based on meditation and energy gathering for BitBl4ck, it doesn’t get him out of his head.

Nos dan este archivo, podemos utilizar la misma herramienta de antes stegolsb.

stegolsb wavsteg -r -i arab_mix_2030.wav -n 2 -o extracted_flag.txt -b 32

De esta manera podemos ver la flag:

PWND{r3cuerd0_la_1er4_ch4mb4}

5. B3tch

Descripción: How nice it would be to have a house on the beach

Nos dan este archivo, vamos a ver los metadatos…

Vemos algo interesante en image description que es online R7-G0-B7, investigando un poco podemos toparnos con esta pagina en la cual podemos subir la imagen.

Una vez subida la imagen presionamos Extract Files/Data

Una vez aqui ponemos los valores que vimos en image description

Precionamos Go y podemos ver la flag.

PWND{CTF}

6. Relajasonic

Descripción: Los sonidos del bosque son relajantes, para disfrutarlos hay que estar bien atento

Nos dan este archivo, el cual esta comprimido y con contraseña.

Vamos a intentar con la contraseña AbreteSesamo ya que es el nombre del archivo…

LOL sirvio, el archivo comprimido contiene un archivo de audio, vamos a intentar ver el espectrograma con Audacity, para instalar Audacity pueden poner el siguiente comando sudo apt install audacity.

Nos dirigimos a File para cargar el archivo.

Presionamos el nombre del archivo y despues Spectrogram.

Con esto podemos ver la flag.

PWND{Si_se_puede}

7. Hack & Eat Pinto!

Descripción: All this challenge solving and thinking got me hungry. I just want to solve this one so I can eat!

Nos dan este archivo, para resolver este reto vamos a usar stegsolve.

Cargamos la imagen y vamos investigando los diferentes efectos… en el Red plane 0 podemos ver la flag.

PWND{1_see_WITH_my_lIttI3_eye}

Web

1. Ellingson Mineral Chapter 1

Descripción: Iniciando en pentest web? Lo basico es los recursos minerales. http://34.214.201.218/

Nos dan una direccion ip http://34.214.201.218/ al cual es una pagina web.

Vamos a ver el codigo fuente y encontramos esto…

UFdORHtUaDNNMG5leV9Hb2Rlc3MhfQ==

Esa cadena en base64 es una flag.

PWND{Th3M0ney_Godess!}

2. Ellingson Mineral Chapter 2

Descripción: Facil rigth? Todo es parte de conocer el entry point!!!

Vamos a realizar un escaneo con nmap para ver si hay mas puertos abiertos a parte del 80 (HTTP).

Podemos encontrar los puertos 21 (FTP) y 22 (SSH).

En el Chapter 1 se hace referencia al FTP y al usuario margo ademas la pagina tiene contraseñas, tal vez alguna de esas contraseñas es la del usuario margo para el servicio FTP…

Probando las contraseñas podemos acceder al FTP con las credenciales margo:god.

Podemos listar y descargar los archivos que hay en el FTP adentro de la carpeta garbage.

En el archivo stillnohandle.txt podemos encontrar una cadena en base64 UFdORHtKMDN5V0BzSGVyZSF9 que es otra flag.

PWND{J03yW@sHere!}

3. Ellingson Mineral Chapter 3

Descripción: same URL….. but……

En el FTP tambien encontramos este archivo llamado davinci.bin, vamos a cargarlo en CyberChef…

Al parecer es un archivo en C, pero sin compilar, ademas podemos ver credenciales.

Con esas credenciales podemos entrar al SSH.

Decodeamos la cadena de base64 y tenemos la flag.

PWND{Wait!Cr@shand8urn!}


Espero que les haya gustado este write-up :), nos vemos el proximo año en esta increible conferencia.