Titulo: TryHackMe - Kenobi Writeup |
Fecha: 2021-06-16 |
Descripcion: Enumeracion - Samba - FTP - SSH |
TryHackMe - Kenobi Writeup
## Enumeracion:
Vamos a relizar una enumeracion de puertos mediante Nmap para ver que servicios tiene activos
nmap -sS -sV -Pn --open -n 10.10.109.37
Mediante los Script de Nmap vamos a enumerar los servicios de Samba , ya que tenemos el puerto abierto
nmap -p 445 --script=smb-enum-shares.nse,smb-enum-users.nse 10.10.109.37
Vamos a intentar verificar los recursos compartidos de samba mediante anonymous , para ello vamos a utilizar la herramienta smbclient
smb client //10.10.109.37/anonymous
Vamos a ver un fichero log en formato de texto , vamos a proceder a descargar ese fichero y ver que contiene
Se puede observar que es una key de SSH
## Enumeracion RPCBIND:
En el escaneo de Nmap veiamos que teniamos el puerto 111 abierto , donde se ejecutaba el servicio rpcbind , es un servidor que convierte el numero de programa de llamada a procedimiento remoto en direcciones universales
Vamos a enumerar el sistema de archivos de red , mediante los scripts de NSE de Nmap
nmap -p 111 --script=nfs-ls,nfs-statfs,nfs-showmount 10.10.109.37
No encontramos nada interesante , por lo que vamos a seguir enumerando activos , tenemos un servicio ftp llamado ProFTPD en la version 1.3.5 corriendo en el puerto 21
## Explotacion FTP:
Mediante la herramienta searchsploit que esta conectada directamente con exploitdb vamos a buscar exploit sobre el servicio ProFTPd
searchsploit ProFtpd 1.3.5
Vamos a ver 3 exploits que se van a poder utilizar , 2 de ellos nos interesan para la explotacion de la maquina , entre ellos nos vamos a quedar con el que no utiliza Metasploit
Si mediante nc nos conectamos al servicio
La salida muestra un modulo de exploit mod_copy. Este modulo nos permite usar SITE CPFR y el comando SITE CPTO para copiar archivos/directorios de un lugar a otro en el servidor
Tenemos que tener en cuenta que tenemos un fichero llamado log.txt que el servicio ftp se esta ejecutando como el usuario de Kenobi y se genera la clave ssh para ese usuario
Tambien sabemos que tenemos acceso al directorio /var , que podemos montar en nuestro sistema. La clave privada de Kenobi se puede copiar al directorio /var/tmp
Por lo que vamos a montar el sistema var en un directorio que vamos a crear llamado /mnt/KenobiNFS/
sudo mount 10.10.109.37:/var /mnt/KenobiNFS/
Ahora que tenemos el montaje de red en nuestra maquina , podemos obtener la clave privada que se puede usar para iniciar sesion mediante SSH
sudo cp id_rsa [directorio]
## SSH:
Gracias al id_rsa vamos a poder logearnos mediante el usuario Kenobi sin proporcionar contraseƱa
sudo ssh -i id_rsa kenobi@10.10.109.37
## FLAG USER.txt:
Ya dentro del usuario Kenobi ya podremos visualizar el flag
## Escalada de Privilegios:
Ahora tenemos que buscar permisos SUID para poder ejecutar tareas como el usuario Root , es un tipo especial de permiso. Los bits de UID puede ser extremadamente peligrosos.
Algunos binarios como passwd deben ejecutarse con privilegios elevados. Podemos buscar en el sistema para buscar archivos con el bit SUID , que nos sirva para escalar privilegios
find / -perm -u=s -type f 2>/dev/null
Tenemos algo interesante /usr/bin/menu
Al ejecutar el binario , nos da 3 opciones. Las 3 opciones no son muy interesantes , pero usando el comando strings podemos buscar cadenas legibles por personas en un binario
Realizando el siguiente proceso vamos a poder obtener los permisos de administrador
Y ya podemos ver el flag de ROOT , tendriamos la maquina explotada