https://github.com/jkerai1/AzurePasswordProtectionCalculator
Calculator for Azure Password Protection
https://github.com/jkerai1/AzurePasswordProtectionCalculator
Last synced: 27 days ago
JSON representation
Calculator for Azure Password Protection
- Host: GitHub
- URL: https://github.com/jkerai1/AzurePasswordProtectionCalculator
- Owner: jkerai1
- License: gpl-3.0
- Created: 2023-12-28T14:32:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-05-02T18:20:03.000Z (about 1 year ago)
- Last Synced: 2025-02-26T17:03:38.267Z (3 months ago)
- Language: Python
- Size: 78.1 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-entra - AzurePasswordProtectionCalculator - Calculator for Azure Password Protection [](https://badgen.net/github/stars/jkerai1/AzurePasswordProtectionCalculator) (Tools / CLI)
README
[](https://github.com/jkerai1/AzurePasswordProtectionCalculator/stargazers)
[](https://github.com/jkerai1/AzurePasswordProtectionCalculator/network)
[](https://github.com/jkerai1/AzurePasswordProtectionCalculator/issues)
[](https://github.com/jkerai1/AzurePasswordProtectionCalculator/pulls)# AzurePasswordProtectionCalculator
Calculator for Azure Password Protection. The calculation for what passes as a valid password is difficult to comprehend so I attempted to make a calculator.https://learn.microsoft.com/en-us/entra/identity/authentication/concept-password-ban-bad
There are notably a few issues:
- the azure in-built password list is hidden. UPDATE: List was dumped and now been included in the tool!
- not all string substitions are given on the documentation
- SSPR can bypass reuse of old password, something I cannot account for
- License Requirement of P1 / P2
- Tenant name matching isn't done when validating passwords on an AD DS domain# Score Calculation
# Fuzzy Matching Behaviour

# Normalization

# Password Requirements

Ref https://learn.microsoft.com/en-us/entra/identity/authentication/concept-sspr-policy#microsoft-entra-password-policies# Example
# Audit

# KQL
AuditLogs
| where OperationName == "Change password (self-service)"
| where ResultDescription == "PasswordDoesnotComplyFuzzyPolicy"
| extend User = tostring(parse_json(tostring(InitiatedBy.user)).userPrincipalName)
| summarize count() by User
| where count_ > 1Featured on Entra News Issue 26 https://entra.news/p/entranews-26-your-weekly-dose-of