XUT_ / MACHINES / THM

0007

Overpass

THMMACHINENONEEASY

Introduction

overpass

¿Qué pasa cuando un grupo de estudiantes de Computer Science sin dinero intentan hacer un gestor de contraseñas?

Obviamente un éxito comercial perfecto.

Finding the Flags

  1. Vamos a realizar enumeración.

    1. Primero de puertos. overpass
    2. Ahora un escaneo de esos puertos abiertos. overpass
    3. Ahora directorios. overpass
  2. Ahora vamos a la web.

    1. La página principal. overpass overpass Vemos algo sobre los romanos. ¿Puede estarse refiriendo a cifrado César?
    2. En /admin. overpass
    3. En /aboutus parece que hay una posible lista de usuarios. overpass
  3. Vamos a investigar /admin, parece lo más prometedor.

    1. Si abrimos Burp Suite y capturamos una petición errónea. overpass
    2. Vamos a mandarlo al repetidor. overpass
    3. Vamos a probar a capturar la respuesta del servidor. overpass
    4. Cambiamos la respuesta a Correct credentials, le damos a "Forward", quitamos el "Intercept" y conseguimos una clave privada. overpass
  4. Ahora nos guardamos la clave privada, le cambiamos los permisos a 600 y la usamos con -i para entrar por ssh.

  5. No podemos porque está encriptada. Vamos a desencriptarla para crackearla. Para ello necesitamos primero convertirla a un formato que john entienda. Para ello usamos ssh2john. overpass

  6. Iniciamos sesión como james. overpass

  7. Encontramos user.txt. overpass

  8. No podemos hacer sudo -l por lo que nos ponemos a mirar más y encontramos .overpass. overpass

  9. Si le preguntamos a Gemini si reconoce este tipo de cifrado nos dice que es ROT47. overpass

  10. Si se lo damos a CyberChef. overpass

  11. No hemos encontrado nada que hacer con ese usuario y contraseña de momento por lo que seguimos mirando. Ahora /etc/crontab. overpass Parece que root carga un script desde internet si conseguimos modificarlo tenemos acceso.

  12. Vamos a mirar a quien le pertenece /etc/hosts. overpass Parece que todos pueden escribir. Vamos a cambiar la redirección a nuestra propia máquina.

  13. Creamos un script que mande una reverse shell a nuestra máquina y lo servimos. overpass overpass Es importante hacerlo en el puerto 80 porque curl manda la petición al puerto 80.

  14. Nos ponemos en escucha por el puerto que hemos puesto en el script. overpass

  15. Modificamos el /etc/hosts para que ponga 192.168.128.94 overpass.thm nos llega la conexión. overpass

  16. Y obtenemos la flag de root. overpass