Enumeración de Autentificación
Piensa en ti como un detective digital. No se trata sólo de recoger pistas sino de entender lo que estas revelan sobre la seguridad del sistema. Esto es en esencia de lo que se trata la enumeración de autentificación.
La enumeración de autentificación es como pelar capas de una cebolla. Eliminas cada capa en busca del funcionamiento interno del sustema. No se trata de un escaneo rutinario, sino de ver cómo todo conecta.
Identificar Nombres de Usuario Válidos
Saber nombres de usuario válidos permite a un atacante centrarse en obtener la contraseña. Puedes adivinarlos de diferentes maneras, como observar cómo la aplicación responde durante el login o los reseteos de contraseña. Por ejemplo, mensajes de error que digan "Esta cuenta no existe" o "Contraseña incorrecta" pueden dar pistas a cerca de si la cuenta en cuestión existe.
Políticas de Contraseñas
Las normas al crear contraseñas pueden ofrecer información valiosa sobre la complejidad de las contraseñas usadas en una aplicación. Entendiendo estas políticas, un atacante puede medirla complejidad potencial de las contraseñas y ajustar su estrategia.
Por ejemplo el siguiente código PHP usa regex para requerir que la contraseña incluya símbolos, números y letras matúsculas:
<?php $password = $_POST['pass']; // Ejemplo1 $pattern = '/^(?=.*[A-Z])(?=.*\d)(?=.*[\W_]).+$/'; if (preg_match($pattern, $password)) { echo "Password is valid."; } else { echo "Password is invalid. It must contain at least one uppercase letter, one number, and one symbol."; } ?>
Sitios Comunes para Enumerar
Las aplicaciones están llenas de funcionalidades que hacen las cosas más fáciles para los usuarios pero que también pueden exponerlos a riesgos.
Páginas de Registro
Las aplicaciones web normalmente hacen que el registro de usuario sea directo e informativo indicando que el usuario escogido ya existe o no. Aunque esto está diseñado para mejorar la experiencia del usuario, puede tener un doble propósito para un atacante.
Funcionalidades de Reseteo de Contraseñas
Los mecanismos de reseteo de contraseñas están diseñados para ayudar a los usuarios a ganar acceso a su cuenta de nuevo después de olvidar la contraseña. Sin embargo, las respuestas de la aplicación pueden revelar información sensible.
Verbosidad de Errores
Los mensajes de error durante los intentos de inicio de sesión pueden revelar demasiado. Cuando estos mensajes se diferencian entre "usuario no encontrado" y "contraseña incorrecta", se intenta que los usuarios entiendan los errores del inicio de sesión. Sin embargo pueden ofecer pistas definitivas para los atacantes.
Información de Brechas de Seguridad
La información de brechas de seguridad anteriores son una mina de oro para los atacantes ya que permiten testear su nombres de usuario y contraseñas siguen siendo utilizados.
