XUT_ / MACHINES / THM

0078

Wekor

THMMACHINENONEMEDIUM

Introduction

wekor

Reto CTF involucrando SQLi, WordPress, enumeración vhost y reconocimiento de servicios internos.

Getting the Flags

Reconocimiento Inicial

Primero empezamos escaneando los puertos abiertos.

wekor

Ahora vamos a profundizar en dichos puertos.

wekor

Parece que hay algunos directorios, los investigaremos más tardes. Vamos a mirar qué directorios tiene la web con una herramienta.

wekor

No hemos encontrado nada más interesante que lo que ya teníamos, así que vamos a ver cómo se ve la web:


Profundización

Parece que no hay nada, vamos a mirar en robots.txt:

wekor

Vamos a ver qué nos encontramos en estos directorios. A primera vista, sólo hay uno de los directorios que conduce a algún sitio: /comingreallysoon/:

wekor

Vamos a ver qué vemos por ahí:

wekor

Después de navegar por toda la página encontramos un campo donde se puede meter texto. Si ponemos algo cualquiera como test, nos dice que el cupón no existe:

wekor

Ahora vamos a probar con una comilla:

wekor

Bingo, parece que la query hace algo como:

sql
SELECT ___ WHERE ___ LIKE "%QUERY"

Vamos a ver si por aqí podemos hacer algo. Vamos a usar sqlmap.

bash
sqlmap -u "http://wekor.thm/it-next/it_cart.php" --forms --dbs

Este comando nos devuelve lo siguiente:

wekor

Ahora vamos a entrar a WordPress. Como ya sabemos qué parámetro es vulnerable, vamos a utilizarlo:

bash
sqlmap -u "http://wekor.thm/it-next/it_cart.php" --data="coupon_code=test&apply_coupon=Apply%20Coupon" -p coupon_code -D wordpress --tables --batch

Así obtenemos:

wekor

Vamos a mirar las entradas de wp_users:

wekor

De aquí obtenemos lo que necesitamos. Además, podemos ver que hay un virtual host en el user_url de admin, vamos a añadirlo y a realizar un escaneo.

wekor

Ahora vamos a crackear los hashes. Para ello creamos el siguiente documento:

wekor

Y por último se lo pasamos:

wekor

Vamos ahora a iniciar sesión en WordPress con lo que hemos obtenido. Con wp_jeffrey funciona.

wekor


Explotación

Una vez dentro de la cuenta, vamos a editar los temas:

wekor

Una vez allí vamos a subir una reverse shell de PHP:

wekor

Ahora la pegamos en la plantilla.

wekor

Y nos ponemos en escucha:

wekor

Ahora buscamos la página:

http
http://site.wekor.thm/wordpress/wp-content/themes/twentytwentyone/404.php

Y así obtenemos la shell:

wekor

Buscamos la flag.

wekor

Parece que tendremos que hacer un movimiento lateral. Después de un rato buscando no encontré nada, así que decidí listar servicios internos:

wekor

El servicio de ese puerto es memcached, el cual puede utilizarse para recuperar contraseñas.

wekor

[!TIP] Para salir escribe quit.

Con dicha contraseña, iniciamos sesión con Orka.

wekor

Ahora leemos la flag.


Escalada de Privilegios

Ahora vamos a ver qué podemos ejecutar:

wekor

Si miramos el directorio del comando podemos ver que podemos modificarlo, aunque le pertenezca a root.

wekor

Ahora recreamos el documento con una shell:

wekor

Y al ejecutarlo:

wekor

Ahora leemos la flag:


Conclusión

Una máquina con su cierta complejidad, hemos practicado:

  • Enumeración.
  • Inyección SQL.
  • Explotación de plantillas de WordPress.
  • Listado de servicios.
  • Servicio memcached.
  • Escalada de privilegios por modificación de ruta.

Una máquina completa y con cierta complejidad, pero divertida.