Posts Tryhackme - Kenobi
Post
Cancel

Tryhackme - Kenobi

banner!

Introducción

En este write up de la máquina Kenobi, veremos temas cómo manipular una versión vulnerable de proftpd para ganar acceso inicial y escalar privilegios con binarios SUID

Acceso Inicial

Primero haremos un escaneo con Nmap con el comando sudo nmap -sS -sV -T4 IP y esto nos muestra el output

1!

también le podemos agregar un script de nmap, en este caso le agregamos el script llamado “vuln”

2!

Podemos ver que hay varios puertos abiertos, así que empezamos a examinarlos en orden, partimos con el puerto 21(FTP) y si comprobamos la versión del PROFTPD con searchsploit para ver si hay exploits disponibles

3!

Efectivamente hay exploits disponibles para la versión 1.3.5, el exploit “mod_copy” en resumen consiste en que cualquier usuario sin privilegios puede copiar cualquier archivo del sistema a cualquier destino, esto se puede aprovechar para mover directorios completos y obtener información sensible etc.

Ahora vamos a seguir examinando puertos, esta vez vamos a enumerar SMB shares con el comando nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse IP este es el output

4!

Solo tenemos acceso a Anonymous así que vamos a ver que hay dentro con el siguiente comando smbclient//ip/anonymous

hacemos un ls y vemos un archivo llamado “log.txt”

5!

No podemos hacer cat ni nada similar para poder ver lo que hay dentro, entonces vamos a tener que hacer una descarga recursiva a nuestra máquina local con smbget el comando para hacerlo sería así smbget -R smb://<ip>/anonymous

6!

Una vez descargado, podemos ir viendo que cosas interesantes encontramos dentro de “log.txt”, podemos ver que se han creado claves ssh(id_rsa), donde se encuentra el puerto del proftpd(21)

7!

Ahora vamos a escanear RPC(111) con el comando nmap -p 111 --script=nfs-ls,nfs-statfs,nfs-showmount 10.10.112.6 y podemos ver que está montado “/var”

8!

Nos conectamos con netcat al servidor de ProFTPD en el puerto 21

9!

Y ahora copiamos el id_rsa de Kenobi al directorio /var/tmp/id_rsa

10!

Ahora vamos a tener que montar el directorio /var/tmp en nuestra máquina con los siguientes comandos

1
2
3
mkdir /mnt/kenobiNFS
mount ip_maquina:/var /mnt/kenobiNFS
ls -la /mnt/kenobiNFS

11!

Ahora podemos ir a /var/tmp y copiar la llave id_rsa de Kenobi a nuestra máquina y entrar via SSH

12!

Escalando Privilegios

Ahora vamos a buscar ficheros SUID con el siguiente comando find / -perm -u=s -type f 2>/dev/null

13!

Observamos algo fuera de lo común “/usr/bin/menu”

Lo ejecutamos y nos da 3 opciones, tampoco se puede ver el código fuente así que vamos a usar el comando “strings” para ver los caracteres legibles dentro de cualquier archivo y vemos que el binario no está corriendo con una ruta absoluta

14!

Podemos abusar de esto de la siguiente manera

Nos vamos a /tmp, hacemos un echo /bin/sh dentro de curl, le damos los permisos correspondientes y modificamos la ruta para que lo primero que el script revise sea el directorio /tmp, quiere decir que el script cuando encuentre algo llamado “curl” en realidad va a estar ejecutando bash por lo tanto nos va a dar r00t

15!

Y listo ;)

This post is licensed under CC BY 4.0 by the author.