viernes, 22 de mayo de 2015

Las Crónicas de una vulnerabilidad LFI

El motivo de este articulo es para contarles el como y cuando logre encontrar , explotar y reportar un fallo LFI en el sitio web de una universidad peruana

Primero comenzare definiendo que es una vulnerabilidad LFI , pues wikipedia lo define como

Inclusión local de Archivos - vulnerabilidad existente solamente en páginas dinámicas en PHP que permite el enlace de archivos locales situados en el servidor a causa de una mala programación de la página que contiene la función include().

En resumen puedo decir que básicamente se trata de la ejecución desautorizada de archivos locales (algunas veces puede ser remoto )en una aplicación web.

Aclaracion

Antes de leer el articulo permitanme aclarar que esta vulnerabilidad es en si un xss y no un LFI gracias a Federico Fernandez por la aclaracion.

El encuentro

Navegaba por Internet cuando decidí solo por casualidad visitar el sitio web de una universidad


Me puse a navegar un rato , cuando algo me llamo la atención






Me puse a pensar por que una aplicación usaría este tipo de enlace y no pude controlar la tentación de comprobar si aquel parámetro era vulnerable a  un ataque de SQLI así que decidí colocar la ya famoso y archiconocida (Camilla simple)  al final del URL , para mi sorpresa esto fue lo que me mostró aquella web


Sin duda  se trataba de un LFI , procedi a seguir experimentando lo segundo que se me ocurrió fue hacer aparecer un sitio web elegi http://www.desarrolloweb.com/ , esto fue lo que obtuve




Averiguando un Poco Mas

Se me ocurrió probar también si era posible incluir paginas escritas en  PHP  de aquellas que se usan para realizar consultas a base de datos , etc.
Por ejemplo el login a la Intranet que todas las universidades tienen para mi sorpresa , si era posible.



Después se me ocurrió una manera de explotar esta vulnerabilidad pensé en un ataque de Phishing 

Preparando el Ataque

1: Clone la pagina de la intranet y la modifique para que mandara el usuario y el password a un servidor controlado por mi , y después rideccione a la verdadera intranet.
2: Subí la pagina clonada a un servidor.
3: Usando el fallo LFI , genere un enlace que incluye la pagina clonada en la web de la universidad
4: Mande el enlace a algunos estudiantes de la universidad y comprobé que esta Prueba de Concepto funcionaba.


Asesinando el Fallo

Después de esto  pensé que no seria bueno que a alguien mas  hiciera lo que yo he hecho ya que se podrían robar muchas cuentas de la intranet , por eso pensé que lo mejor era reportar el fallo al administrador de la web.