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