
# Comprobador de contraseñas de Azure AD
En un entorno de Azure AD, es posible determinar si un usuario tiene la autenticación multifactor (MFA) deshabilitada sin requerir privilegios especiales. Esto se puede lograr analizando la fecha de creación de la cuenta y la fecha del último cambio de contraseña.
Si la fecha y hora de creación de una cuenta coinciden con la fecha y hora del último cambio de contraseña, puede indicar que no ha habido interacción humana desde que se creó la cuenta y que el usuario no ha podido habilitar la autenticación multifactor (MFA) ni cambiar su contraseña. Y hay otras "anomalías", como que la fecha de cambio de contraseña sea anterior a la fecha de creación. Esto sugiere también que la autenticación multifactor (MFA) no se pudo habilitar porque el usuario aún no había sido creado.
Actualización del 16-10-2023:
Actualización del 18-02-2024:
Esta información puede ser útil para identificar posibles riesgos de seguridad diseñados para uso tanto de equipos rojos como azules.
Se necesita el archivo de base de datos roadrecon o el archivo JSON extraído con la opción --code-javascript para esta herramienta.
La herramienta roadrecon está desarrollada por dirkjanm y se puede descargar en github https://github.com/dirkjanm/ROADtools o pip install roadrecon.
Cómo usarlo, ver:
python3 azurepwchecker.py
usage: azurepwchecker.py [-h] [--roadrecon-dump] [--roadrecon-dump-mfa] [-d DB] [-m] [-l] [-ll] [-lll] [-la] [-lo]
[-ji JSON_INPUT] [-c]
Azure AD Password Checker - Este es un analizador para el archivo JSON generado o el archivo de base de datos roadrecon diseñado para uso tanto de equipos rojos como azules.
La base de datos se puede crear al usar la opción --code-javascript para extraer el archivo 'merged_users.json', que se creará para luego ingresar este archivo con el argumento --json-input.
¡Y también se puede usar el archivo roadrecon.db generado por roadrecon! roadrecon está desarrollado por https://github.com/dirkjanm, ¡créditos para él!
options:
-h, --help show this help message and exit
-d DB, --db DB Specify the path to the 'roadrecon.db' database file, default is this location
-m, --mfa-list User Accounts without MFA (No privileged user required)! This argument helps identify user
accounts that have not enabled Multi-Factor Authentication (MFA). If an account's creation
date and time match its last password change date and time, it may indicate that no human
interaction has occurred since the account was created, and the user has not been able to
enable MFA or change their password. And there are other 'anomalies' such as the password
change date being older than the creation date. This suggests also that Multi-Factor
Authentication (MFA) couldn't be enabled because the User wasn't created yet! :-]
-mo OUTFILE, --outfile OUTFILE
Output users with MFA anomalies to file
-l, --pw-month User accounts that had their passwords changed last month
-ll, --pw-year User accounts that had their passwords changed last year
-lll, --pw-older User accounts that haven't changed their passwords in a long time, oldest first
-la, --admin User accounts that are members of 'Admin' named groups, including 'Global Reader'
-lo, --out-of-hours User password change that occurred outside of office hours, specifically between 5:00 PM
(17:00) and 8:00 AM (08:00) on weekdays, as well as on Saturdays and Sundays
-ji JSON_INPUT, --json-input JSON_INPUT
Provide the JSON file imported from your web browser's console using JavaScript. For
'createdDateTime' and 'lastPasswordChange' details, ensure you download the JSON output using
the '--code-javascript' option.
-c, --code-javascript
Perform extraction even if 'azurepwchecker.py' or 'roadrecon' is unavailable. This script
enables extraction through the JavaScript console of a web browser. To proceed, ensure you
have a valid account to log in at https://portal.azure.com/#view/Microsoft_AAD_UsersAndTenants
/UserManagementMenuBlade/~/AllUsers or an active session on a computer. Copy and paste the
provided JavaScript code into the browser's console. Once the session is validated and you
have the necessary permissions, a JSON file named 'merged_users.json' will be generated. You
can then import it using the following command as example: 'azurepwchecker.py --json-input
merged_users.json -m'
-v, --version show program's version number and exit
run roadrecon first:
(Run the following command to install the tool "pip install roadrecon)"
--roadrecon-dump "roadrecon dump" command or do it with roadrecon
--roadrecon-dump-mfa "roadrecon dump --mfa" command (requires privileged access) or do it with roadrecon
azurepwchecker.py --code-javascript o el archivo js en la carpeta:Sigue estos pasos para obtener una lista de usuarios junto con su información de cuenta utilizando el script proporcionado.
Inicia sesión en Azure Portal
Accede a Administración de usuarios
Abre las herramientas de desarrollo
F12 en tu navegador web para abrir las herramientas de desarrollo.Ejecuta el script
Obtén UsersList y UserInfo
Descarga la información de usuario combinada
merged_users.json si todo salió bien.Ejecuta en Azure AD Password Checker
azurepwchecker.py --json-input merged_users.jsonVer ejemplo: