A estas alturas deberíamos tener un buen entendimiento de los vectores de escalada de privilegios en Linux por lo que este reto debería ser fácil.

Has ganado acceso a una gran instalación científica por SSH. Intenta elevar tus privilegios hasta ser root.

No te dejes ningún método por comprobar, la escalada de privilegios suele ser más a menudo un arte que una ciencia.


Challenge

  1. Entramos por SSH con las credenciales otorgadas. Capstone Challenge
  2. Empezaremos por el primer método estudiado: Kernel Exploits.
    1. Listamos el kernel. Capstone Challenge
    2. Buscamos en Github (no hay nada) y buscamos en Exploit-DB, donde encontramos lo siguiente. Capstone Challenge No hay ninguna verificada, por lo que de momento no nos la vamos a jugar.
  3. Seguimos con el siguiente método: sudo.
    1. Probamos con sudo -l. Capstone Challenge No podemos, pasamos al siguiente método.
  4. El siguiente método es SUID.
    1. Empezamos buscando los archivos con los bits SUID y/o SGID configurados. Capstone Challenge Vamos a compararlos en GTFOBins.
    2. Hemos encontrado que base64 con SUID nos permite leer archivos. Capstone Challenge
    3. Vamos a leer /etc/shadow. Capstone Challenge Hemos encontrado los hashes de root y missy.
    4. Veamos que grupos/id tiene missy. Capstone Challenge Nada muy interesante.
    5. Intentaremos crackear los hashes con John the Ripper.
      1. Metemos los archivos shadow y passwd y los combinamos con unshadow. Capstone Challenge
      2. Investigamos que hash son las contraseñas en nuestros propios apuntes. Capstone Challenge
      3. Usamos John para crackearlos. Capstone Challenge De momento parece que hemos encontrado la contraseña de missy.
  5. Vamos a probar con el siguiente método: Capabilities.
    1. Usamos getcap -r / 2>/dev/null para obtener las capabilities. Capstone Challenge
    2. Comparamos en GTFOBins. Capstone Challenge Ninguno coincide.
  6. Vamos a probar el siguiente método: Cron Jobs.
    1. Miramos el archivo /etc/crontab. Capstone Challenge No hay nada.
  7. Seguimos con el siguiente método: PATH.
    1. Listamos el PATH. Capstone Challenge Parece interesante la ruta /home/leonard/scripts.
    2. No existe esa ruta. Podríamos intentar escalar creando el directorio y metiendo algún binario dentro más adelante. Capstone Challenge
  8. Vamos a seguir con el siguiente y último método: NFS.
    1. Listamos /etc/exports. Capstone Challenge Está vacío, así que nada.
  9. De momento lo más prometedor que hemos encontrado es la contraseña de missy, así que seguiremos por ahí. Nos logueamos con missy. Capstone Challenge Vamos a repetir los pasos con missy, a ver qué encontramos.
  10. Vaya, resulta que con missy sí podemos ejecutar ciertos comandos como sudo. Capstone Challenge
  11. Vamos a ver qué podemos conseguir en GTFOBins. Capstone Challenge Parece que sí que es útil heheh.
  12. Seguimos los pasos. Capstone Challenge
  13. Buscamos la flag. Capstone Challenge Por el directorio donde está podemos intuir que la flag era leíble sin permisos de root desde la cuenta de missy. Por lo que seguramente también podamos leer ya la flag2.
  14. Buscamos la flag 2. Capstone Challenge
SUCCESS

Hemos conseguido escalar privilegios y obtener las dos flags.