Tuesday, December 6, 2016

Examen del Máster de Seguridad de la UEM 2016

Examen del Máster de Seguridad de la UEM 2016


Como viene siendo tradición, un año más he vuelto a "torturar" a mis alumn@s con un examen al final del módulo dedicado a la seguridad de las aplicaciones. No me gusta ser excesivamente maligno, así que más o menos pongo siempre los mismos exámenes pero cambiando las preguntas porque, en este módulo de 16 horas, yo quiero que se lleven claros algunos conceptos básicos fundamentales. Estas son las preguntas que les tocó responder ayer a última hora. Anímate a responderlas.

Figura 1: Examen del módulo de Seguridad en las Aplicaciones del
Máster de Seguridad de la UEM. Curso 2015 -2016

A ver si saco algo de tiempo para responderlas yo - y las del último examen que también las dejé sin responder - para que tengáis la información completa. Al final os dejo la lista de exámenes de años anteriores.
1.- Tu organización dispone de una aplicación web de cara a internet consistente en ofertar productos y servicios con pasarela de pago propia desarrollada para una plataforma Java utilizando tecnologías Linux. Los datos de registro de los clientes, así como los pedidos solicitados se almacenan en una base de datos MySQL de la empresa, gestionando todo el proceso a través de la lógica de negocio. ¿Qué mecanismos de protección consideras que deberían implantarse en cuanto a la arquitectura de servidores y servicios se refiere? Cita reglas generales de fortificación y algunas medias concretas que creas convenientes para implantar.

2.- Una aplicación web de una empresa proporciona un proceso de autenticación que sospechamos un tanto curioso. Al analizar el código fuente de la página, vemos que la aplicación utiliza para el proceso de autenticación un Applet de Java con extensión JAR. Tras probar varios intentos de inicio de sesión, detectamos que no se produce Post-Back al servidor. ¿Qué fallo de seguridad podría tener esta aplicación y cómo debería investigarse?

3.- En qué consiste un ataque de tipo SQL Injection inband a una aplicación web. Pon algún ejemplo para sacar la lista de usuarios Tabla_USERS[Campo_Login, Campo_Password] de una web en un entorno vulnerable.

4.- Describe en qué consisten los ataques de Time-Based Blind SQL Injection y con qué tipo de funciones o métodos pueden realizarse en los motores de base de datos SQL Server, MySQL, Oracle y Access.

5.- Describe con tus palabras en qué consisten los ataques de LFI y cómo los podrías descubrir en una aplicación web durante un proceso de auditoría.

6.- Una aplicación web en PHP con MySQL es vulnerable a SQL Injection. Se quiere extraer la versión de Mysql realizando un ataque de Blind SQL injection. Describe el proceso que habría que realizar.

7.- En una aplicación web, la aplicación autentica a los usuarios con un árbol LDAP, para ello, cada usuario tiene un atributo uid y un atributo password. El programador ha filtrado el * y utiliza la función crypt antes de usar la contraseña en una consulta AND LDAP como ésta.

V_username: valor de usuario introducido en la página web por el cliente.
V_passwd: valor de contraseña introducido en la página web por el cliente.
C_passwd =crypt(v_passwd)
Consulta que da acceso o no a la aplicación:
(&(uid=+v_username+)(password=+c_passwd+))
¿Con qué inyección LDAP conseguirías entrar si la se está utilizando un árbol LDAP basado en OpenLDAP?

8.- Como administrador del sistema de tu organización, una mañana monitorizas que el antivirus corporativo reporta un malware en un directorio local del servidor donde tu empresa tiene alojado el sitio web. El archivo en cuarentena es un fichero denominado C99.php. ¿Qué tipo de ataque estás sufriendo y qué fallo o fallos de seguridad se ha/n podido aprovechar?

9.- Describe un posible método para robar una cookie marcada como HTTP-Only con un ataque de XSS y describe en qué entornos funcionaría.

10.- Describe como se puede hacer un proceso de hijacking de sesión a un usuario de una red social en la que las cookies no vayan por HTTP-s si en la web no se ha descubierto ninguna vulnerabilidad de código (ni SQLi, ni XSS).
Tiempo: 1 hora
Por si te animas a seguir, aquí tienes los exámenes de años anteriores, que también los he ido publicando en el blog.
- Examen Máster de Seguridad de la UEM 2009-2010
- Examen Máster de Seguridad de la UEM 2010-2011
- Examen Máster de Seguridad de la UEM 2011-2012
- Examen Máster de Seguridad de la UEM 2012-2013
- Examen Máster de Seguridad de la UEM 2013-2014
- Examen Máster de Seguridad de la UEM 2013-2014 (Herramientas auditoría)
- Examen Máster de Seguridad de la UEM 2014-2015
Saludos Malignos!

Available link for download