XUT_ / MACHINES / THM

0063

Ultra Tech

THMMACHINENONEMEDIUM

Introduction

ultra-tech


Tu misión

Has sido contratado por UltraTech para poner a prueba su infraestructura. Es un tipo de reto grey-box. La única información que sabes es el nombre de la compañía y la dirección IP de su servidor.

Enumeration Time

  1. ¿Qué software está usando el puerto 8081? ultra-tech
  2. ¿Qué otro puerto no estándar está siendo usado? ultra-tech
  3. ¿Qué software usa ese puerto? ultra-tech
  4. ¿Qué distro de GNU/Linux está usándose? Ubuntu. Lo dice en el servicio del puerto 31331.
  5. El software usando el puerto 8081 es una api REST, ¿cuántas de sus rutas son usadas por la aplicación web? ultra-tech Son 2, las que se ven ahí.

Let the Fun Begin


  1. Hay una base de datos por algún lado, ¿cuál es su filename?
    1. Vamos a la URL de la base de datos. ultra-tech
    2. Vamos a enumerar las páginas de esta URL. ultra-tech Parece que robots.txt está disponible, vamos a mirar a ver qué hay en ella.
    3. Vamos a http:<ip>:31331/robots.txt. ultra-tech
    4. Seguimos los puntos que vamos obteniendo. ultra-tech
    5. En la única que hay algo interesante es en partners.html. ultra-tech Parece que hemos encontrado el área de login.
    6. Vamos a intentar entrar con test:test. ultra-tech Después de trastear un poco con Burp Suite nos damos cuenta de que por aquí no llegamos a ningún lado. Ni siquiera con hydra, no obtenemos ninguna contraseña para los usuarios obtenidos de la primera página:
      • r00t
      • P4c0
      • Sq4l
    7. Por esto volvemos a la página de inicio de sesión a ver si nos hemos dejado algo, vamos a inspeccionar la página. ultra-tech Aquí no parece haber nada, vamos a ver en la sección de red.
    8. Nos metemos en la sección de red de las herramientas de desarrollador. ultra-tech Parece que está llamando a una función, vamos a investigarlo.
    9. Vamos a intentar hacer ping a la máquina localhost del servidor. ultra-tech Pues parece que podemos inyectar comandos.
    10. Vamos a intentar listar archivos. ultra-tech Hemos encontrado el filename.
  2. ¿Cuál es el hash de la contraseña del primer usuario?
    1. Vamos a leer el archivo utech.db.sqlite. ultra-tech
    2. Sabemos que hay un usuario llamado r00t gracias a la página principal, por lo que el hash debe ser lo que sigue. ultra-tech
  3. ¿Cuál es la contraseña asociada a este hash?
    1. Para crackear la contraseña vamos a ir a CrackStation. ultra-tech

The Root of All Evil

  1. ¿Cuáles son los 9 primeros dígitos de la clave privada SSH del usuario root?
    1. Vamos a iniciar sesión por SSH con el usuario y la contraseña que obtuvimos antes. ultra-tech
    2. Miraremos qué comandos podemos utilizar. ultra-tech
    3. No podemos usar sudo -l. Sin embargo, podemos ver, usando el comando id, que estamos en el grupo docker. ultra-tech
    4. Vamos a ver qué imágenes hay. ultra-tech
    5. Vamos a GTFOBins y buscamos docker. ultra-tech
    6. Encontramos una forma de spawnear una shell de root. ultra-tech
    7. Lo ejecutamos. ultra-tech En nuestro caso usamos bash porque era la imagen que estaba disponible.
    8. Buscamos la clave privada SSH y sacamos los primeros 9 caracteres. ultra-tech