Tryhackme Kenobi

Nmap

Ahora hacemos un reconocimiento con nmap para detectar que puertos estan abiertos en el host.

Ahora lanzamos una nmap para ver que versiones y servicios corren para estos puertos que encontramos abiertos.

En el escaneo de Nmap observamos que tenemos 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

Samba

Vamos a intentar verificar los recursos compartidos de samba mediante anonymous , para ello vamos a utilizar la herramienta smbclient

Observamos que logramos entrar y tenemos un archivo el cual nos lo descargamos a local para observar que nos dice.

log.txt

Se puede observar que es una key de SSH

Explotacion FTP

Vamos a ver exploits que se van a poder utilizar, el FILE COPY

Aca tenemos el POC del exploit, nosotros lo adecuaremos a nuestras necesidades.

NC

Vamos ah 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

Montura

Por lo que vamos a montar el sistema var en un directorio que vamos a crear llamado /mnt/KenobiNFS/

sudo mount 10.10.102.103:/var /mnt/KenobiNFS/

id_rsa

Ahora que tenemos el montaje de red en nuestra maquina , podemos obtener la clave privada que se puede usar para iniciar sesion mediante SSH

Nos la copiamos a nuestra maquina local y le cambiamos los permisos para usarla para loguearnos por ssh usandola.

ssh

Como observamos nos podemos conectar usando la clave id_rsa, obtenemos la primera flag la del usuario.txt, ahora vamos por la segunda la de root.txt.

Observamos que si intentamos ingresar al directorio /root no podemos no tenemos los permisos suficientes, asi que hay que escalar privilegios.

Escalada de privilegios, PATH

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.

Usando el comando strings podemos observar que por ahi anda curl, ifconfig, lo cual si su ruta no es absoluta y es relativa, podemos hacer un secuestro del PATH

Realizando el siguiente proceso vamos a poder obtener los permisos de administrador

Punto uno estando en la ruta /dev/shm y hora si listo mi PATH con el comando echo $PATH me sale la ruta de mi PATH que /usr/local etc,etc

Punto dos sabiendo la ruta del PATH, ahora podriamos exportar el PATH y decirle que su inicio sea en /dev/shm y no como sale en el punto uno que su inicio es /usr/local etc,etc

Ahora vemos mas abajo que si listo mi PATH despues de haberlo exportado, vemos que ahora no inicia desde /usr/local etc si no que inicia desde /dev/shm:/usr/local etc. ya con esto echo nos queda poco por escalar nuestros privilegios

root

Nos ejecutamos el binario ./usr/bin/menu y no vemos nada como cuando lo ejecutamos por primera vez no vemos ese estilo de curl lo que significaria que ejecuto nuestro curl y no el original.

Punto dos hacemos un bash -p para usar la bash y elevar nuestros privilegios y buscar la flag que siempre esta en el directorio /root/root.txt

MAQUINA RESUELTA

Última actualización