Lo primero que haremos, como cada vez que vamos a hacer una máquina, es un escaneo de puertos con nmap para ver los puertos abiertos, servicios y versiones.
Como veis, tenemos abiertos dos puertos, el 22, con OpenSSH y el 80 con nostromo. No conocía nostromo antes de hacer esta máquina así que estuve echando un ojo a sus configuraciones por defecto y a las vulnerabilidades que tiene. Encontré un exploit para un rce (remote code execution) que me permitía tener una reverse shell. Lo ejecutamos mandando la shell a nuestra dirección y al puerto que coloquemos a la escucha.
Como veis ahora tenemos acceso a la máquina como "www-data". Podemos hacer un upgrade a la reverse shell con "
python -c 'import pty; pty.spawn("/bin/bash")'
", así ganamos funcionalidad.Ahora tenemos que buscar la forma de escalar a usuario. Para ello, empezaré viendo la carpeta /home a ver cuál es el nombre del usuario y buscaré en la carpeta de configuración de nostromo.
Esa es la ruta en la que se encuentra la configuración de nostromo y el archivo que queremos ver es nhttpd.conf, en él encontraremos cosas interesantes.
La parte que nos interesa es la de homedirs ya que vemos que hay uno llamado "public_www" al que queremos acceder. Veamos qué encontramos.
Como veis, en el directorio /home/david/public_www encontramos archivos que nos pueden resultar interesantes. Una forma de obtenerlos es mediante la web, ya que por la configuración por defecto de nostromo, podemos entrar a esos archivos poniendo en la url /~david, para indicar que es la carpeta personal del usuario, /protected-file-area porque es de donde queremos descargar los archivos.
Para obtener la contraseña vamos a volver a mirar en la carpeta de configuración de nostromo, donde vemos un archivo .htpasswd.
Con el hash que tenemos ahora podemos hacerle fuerza bruta con john y obtener la contraseña con la que acceder a los archivos protegidos. Para ello lo guardamos en un archivo, que en mi caso se llamará hash y usaré el diccionario rockyou.txt.
Como veis he obtenido la contraseña "Nowonly4me" que podré usar en la web para descargar los archivos. Probemos de nuevo.
Como veis, podemos descargar un archivo que parece contener claves ssh. Lo descargamos y hacemos igual que antes, fuerza bruta con john al id_rsa para obtener la passphrase y poder acceder como david al servidor. Para hacerle fuerza bruta tendremos que seguir lo visto en la última entrada.
Como veis, la contraseña es "hunter" y con ella podremos entrar por SSH usando el id_rsa como david.
¡Ya estamos dentro como david! Ahora falta escalar privilegios a root. Primero vamos a ver qué tenemos en la carpeta personal.
Este archivo es curioso. Como veis ejecuta como sudo la última línea y con esta línea y la ayuda de gtfobins podemos escalar privilegios.
¡Ya somos root! Y con esto terminamos la máquina.
Espero que os haya gustado la entrada y hayáis aprendido algo nuevo. Nos vemos otra semana con otra publicación.
No hay comentarios:
Publicar un comentario