Más Allá de las Vulnerabilidades: Análisis de Aplicacion con Autenticación Passwordless

En muchas auditorías o pruebas de pentesting, no siempre encontraremos vulnerabilidades evidentes. A menudo, nos enfrentaremos con aplicaciones web desarrolladas utilizando enfoques de última tecnología, lo que puede dificultar la posibilidad de identificar vulnerabilidades.

Es importante que los lectores comprendan que la revisión de este aplicativo tiene un propósito que va más allá de descubrir posibles fallos de seguridad. El objetivo principal es que los estudiantes tengan su primer acercamiento con un aplicativo web de este tipo, basado en autenticación sin contraseñas (passwordless authentication) y que implementa metodologías modernas como FIDO2, Magic Link y SMS OTP Step-Up.

Esta revisión busca que los estudiantes entiendan cómo funcionan estos métodos de autenticación avanzados, cómo se integran en aplicaciones web modernas y qué consideraciones de seguridad deben tenerse en cuenta. Al realizar este análisis, los estudiantes podrán apreciar la complejidad y las buenas prácticas en la implementación de tecnologías de última generación, preparándolos mejor para futuras auditorías y desafíos en el campo de la ciberseguridad.


La URL del aplicativo web que estaremos revisando es:
https://d3ghvinynpdcuw.cloudfront.net/
Vamos a iniciar accediendo al navegado e identificamos su tecnología con Wappalyzer:


Al ingresar cualquier correo, se recibe el siguiente error:



Este error nos indica que debemos utilizar un usuario registrado.
Para los siguientes pasos, será necesario crear un usuario en el UserPool de esta aplicación web. Utilizaremos los permisos del usuario IAM llamado Gerard, cuyas credenciales fueron encontradas en un bucket de Amazon S3.

Este usuario tiene las siguientes políticas adjuntas:

(Ejecutar el siguiente comando las credenciales del usuario cpna.student)



Y los permisos interesantes se encuentran en la política llamada:  

Admin-UserPool-Passwordless



Estos permisos nos permiten crear usuarios en el UserPool.

Por lo anterior, vamos a iniciar sesión con el usuario Gerard y luego se creará un usuario en el UserPool de Cognito

Vamos a autenticarnos con el usuario Gerard:



Y ejecutamos el siguiente comando para crear el usuario:



Se recomienda la siguiente lectura:

https://books.spartan-cybersec.com/cpna/introduccion-a-cognito/tecnicas-y-tacticas-ofensivas-en-cognito/cognito-idp-admincreateuser

Complete and Continue