OWASP Top 2 – Ataques en sistemas de autenticación

OWASP Top 2 se consideran como el segundo procedimiento más usado para vulnerar sitios Web empresariales.

La prevalencia de este tipo de ataque está muy extendida debido al diseño e implementación de la mayoría de los controles de identidad y acceso. La administración de sesiones es la base de los controles de autenticación y está presente en todas las aplicaciones.

Los atacantes pueden detectar este tipo de vulnerabilidad utilizando medios manuales y explotarlos utilizando herramientas automatizadas con listas de contraseñas y ataques de diccionario.

La mayoría de los ataques de autenticación se producen debido al uso continuo de contraseñas como único factor. Las políticas de rotación y los requisitos de complejidad en las contraseñas que no han sido bien diseñados son causantes de este tipo de vulnerabilidad, entre otras.

OWASP Top 2 – Anatomía de un ataque a un sitio Web

Analicemos un ataque simple que vulnera el sistema de autenticación de un sitio web usando OWASP-ZAP:

Al conectar un sitio web a OWASP-ZAP, ingresamos cualquier nombre de usuario y contraseña para obtener el método “POST” justo después de hacer clic en “Login”:

Esta es la configuración inicial para vulnerar el sistema de autenticación en la mayoría de las aplicaciones web. Luego, agregamos listas de palabras que incluyen nombres de usuario y contraseñas para ambos parámetros (USER y PASS):

OWASP Top 2

Estamos listos para encontrar el nombre de usuario y la contraseña sin conocerlos de antemano:

OWASP-ZAP pudo identificar tres posibles combinaciones que se distinguen del resto que tienen una respuesta de tamaño diferente:

Probamos la primera combinación de nombre de usuario y contraseña “admin, P4ssw0rd” y obtenemos acceso a un sistema al cual no tenemos autorización de entrar.

Y el sistema de autenticación ha sido vulnerado.

Este es uno de los muchos ataques relacionados con sistemas de autenticación.

Veamos las razones por las cuales este tipo de ataque está aumentando:

La configuración del tiempo de espera no está configurada correctamente en muchas páginas web o sistemas de autenticación.

¿Ha notado que a veces ingresa su nombre de usuario y contraseña para realizar diferentes tareas en un sitio web; luego, cierra la página para volver a abrirla unos minutos más tarde y no le pide sus credenciales? Bueno, ese es un problema de configuración de tiempo de espera. Ahora, si realiza la misma tarea en un computador público, la próxima persona que se siente enfrente de ese computador podría abrir el sitio web y tener acceso a todos los recursos de la compañía conectados a ese sitio web.

El nombre de usuario y contraseña nunca has sido cambiados desde que el sistema fue instalado para producción.

Impresoras, servidores Tomcat, enrutadores, cortafuegos, sistemas Wi-Fi, etc. Este problema es especialmente peligroso cuando el sistema permite la ejecución remota de comandos en otros servidores como la aplicación Jenkins o ESET Antivirus por nombrar algunos.

Contraseñas débiles.

¿Cuándo fue la última vez que se auditaron las credenciales en las aplicaciones de la empresa? ¿Conoce todas las aplicaciones que requieren autenticación en su sistema de producción? ¿Sabe si estas aplicaciones usan contraseñas débiles? Preguntamos al respecto porque hemos visto innumerables aplicaciones que solicitan contraseñas como 1234, 123456 o 654321 para un nombre de usuario predeterminado que generalmente es “Admin”.

Para aumentar la seguridad de un entorno de producción, esas contraseñas débiles deben cambiarse por otras de mayor complejidad.

No hay un número determinado para aceptar intentos de login.

La única razón por la cual los ataques de fuerza bruta tienen éxito es porque los administradores no establecen políticas de bloqueo. Por ejemplo, si un usuario no recuerda su contraseña y puede ejecutar infinitos intentos para entrar a su cuenta sin esta bloquearse, significa que hackers pueden usar esta misma configuración para tratar incontables nombres de usuarios y contraseñas hasta dar con la combinación correcta.  

Este tipo de ataque puede ser aún mucho más complejo. Existen técnicas que incluyen la manipulación de identificadores de sesión, tokens y cookies que se pueden utilizar para generar un acceso no autorizado.

¿Cómo puede ayudarme Seguridad-Ofensiva a mantener mi sitio web corporativo seguro?

Seguridad-Ofensiva pondrá a prueba sus sitios web corporativos y sus bases de datos. Utilizamos escáneres avanzados, pruebas de penetración manual y diferentes técnicas y procedimientos que pueden incluir rastreo, forzamiento bruto, revisión de código y permisos de carpeta. Hacemos todo esto en coordinación con su personal interno encargado de sus sistemas de información. Estos procedimientos son necesarios para averiguar si las posibles vulnerabilidades son falsos positivos o vulnerabilidades reales. Si son vulnerabilidades reales, le proporcionaremos métodos efectivos para parchar, actualizar o eliminar la vulnerabilidad de acuerdo con la situación para mantener su entorno seguro.

Recursos adicionales con relación a este tipo de ataque

https://owasp.org/www-project-top-ten/OWASP_Top_Ten_2017/Top_10-2017_A2-Broken_Authentication.html

https://github.com/danielmiessler/SecLists/tree/master/Passwords

Vulnerabilidades basadas en CWE Ranking

NIST 800-63b: 5.1.1 Memorized Secrets

CWE-287: Improper Authentication

CWE-384: Session Fixation

Otras vulnerabilidades pertenecientes a OWASP

Uso de componentes con vulnerabilidades conocidashttps://seguridad-ofensiva.com/blog/owasp-top-10/uso-de-componentes-con-vulnerabilidades-conocidas-owasp-top-9/

Deserialización insegurahttps://seguridad-ofensiva.com/blog/owasp-top-10/deserializacion-insegura-owasp-top-8/

Seguridad no configuradahttps://seguridad-ofensiva.com/blog/owasp-top-10/seguridad-no-configurada-owasp-top-6/

Control de acceso vulnerable: https://seguridad-ofensiva.com/blog/owasp-top-10/control-de-acceso-vulnerable-owasp-top-5/

Exposición de datos confidenciales: https://seguridad-ofensiva.com/blog/owasp-top-10/exposicion-de-datos-confidenciales-owasp-top-3/

Ataques por Inyección SQLhttps://seguridad-ofensiva.com/blog/owasp-top-10/ataques-por-inyeccion-sql/

Registro y monitoreo insuficiente: https://seguridad-ofensiva.com/blog/owasp-top-10/registro-y-monitoreo-insuficiente-owasp-top-10/

Entidades externas XML vulnerables: https://seguridad-ofensiva.com/blog/owasp-top-10/entidades-externas-xml-vulnerables-owasp-top-4/

Leave a Reply

Your email address will not be published. Required fields are marked *