Configurar un parámetro como ReturnURL en un proceso de autenticación es bastante común. La lógica detrás del programador de algunas de estas aplicaciones es sencilla. El usuario pide una URL que está protegida por una sesión autenticada, pero el usuario que ha demandado esa URL no lo está, así se hace un redirect a la página de Login con un parámetro ReturnURL que es la URL a la que debe navegar la web después de que termine el proceso de Login. Muy sencillo, pero si se hace mal, un posibile problema de seguridad.
Y es que si cualquier atacante puede manipular el valor de ReturnURL para poner la URL que quiera, y el código que procesa el valor de ReturnURL después de que se haya autenticado hace la redirección sin comprobar la seguridad del mismo, entonces se puede tener Perfect Phishing. Es decir, un enlace a la URL del sitio legítimo que cuando el usuario la visite y se autentique, llevará a una URL maliciosa para hacer lo que quiera.
Figura 1: Google Search Perfect Phishing con ReturnURL además de BlackSEO
Y es que si cualquier atacante puede manipular el valor de ReturnURL para poner la URL que quiera, y el código que procesa el valor de ReturnURL después de que se haya autenticado hace la redirección sin comprobar la seguridad del mismo, entonces se puede tener Perfect Phishing. Es decir, un enlace a la URL del sitio legítimo que cuando el usuario la visite y se autentique, llevará a una URL maliciosa para hacer lo que quiera.
Podrá lanzar un exploit, intentar instalar malware, o simplemente ir a una URL de Phishing de este sitio solicitando otra vez la contraseña pero esta vez con un dominio alojado en un sitio de typosquatting, tan común para engañar a víctimas.
Si además, esta URL maliciosa, con el parámetro ReturnURL malicioso se puede indexar en Google con técnicas de SEO, dando de alta la URL en el buscador con técnicas de BlackSEO, pues tendrás una URL maliciosa de Perfect Phishing, indexada en Google para el dominio legítimo, con lo que será un Google Search Perfect Phishing, igual que cuando hablaba de los Cross-Site Scripting Google Persistentes.
Esto, los veteranos del desarrollo seguro lo tienen bastante controlado, sobre todo en aquellos sitios en los que el parámetro ReturnURL se usa para marcar URLs de redirección cuando hay situaciones de error, inesperadas, o simplemente para hacer un servicio de "volver atrás", pero sorprende la cantidad de sitios que aún tiene este problema de seguridad.
Jugando con esto, que son temas de los que hablamos en el libro de Hacking Web Technologies 3ª Edición, es fácil encontrar en Google muchos sitios que hacen uso de parámetros de ReturnURL, y buscando con términos utilizados habitualmente en el mundo del BlackSEO aquellos que ya están explotados e indexados, como este caso de este dominio.
Basta con darse cuenta en la URL como se ha aprovechado un mal procesamiento de este parámetro por parte del programador, así que añadiendo un dominio sin protocolo (http/s) se hace una redirección perfecta. Teniendo en cuenta que no tiene protección contra indexación usando los parámetros de indexación adecuados, quedan en Google perfectamente indexados.
Así que, si alguien quiere hacer una web de phishing de un dominio como el anterior, y la indexa, tendrá un Google Perfect Phishing para éste, o cualquier otro dominio que tenga un ReturnURL vulnerable, y un dominio indexable por BlackSEO. Al final, cualquier debilidad sumada a cualquier vulnerabilidad, facilita esquemas de ataques que automatizados pueden hacer daño a tu organización.
Figura 3: Cross-Site Scripting Google Persistentes
Figura 4: Sitio web explotado con BlackSEO por ReturnURL
Figura 5: Libro de "Hacking Web Technologies Silver Edition"
Ricardo Martín y Chema Alonso
Figura 6: ReturnURL vulnerable explotado
Basta con darse cuenta en la URL como se ha aprovechado un mal procesamiento de este parámetro por parte del programador, así que añadiendo un dominio sin protocolo (http/s) se hace una redirección perfecta. Teniendo en cuenta que no tiene protección contra indexación usando los parámetros de indexación adecuados, quedan en Google perfectamente indexados.
Figura 7: El dominio redirige con BlackSEO a diferentes URLs... de todo tipo
Así que, si alguien quiere hacer una web de phishing de un dominio como el anterior, y la indexa, tendrá un Google Perfect Phishing para éste, o cualquier otro dominio que tenga un ReturnURL vulnerable, y un dominio indexable por BlackSEO. Al final, cualquier debilidad sumada a cualquier vulnerabilidad, facilita esquemas de ataques que automatizados pueden hacer daño a tu organización.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)
No hay comentarios:
Publicar un comentario