OWASP TOP 10: Sensitive Data Exposure

Ya estamos en el número tres del TOP 10 de OWASP sobre vulnerabilidades Web, así que aprendamos sobre Sensitive Data Exposure, o lo que es lo mismo, cualquier tipo de información importante que esté expuesta a Internet.
Esta vulnerabilidad se refiere a todos los datos que pudiesen quedar expuestos, sin protección ni cifrado y que representan algún valor para la empresa o la persona que es dueña de ellos, por ejemplo: datos bancarios, información personal o familiar, información de usuarios y contraseñas, bases de datos e incluso información sobre la arquitectura de una red.

Explotar esta vulnerabilidad realmente no es difícil, si bien es algo muy sencillo, requiere ya de cierta experiencia para saber en dónde buscar o qué herramientas utilizar para encontrar algo importante.

Vamos a ver un ejemplo:

1.- Abrimos nuestro navegador web, el que tu quieras, y vamos a Google. Ya estando en el buscador, escribimos lo siguiente en el campo de búsqueda:
intext:DB_PASSWORD || intext:"MySQL hostname" ext:txt
Esta búsqueda lo que le está diciendo al motor de Google es que nos encuentre, en cualquier archivo con extensión .txt, las cadenas de texto DB_PASSWORD o MySQL hostname y una vez que haya encontrado algo así, nos muestre los resultados.

2.- El primer resultado que aparece es nuestro más claro ejemplo de este tipo de vulnerabilidad. Vamos a entrar en ese enlace y ver lo que podemos encontrar.
Y así de sencillo hemos ya encontrado información expuesta que obviamente no debería de estar ahí, a la vista de todo el mundo.

Lo importante aquí, es aplicar esto en nuestras Pruebas de Intrusión (pentest) y filtrarlo de manera que solamente nos arroje resultados del dominio que estemos auditando.

Obviamente esta no es la única forma de encontrar información expuesta, existen herramientas como wikto, nikto, burpsuite, theharvester, entre muchas otras que nos permitirán obtener información importante para nuestras pruebas de intrusión.

Mitigación
Es muy recomendable realizar un hardening adecuado del servidor web que tendrá montadas las aplicaciones y demás archivos de configuración de las mismas, así como de las bases de datos, para que nadie en Internet tenga acceso a estos archivos ni directorios. También se recomienda que los usuarios y contraseñas no sean almacenados en "texto claro" dentro de los ficheros.

Comentarios