
Listas de Senhas Banidas da Proteção de Senhas do Entra ID
Ferramentas para manipular Listas de Senhas Banidas (BPL) do Entra ID Password Protection.
O eipp-global-bpl.txt contendo as entradas da lista global de senhas banidas foi extraído em 2024-04-11.
Mais informações em https://www.synacktiv.com/en/publications/entra-id-banned-password-lists-password-spraying-optimizations-and-defenses.
Este utilitário pode ser usado para extrair a configuração e as políticas de senha de uma implantação local do Entra ID Password Protection. Ele depende das DLLs do DC Agent e deve ser executado no controlador de domínio.
PS> cp 'C:\Program Files\Azure AD Password Protection DC Agent\Rules\1.0.0.0\ServiceCommon.dll' .
PS> cp 'C:\Program Files\Azure AD Password Protection DC Agent\Rules\1.0.0.0\ServiceCommonHelper.dll' .
PS> cp 'C:\Program Files\Azure AD Password Protection DC Agent\Rules\1.0.0.0\vcruntime140.dll' .
PS> .\EIPPDecrypt.exe \\localhost\SYSVOL\CORP.LOCAL\AzureADPasswordProtection\Configuration\*.cfge
PS> .\EIPPDecrypt.exe \\localhost\SYSVOL\CORP.LOCAL\AzureADPasswordProtection\PasswordPolicies\*.ppe
Arquivos com a extensão .ppe contêm a política de senha, incluindo a BPL global e personalizada com seus timestamps.
$ jq -r .GlobalBPLTimestampUTC policy.json
2020-10-30T00:00:00Z
$ jq -r .GlobalBPL policy.json | tr '\t' '\n' | wc -l
3270
$ jq -r .GlobalBPL policy.json | tr '\t' '\n'
administracion123
administrador123
administrateur123
administrator123
administrator2022
administrator2023
password1
password12
password123
[...]
Este utilitário pode ser usado para gerar uma BPL personalizada otimizada a partir de uma lista de senhas comprometidas. Ele foi projetado para grandes conjuntos de dados (10k senhas) e pode produzir resultados ruins em listas menores.
PS> .\EIPP.exe
usage:
EIPP.exe normalize passwords.txt
EIPP.exe generate [-t threads] [-m minOccurences] [-n entries] passwords.txt global.txt output.txt
EIPP.exe stats [-t threads] passwords.txt global.txt [tenant.txt]
O comando normalize é usado para normalizar senhas de acordo com o algoritmo EIPP (minúsculas e substituições). Ele recebe a lista de senhas a normalizar e envia os resultados para a saída padrão (stdout) sem ordenação.
PS> cat passwords.txt
Company2024
PS> .\EIPP.exe normalize passwords.txt
companyzoz4
O comando generate é usado para gerar uma BPL personalizada otimizada. Ele recebe a lista de senhas a banir (por exemplo, de uma auditoria de senhas), a BPL global e o nome do arquivo de saída (custom.txt aqui). A velocidade pode ser ajustada com o número de threads (-t, padrão 4) e o número mínimo de ocorrências para uma entrada ser considerada (-m, padrão 5). A opção -n também pode ser usada para alterar o número padrão de entradas a gerar, o que pode ser útil se a entidade já tiver entradas em sua BPL personalizada.
PS> .\EIPP.exe generate passwords.txt global.txt custom.txt
PS> .\EIPP.exe generate -t 8 -m 10 -n 500 passwords.txt global.txt custom.txt
Progress: 1234/23456 (5%)
O comando stats é usado para calcular a taxa de bloqueio de uma BPL personalizada e avaliar sua eficiência. Ele recebe a lista de senhas a banir, a BPL global e a personalizada. Também pode ser usado sem a BPL personalizada para avaliar a eficiência apenas da BPL global (que geralmente é baixa).
PS> .\EIPP.exe stats passwords.txt global.txt [tenant.txt]
PS> .\EIPP.exe stats -t 8 passwords.txt global.txt tenant.txt
Results: 37% banned