Kiba es una maquina de TryHackMe, involucra la explotacion de una vulnerabilidad en Kibana que permitió acceso con una shell inversa. Descubrimos un fichero con capabilities steuid para escalar privilegios.
Room
Titulo | kiba |
---|---|
Descripción | Identify the critical security flaw in the data visualization dashboard, that allows execute remote code execution. |
Puntos | 480 |
Dificultad | Facil |
Maker |
NMAP & MASSCAN
Escaneo de puertos tcp, nmap nos muestra el puerto 5601, puerto http (80) y el puerto ssh (22) abiertos.
|
|
HTTP
Encontramos una pagina web en el puerto 80 con una imagen ASCII de Cicada y con una frase interesante "linux capabilities"
.
GOBUSTER
Utilizamos gobuster para busqueda de directorios y archivos, no encontramos nada interesante.
|
|
HTTP PUERTO 5601
Encontramos el dashboard de kibana.
Realizamos un query (_aliases
y .kibana/_search
ambos GET) en la consola de Dev Tools
para ver la version de kibana y vemos que es 6.5.4
.
KIBANA < 6.6.0 - RCE
Realizamos una busqueda de posibles exploits o vulnerabilidades para esta version de Kibana y encontramos un PoC que permite ejecutar comandos a traves de la “contaminacion de un objeto”. Encontramos informacion de otros dos payloads y de como parchar esta vulnerabilidad en Github.
Utilizamos el payload para obtener una shell inversa con los pasos que se muestran en el slide y logramos obtener una shell.
|
|
Logramos obtener nuestra flag user.txt
.
PRIVILEGE ESCALATION
Hacemos una pequeña enumeracion y vemos algunas configuraciones realizadas en un archivo que se encuentra en la carpeta principal que esta relacionada con capabilities, lo cual esta relacionado con la frase que encontramos en la pagina del puerto 80.
Realizamos una enumeracion con getcap -r / 2>/dev/null
para verificar que el archivo visto en el historial contiene estas “capacidades” (similares a los SUID). Vemos que aparece junto a otros.
Realizamos la explotacion de este archivo, que es python3 para obtener una shell root y nuestra flag root.txt
.
|
|
Informacion: