🐧Escalada en Linux - Skills Assesment
Nos han contratado para realizar una evaluación de fortalecimiento de la seguridad en uno de los servidores web públicos de la organización INLANEFREIGHT.
El cliente nos ha proporcionado un usuario con pocos privilegios para evaluar la seguridad del servidor. Conéctese a través de SSH y comience a buscar errores de configuración y otras fallas que puedan aumentar los privilegios utilizando las habilidades aprendidas en este módulo.
Una vez en el host, debemos encontrar 5 indicadores (flags) en el host, a los que se pueda acceder en varios niveles de privilegio. Escalar los privilegios de usuario htb-student a usuario root y enviar los cinco indicadores para finalizar este módulo.
SSH a 10.129.176.120 (ACADEMY-LLPE-SKILLS-NIX03)
User "htb-student"
Password "Academy_LLPE!"Flag 1
Usuario: htb-studentAl acceder por SSH nos encontramos con el archivo de historial de la terminal que contiene una pista de la primera flag, pero parece que el archivo ya no está allí:
htb-student@nix03:~$ ls -la
total 32
drwxr-xr-x 4 htb-student htb-student 4096 Sep 6 2020 .
drwxr-xr-x 5 root root 4096 Sep 6 2020 ..
-rw------- 1 htb-student htb-student 57 Sep 6 2020 .bash_history
-rw-r--r-- 1 htb-student htb-student 220 Feb 25 2020 .bash_logout
-rw-r--r-- 1 htb-student htb-student 3771 Feb 25 2020 .bashrc
drwx------ 2 htb-student htb-student 4096 Sep 6 2020 .cache
drwxr-xr-x 2 root root 4096 Sep 6 2020 .config
-rw-r--r-- 1 htb-student htb-student 807 Feb 25 2020 .profile
htb-student@nix03:~$ cat .bash_history
id
ls
ls /var/www/html
cat /var/www/html/flag1.txt
exit
htb-student@nix03:~$ cat /var/www/html/flag1.txt
cat: /var/www/html/flag1.txt: No such file or directoryEn el directorio home encontramos 3 usuarios:
Al enumerar archivos ocultos como .config, encontramos la flag 1:
El usuario htb-student no tiene permisos de ejecución en la máquina:
Flag 2
En el directorio /home/barry encontramos la flag 2, pero no podemos acceder directamente:
Al leer el .bash_history nos encontramos algo interesante, unas credenciales:
Probamos a cambiar al usuario Barry y buum! La contraseña sirve y leemos la flag 2:
El usuario barry no tiene permisos de ejecución en la máquina:
Comprobando la versión del Kernel nos encontramos con que es vulnerable:
Flag 3
La flag 3 es bastante trivial, ya que usando el siguiente comando encontramos la flag y la leemos sin problema:
Flag 4
De igual manera buscamos la flag 4, pero no podemos acceder directamente, necesitamos tener privilegios elevados:
No podemos tampoco cambiar los permisos, y solo podemos verlo con el usuario tomcat:
Vamos a ejecutar un linpeas para obtener un poco más de información. Encontramos algunas cosas interesantes:
Vemos que también hay un usuario tomcat, con el cual podríamos acceder con el Tomcat Manager desde la web, concretamente por el puerto 8080:

Haciendo un poco de enumeración, en el directorio /etc/tomcat9 encontramos un archivo .bak interesante, que contiene las credenciales del usuario tomcatadm:

Vamos a usar estas credenciales para loguearnos en el host manager:

Bingo! Ya estamos dentro. En el siguiente artículo encontramos un montón de información relevante para explotar un servidor Tomcat, concretamente vamos a subir un archivo .war malicioso que nos deveulva una reverse shell:
Creación de un .war malicioso
Subida de .war malicioso
En List Applications bajamos hasta la parte de Deploy, y cargamos el .war malicioso, pero antes abrimos un listener con Netcat por el puerto que le hemos especificado:

Esto nos levanta el .war, y al hacer click sobre el nombre pwn nos devuelve la conexión reversa:


Tratamiento de la TTY
Entramos con una shell un poco restrictiva, así que vamos a hacer un tratamiento de la TTY para movernos mejor por el sistema:
Flag 5
Este usuario Tomcat tiene algunos permisos de ejecución en el sistema:
El binario busctl es una herramienta que interactúa con el sistema D-Bus, lo cual puede explotarse para escalar privilegios, ya que permite comunicarse con servicios del sistema. En GTFOBins encontramos una guía de como elevar nuestros privilegios con busctl:

Buum! Ya somos root, y nos hacemos con la última flag, concretamente en el directorio root:
Última actualización
¿Te fue útil?
