AdminSetUserSettings | SetUserMFAPreference | SetUserPoolMfaConfig | UpdateUserPool

¿Crees tener lo que se necesita para ser un experto en Pentesting contra AWS? Si nuestro libro te abrió los ojos a las posibilidades de la ciberseguridad ofensiva o si ya cuentas con habilidades en este campo, es momento de subir de nivel. Te retamos a certificarte en el CPNA - Curso Profesional de Pentesting Contra AWS. No será fácil: te enfrentarás a un examen riguroso de 12 horas donde deberás hackear una infraestructura completa alojada en AWS. ¿Listo para el desafío? Acepta el reto y demuestra tu verdadero potencial.

Este contenido se adentra en una técnica avanzada de post-explotación, crucial para entender cómo maximizar el impacto de un ataque una vez que se ha conseguido penetrar en un sistema. Es importante recalcar que la ejecución de esta técnica presupone que el atacante o consultor ya ha obtenido ciertos niveles de privilegios dentro de la infraestructura objetivo. Sin estos privilegios, llevar a cabo el ataque explicado aquí no sería posible. Proceder con cautela y siempre dentro del marco legal y ético es fundamental.

AWS Cognito ofrece varias capacidades para administrar la MFA, incluidos los permisos cognito-idp:AdminSetUserSettings, cognito-idp:SetUserMFAPreference, cognito-idp:SetUserPoolMfaConfig, y cognito-idp:UpdateUserPool. Cada uno de estos permisos proporciona un nivel de control sobre cómo se implementa y gestiona la MFA, lo que, si se maneja incorrectamente, puede abrir vectores de ataque para actores maliciosos. A continuación, se detalla el propósito y el manejo seguro de estos permisos, así como los posibles riesgos y estrategias de mitigación.

1. cognito-idp:AdminSetUserSettings

Este permiso permite modificar las configuraciones de usuario, incluyendo las opciones de MFA. Un atacante podría abusar de este para configurar un número de teléfono bajo su control para la MFA SMS.

aws cognito-idp admin-set-user-settings \
    --user-pool-id <user-pool-id> \
    --username <username> \
    --mfa-options <mfa-options>

Este comando configura las opciones de MFA para el usuario especificado en el User Pool dado.

2. cognito-idp:SetUserMFAPreference

Permite establecer las preferencias de MFA de un usuario, incluida la habilitación de MFA vía SMS o token de software, lo que puede ser abusado para debilitar las protecciones de MFA.

aws cognito-idp admin-set-user-mfa-preference \
    [--sms-mfa-settings <sms-mfa-settings>] \
    [--software-token-mfa-settings <software-token-mfa-settings>] \
    --username <username> \
    --user-pool-id <user-pool-id>

Este comando especifica las preferencias de MFA para el usuario, permitiendo la activación o desactivación de métodos específicos.

3. cognito-idp:SetUserPoolMfaConfig

Este permiso ajusta la configuración de MFA a nivel de User Pool, potencialmente permitiendo la desactivación de MFA o la elección de métodos menos seguros.

bashCopy codeaws cognito-idp set-user-pool-mfa-config \
    --user-pool-id <user-pool-id> \
    [--sms-mfa-configuration <sms-mfa-configuration>] \
    [--software-token-mfa-configuration <software-token-mfa-configuration>] \
    [--mfa-configuration <mfa-configuration>]

Aquí se configura la política de MFA para todo el User Pool, influenciando cómo se aplicará la MFA para todos los usuarios.

4. cognito-idp:UpdateUserPool

Permite la actualización general del User Pool, incluyendo cambios en la política de MFA, lo cual puede ser explotado para relajar las medidas de seguridad.

aws cognito-idp update-user-pool \
    --user-pool-id <user-pool-id> \
    --mfa-configuration <mfa-configuration> \
    [--sms-authentication-message <sms-authentication-message>] \
    [--sms-configuration <sms-configuration>] \
    [...otros parámetros...]

Este comando ofrece una amplia gama de actualizaciones configurables para el User Pool, incluida la política de MFA.

Última actualización