Como aprovecharse de que el metodo HTTP TRACE este activo

Iniciado por snow915, 17 Mayo 2019, 04:44 AM

0 Miembros y 1 Visitante están viendo este tema.

snow915

Hice un escaneo con "nikto" yme salio el siguiente resultado:
OSVDB-877: HTTP TRACE method is active, suggesting the host is vulnerable to XST

Quisiera saber como vulnerar XST (Cross Site Tracing) y a su vez como proteger dicho servidor y si es suficiente con especificarlo en el .htaccess

@XSStringManolo

#1
Para protegerte de la vulnerabilidad desactiva el TRACE en el servidor web. Se utiliza solo para debug y analisis.
Da igual que metas protecciones concretas contra por ejemplo XSS, denegando Active Scripts, se puede explotar con Java, Flash, vbscript, shockwave....

No te voy a indicar como explotarla sin más dandote un par de scripts, te voy a explicar como se realiza para que entiendas como funciona la vulnerabilidad, nada más.

TRACE es un metodo de peticiones. Basicamente responde a las peticiones que le hagas por el protocolo http.
Estas peticiones son enviadas a un servidor web que tenga TRACE disponible. El servidor entonces contesta a tu petición con la información que le mandes. Aquí tienes un ejemplo de una petición sencilla, fijate que el servidor me responde con la info que le mandé:

$ telnet ipdemiapache 80
Trying 127.0.0.1...
Connected to dominiodemiweb.bar
Escape character is '^]'.
TRACE / HTTP/1.1
Host: dominiodemiserver.bar
X-Header: holaxD
HTTP/1.1 200 OK
Date: Fri, 17 May 2019 17:15:47 GMT
Server: Apache/2.4.39 (Unix)
Content-Type: message/http
TRACE / HTTP/1.1
Host: dominiodemiserver.bar
X-Header: holaxD

Si la opción httponly está activa, no se permite insertar scripts para por ejemplo hacer ataques XSS al objeto document.cookie

Si intentas acceder al objeto con scripts se te devuelve el string vacio. Por lo que no puedes ver el contenido del string. Como no podemos sacar el string del objeto con scripts, podemos abusar de peticiones TRACE para buscar el string en sí.
Para esto necesitas editar las cabeceras con por ejemplo un proxy que intercepte tus peticiones para poder editar las cabeceras antes de ser enviadas al servidor web. En estas peticiones mandas un script con una funcion que abra TRACE en el target, y otra que abra el archivo que contiene el string usando por ejemplo ActiveX. El servidor te respondera con las cookies. Y ya nos saltamos la protección de httpOnly.  
Los navegadores suelen incluir una politica de protección de dominio para proteger de ataques XSS que te tienes que saltar. Asique tienes que buscar una vulnerabilidad en tu navegador o uno que no tenga estas politicas. Es muy sencillo en muchos casos.
Es repetir el proceso de antes explotando la vulnerabilidad del navegador en una peticion en la cual pidas las credenciales  mediante TRACE para que el servidor web te las mande.