Pwnedcr 5

  • Pwnedcr5
  • Easy

Retos:

  • El regalo
  • Cryptonita
  • Tron
  • Enumérame
  • Bruto el fuerte
  • Siete a cero
  • Scripteando

El regalo:

Nos dan una cadena de caracteres que se parece a una cadena encodeada en base64.

Sabiendo esto, podemos intentar de decodificarlo desde una terminal de la siguiente manera:

echo "UFdORURDUnt2ZW5pbW9zX2VuX3Bhel9naGVpQDkwJCN9" | base64 -d; echo

De esta manera obtenemos la flag: PWNEDCR{venimos_en_paz_ghei@90$#}

De una manera alternativa podemos ir a la siguiente pagina Link y pegamos nuestra cadena para decodificarla.

Cryptonita:

Vemos que esta vez no nos dan una cadena, pero si leemos de manera detenida podemos ver una pista, la cual es: “se cree que en ésta página se esta intercambiando información”, esto nos puede decir que la flag puede esta en el codigo fuente de la pagina.

Vamos a ver el codigo fuente y en efecto vemos algo fuera de lo comun casi al final de la pagina, una cadena parecida a la del reto anterior pero esta vez es mucho mas larga.

Vamos a tratar de decodificarlo…

echo "Tm9zIGVzdOFuIHNpZ3VpZW5kbyBlbCByYXN0cm8sIGhheSBxdWUgYm9ycmFyIHRvZGEgaW5mb3JtYWNp824gYW50ZXMgZGUgcXVlIHNlYSBkZW1hc2lhZG8gdGFyZGUsIGxhcyBjdWVudGFzIGVuIGxvcyBvdHJvcyBwYe1zZXMgZnVlcm9uIGJsb3F1ZWFkYXMsIGxvIPpuaWNvIHF1ZSBub3MgcXVlZGEgZXMgZWwgd2FsbGV0IGRlIGNyeXB0byBtb25lZGFzIHF1ZSBzb2xvIHVzdGVkZXMgeSB5byBzYWJlbW9zIGRvbmRlIGVzdOEsIHJlY3VlcmRlbiB1dGlsaXphciBsYSBwYWxhYnJhIGRlIHBhc28gcGFyYSBwb2RlciBzYWJlciBudWVzdHJvIHBy83hpbW8gcHVudG8gZGUgcmV1bmnzbjogW1sgVUZkT1JVUkRVbnR6WldOMGIzSmZORjloY0dGeWRHRnRaVzUwYjE4Mk5WOTZiMjVoWDI1MVkyeGxZWEpmWkdWellXeHZhbUZrWVY4MUpETXlRREY5IF1d" | base64 -d; echo

Vemos un mesage curioso y otra cadena que tambien se parece mucho a una cadena en base64, vamos a decodificarla:

echo "UFdORURDUntzZWN0b3JfNF9hcGFydGFtZW50b182NV96b25hX251Y2xlYXJfZGVzYWxvamFkYV81JDMyQDF9" | base64 -d; echo

Con esto ya podemos ver la flag: PWNEDCR{sector_4_apartamento_65_zona_nuclear_desalojada_5$32@1}

Tron:

Vemos que nos dan una pista la cual es: “la imagen contiene algún mensaje” y con esto ya nos viene a la mente que puede ser un mensaje fue escondido con esteganografía.

Para analizar la image a un nivel mas bajo podemos utilizar la herramienta: exiftool la cual es una herramienta para ver los metadatos en archivos.

Podemos descargar la imagen y ejecutar el siguiente comando para analizarla.

exiftool tron.png

Y en efecto vemos bastante informacion y entre ella la flag:

Enumérame:

Nos dan esta pista “reto4.php?id=123” ya podemos pensar en un ataque IDOR (Insecure direct object references) lo que podemos hacer es ir iterando entre numeros, 124, 125, 126…etc.

Poniendo 126 en lugar de 123: “https://ctf.pwnedcr.com/retos/reto4.php?id=126” ya podemos ver la flag:

Bruto el fuerte

Podemos descargar los dos diccionarios que nos proveen ya que los vamos a utilizar.

Presionando “Abrir app” y nos abre la siguiente ventana:

Nos dan una pista con el titulo ya que se refiere a un “ataque de fuerza bruta”.

Con la herramienta hydra podemos hacer el ataque…

hydra -L top-usernames-shortlist.txt -P rockyou_top-1k.txt ctf.pwnedcr.com https-post-form "/retos/reto5_login.php:username=^USER^&password=^PASS^:F=ACCESS DENIED"

Uso de hydra:

  • -L –> Indicamos que le vamos a pasar un diccionario de usuarios.
  • -P –> Indicamos que le vamos a pasar un diccionario de contraseñas.
  • ctf.pwnedcr.com –> Es el dominio que vamos a atacar.
  • https-post-form –> Vamos a enviar un formulario que serian el usuario y contraseña.
  • /retos/reto5_login.php –> La ruta donde se ubica el formulario que vamos a atacar.
  • :username=^USER^&password=^PASS^ –> Estos son los campos que vamos a atacar con hydra el username y password, para saber si son diferentes nos podemos fijar en la peticion que estamos enviando por burp o tambien lo podemos ver en el codigo fuente.
  • :F=ACCESS DENIED –> El “ACCESS DENIED” es la palabra que la pagina web nos va a dar si hacemos un intento fallido, el “ACCESS DENIED” lo saque del codigo fuente de la pagina cuando ponemos unas credenciales no validas, lo vemos en la siguiente imagen:

Para mas informacion recomiendo buscar en google ;)

Ejecutamos comando anterior en nuestra terminal y obtenemos un username y un password: admin:jordan23

Y obtenemos la flag.

Siete a cero:

Presionando “Abrir app” y nos abre la siguiente ventana:

Ponemos “test” y “test” y vemos que el output se ve reflejado y pensamos en un ataque xss. (Al principio intente hacer un bypass del login y dure muchas horas y no pude hacer nada y al hacer un xss fue algo irreal.)

Para hacer el ataque xss ponemos: “<script>alert(1)</script>” en la parte del usuario y en la parte del password ponemos lo que querramos. (“Tiene que ser exactamente igual por que si variamos auque sea el numero, no nos dara la flag”)

y con esto conseguimos la flag:

Scripteando:

No hay muchas pistas pero empezamos con un analizis del codigo fuente de la pagina y vemos algo interesante:

Viendo mas esa linea de codigo podemos notar que ahi esta la flag: