For the complete documentation index, see llms.txt. This page is also available as Markdown.

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