En los últimos exámenes de las convocatorias de las
becas Talentum Startups de Telefónica, una de las preguntas que realizamos a los candidatos, para ver qué tipo de contacto o conocimientos tienen sobre seguridad informática, es qué prioridad tiene la exposición de datos sensibles frente a otro tipo de amenazas, todas ellas, recogidas en el informe
Top Ten de la OWASP.
|
Figura 1: Un pentesting usando OWASP Top Ten 2017:
Sensitive Data Exposure, Security Misconfiguration & Code Injection |
A veces nos encontramos con que las vulnerabilidades de inyección de código, situadas en las primeras partes de la lista son las más importantes, pero como se ve en el libro de
Hacking Web Technologies, otro tipos de vulnerabilidades menores pueden ser el indicio para encontrar fallos que permitan llegar al corazón del sistema. En el informe
OWASP TOP TEN 2017, la exposición de datos sensibles ocupa el sexto lugar.
|
Figura 2: Posición de "Sensitive Data Exposure" en el ranking OWASP Top Ten 2017 |
A priori, puede parecer que la exposición de datos sensibles puede tener poco peso específico en comparación con otro tipo de riesgos recogidos en el informe, pero, como veremos en el siguiente artículo, la exposición de datos sensible puede desvelar otros vectores de ataque por los cuales un atacante puede obtener información realmente crítica de una organización, simplemente haciendo correctamente la fase de
footprinting de toda auditoría.
Transferencia de Zona
En un
ethical hacking realizado dentro de un entorno donde se haga uso de un servicio de
DNS a nivel interno de la organización, una de las cosas que siempre hay que mirar es si el servidor que soporta la resolución de nombres está bien configurado, por ejemplo, no permitiendo que el servidor primario de una zona revele nombres y direcciones
IP de las máquinas que forman esa zona. Para ello,
basta detectar la máquina que aparezca en el registro SOA y ésta sera quién tenga conocimiento de los nombres y direcciones
IP de la zona.
|
Figura 3: Servidor primario DNS y dirección e-mail del administrador del dominio. |
Una vez detectado el servidor de nombres que conoce la zona, el siguiente paso es hacer que sea nuestro servidor de nombres y realizarle la
petición de transferencia de zona preguntándole por todas las máquinas que están bajo el nombre de dominio principal donde él se encuentra.
|
Figura 4: Petición de transferencia de zona del dominio objetivo |
Si el servidor de nombres primario de la zona no está bien configurado, arrojará todos los
hostnames y las direcciones IP de las máquinas que forman la zona que él controla, como sucede en este caso:
|
Figura 5: Extracto de la información de la zona devuelta por el DNS primario |
Aunque, como recoge la OWASP Top Ten, no salgan a priori datos confidenciales, la transferencia de zona nos aporta una información más que interesante para probar otros vectores de ataque, como veremos a continuación y, por supuesto, es un fallo de seguridad que se debe evitar en la configuración de cualquier servidor DNS de una organización.
Inyección de código
Tal y como recoge el
Top Ten de OWASP, en 2017 la vulnerabilidad con más criticidad en entornos web sigue siendo la inyección de código. La transferencia de zona anterior nos revela una web que puede que sea vulnerable a
inyección de código SQL.
|
Figura 6: Sitio web posiblemente vulnerable a SQLi |
Automatizando el ataque
SQLi con la herramienta
sqlmap que viene con
Kali Linux 2, parece que hay un parámetro enviado por
GET al servidor donde poder inyectar código
SQL y
JavaScript.
|
Figura 7: Posible parámetro GET vulnerable a SQLi y XSS |
Al final, se comprueba cómo realmente es posible
inyectar código SQL por el parámetro indicado, junto con los diferentes
payloads que aprovechan la vulnerabilidad señalada para, en este caso, extraer información del motor de la base de datos.
|
Figura 8: Parámetro vulnerable a SQLi y payloads que pueden aprovechar el bug |
Ejecutando el comando
sqlmap -u http://157.xxxxxxx.xxxx.php?Curso=2009 -p Curso --tables -T Miembros –dump es posible obtener los datos confidenciales almacenados sobre los miembros de la organización, como su cuenta de correo electrónico y su contraseña sin cifrar, algo que en el
OWASP TOP Ten del año 2007 estaba catalogado en puesto 8: Insecure Cryptographic Storage.
|
Figura 8: Información confidencial de algunos miembros de la organización |
Conclusiones
Puede parecer que la exposición de datos sensible, dentro del ranking establecido por la OWASP TOP Ten 2017 tenga menos importancia que el resto de vulnerabilidades que la preceden, pero gracias a esta relevación de información, a veces es posible descubrir y explotar otras vulnerabilidades con más peso dentro del Top Ten.
Además, aunque la
OWASP no incluya de manera explícita dentro de la
Exposición de Datos Sensibles la información a la que se puede acceder por culpa de un servidor de nombres mal configurado, puede arrojarnos pistas muy útiles a seguir en un test de intrusión y este fallo queda reflejado en el elemento 5:
Security Misconfiguration.
Autor: Amador Aparicio de la Fuente (@amadapa)
Escritor del libro "Hacking Web Technologies"
No hay comentarios:
Publicar un comentario