
Zählt Benutzerkonten und registrierte Authentifizierungsmethoden über das Microsoft Self-Service Password Reset (SSPR)-Portal auf
Probe Microsofts Self-Service Password Reset (SSPR)-Endpunkt, um registrierte Verifizierungsmethoden aufzulisten und alle zu markieren, denen ein starker zweiter Faktor fehlt. Bietet Benutzer-Enumeration und eine Näherung an die MFA-Posture über Entra-Konten hinweg.
[!NOTE] Seit August 2026 hat Microsoft das Legacy-CAPTCHA aus dem SSPR-Flow entfernt und durch Backend-Throttling und verhaltensbasierte Missbrauchserkennung ersetzt (siehe MC1400824). Microsofts Position ist, dass die Backend-Kontrollen ausreichen, um automatisierten Missbrauch zu erkennen und zu blockieren.
# Install pipx if needed
apt install pipx && pipx ensurepath
# From a local clone
git clone https://github.com/mlcsec/ResetSpy.git
cd ResetSpy
pipx install .
python3 -m venv .venv
pip install -r requirements.txt
# Single acc
resetspy [email protected]
# Email file (one per line)
resetspy emails.txt
# Proxy
resetspy emails.txt --proxy http://127.0.0.1:8080
# Export to CSV with increased delay
resetspy emails.txt --csv results.csv --delay 4
# Full HTTP debug — request/response headers and bodies printed to stderr
resetspy [email protected] -v
| Flag | Standard | Beschreibung |
|---|---|---|
--delay SECONDS | 2.0 | Basisverzögerung zwischen Anfragen; Jitter wird automatisch hinzugefügt |
--retries N | 1 | Maximale Wiederholungsversuche pro Konto bei vorübergehenden Fehlern |
--proxy URL | Proxy; deaktiviert automatisch die SSL-Verifizierung | |
--csv FILE | Alle Ergebnisse in CSV exportieren | |
-v / --verbose | Vollständige Request-/Response-Header und -Bodies nach stderr ausgeben |
Zwischen jeder Anfrage wird zusätzlich zu --delay ein randomisierter Jitter hinzugefügt.
Exponentielles Back-off (bis zu --retries Versuche) wird bei 429-Antworten
und Netzwerkfehlern angewendet. Die Standardverzögerung beträgt 2 Sekunden; für große
Stapel auf 4-6 Sekunden erhöhen. Der User-Agent wird bei jeder Anfrage aus einem Pool von 16
gängigen Agents (Windows, macOS, iOS, Android) rotiert.
Microsofts kombinierte Registrierungserfahrung für Sicherheitsinformationen, standardmäßig aktiviert seit 2020, registriert Authentifizierungsmethoden sowohl für SSPR als auch für MFA in einem einzigen Flow. In der Praxis bedeutet dies, dass bei den meisten modernen Entra ID-Tenants die über SSPR sichtbaren Methoden dieselben Methoden sind, die die Anmeldung schützen. Ein Konto ohne registrierte starke SSPR-Methode ist sehr wahrscheinlich ein Konto ohne registrierte starke MFA-Methode.
Referenzen:
SSPR und MFA sind separate Registrierungen. Die kombinierte Registrierung lässt sie in den meisten Fällen überlappen, aber sie sind nicht dasselbe. Eine Methode kann für MFA existieren, ohne hier sichtbar zu sein, wenn sie vor der Aktivierung der kombinierten Registrierung registriert wurde oder wenn der Administrator sie von der SSPR-Richtlinie ausgeschlossen hat.
FIDO2-Sicherheitsschlüssel und zertifikatsbasierte Authentifizierung werden von SSPR nicht unterstützt. Microsoft hat diese Methoden nie zum SSPR-Flow hinzugefügt. Ein Benutzer, dessen einziger registrierter Faktor ein FIDO2-Schlüssel oder eine Smartcard ist, erscheint hier als ohne Methoden — ein falsch-negatives Ergebnis. In der Praxis ist dies bei Standardbenutzern selten, aber in Umgebungen mit hoher Sicherheit oder Passwortlosigkeit häufiger.
Referenzen:
Richtlinienkonflikte pro Methode. Administratoren können eine Methode für die MFA-Anmeldung erlauben, sie aber von der SSPR-Richtlinie ausschließen, oder umgekehrt. Beispielsweise könnte eine Organisation Authenticator-Push für die Anmeldung erlauben, aber nicht für das Zurücksetzen des Passworts. Das Tool sieht nur, was SSPR bereit ist anzubieten.
SSPR vollständig deaktiviert (SSPR_0011). Wenn SSPR für einen Benutzer nicht lizenziert oder nicht
aktiviert ist, gibt der Endpunkt ViewSsprNotEnabledInUserPolicy
zurück und es sind keine Methodeninformationen verfügbar. Das Konto existiert und hat wahrscheinlich MFA
konfiguriert, aber dieses Tool kann nicht feststellen, welche.
Gast- und föderierte Konten. Externe Benutzer und B2B-Gäste authentifizieren sich
über ihren Heim-Tenant. Der SSPR-Endpunkt des Ressourcen-Tenants hat keine
Sicht auf die MFA-Registrierung ihres Heim-Tenants und gibt
ViewFeatureNotAvailable zurück. Ihre MFA-Posture ist von diesem Endpunkt aus unsichtbar.
Mandantenweite Methodenbeschränkungen. Wenn ein Administrator eine Methodenklasse in der SSPR-Richtlinie deaktiviert hat, wird sie keinem Benutzer angeboten, unabhängig von der individuellen Registrierung, was es unmöglich macht, zwischen „Methode nicht registriert" und „Methode deaktiviert" zu unterscheiden.
Administratorkonten sind immer SSPR-fähig. Microsofts SSPR-Richtlinieneinstellungen gelten nur für Standard-Endbenutzer. Administratorkonten sind immer für Self-Service Password Reset aktiviert, unabhängig von der SSPR-Richtlinie des Tenants, und Microsoft verlangt, dass sie zwei Authentifizierungsmethoden registriert haben. Dies wird auf Plattformebene erzwungen und kann von Tenant-Administratoren nicht deaktiviert werden.
Referenz: SSPR policy documentation
[!IMPORTANT] Dies hat eine nützliche Implikation für die Reconnaissance. Wenn SSPR für Standardbenutzer in einem Tenant deaktiviert ist (Rückgabe von
ViewSsprNotEnabledInUserPolicy), ist jedes Konto, das erfolgreich den Methodenauswahlbildschirm erreicht, wahrscheinlich ein Mitglied einer privilegierten Rolle. Konten, die sauber über SSPR aufgelistet werden, wenn die übergreifende Tenant-Richtlinie deaktiviert ist, heben sich als wahrscheinliche Admin-Konten hervor, und ihre registrierten Methoden sind sichtbar, selbst wenn Standardbenutzermethoden es nicht sind. Dies ermöglicht die Identifizierung hochwertiger Ziele und privilegierter Konten, die für weitere gezielte Angriffe herausgegriffen werden können.
| Fähigkeit | Unterstützt |
|---|---|
| Benutzer-Enumeration (Konto existiert oder nicht) | Ja |
| SSPR-Methoden-Enumeration | Ja |
| MFA-Methoden-Inferenz (über kombinierte Registrierung) | Näherungsweise — zuverlässig für die meisten Standard-Tenants |
| FIDO2-/zertifikatsbasierte MFA-Erkennung | Nein |
| MFA bei Gast-/föderierten Konten | Nein |
| Konten mit deaktiviertem SSPR | Nein (Konto als existierend bestätigt, Methoden unbekannt) |
| Identifizierung von Admin-Konten | Teilweise — Admins sind immer SSPR-fähig, daher können sie auffallen, wenn Tenant-SSPR ansonsten deaktiviert ist |
CurrentViewName-Antwortfeld des Servers wird als Ground Truth für das Ergebnis verwendet — nicht HTML-Body-MatchingMicrosofts SSPR-Portal (passwordreset.microsoftonline.com) zeigt einen
Kontaktmethoden-Auswahlbildschirm (MultigateAuthenticationControl) nach
Akzeptanz eines gültigen Benutzernamens. Das zurückgegebene HTML listet jede registrierte
Verifizierungsmethode als Radio-Button in MultigateAuthenticationControl_RadioTable auf.
Methoden, deren <tr>-Zeile display:none ist, sind für diesen Benutzer nicht registriert
und werden übersprungen.
Für jedes Ziel führt das Tool zwei Anfragen durch. Zuerst ein GET auf die Landing-
Page, um eine Session aufzubauen und die ASP.NET-Formular-Tokens (__VIEWSTATE,
__EVENTVALIDATION, WorkflowConsistencyCheck) zu extrahieren, die erforderlich sind, damit
der Server einen POST akzeptiert. Diese Tokens sind kryptografisch an
das Session-Cookie gebunden und können nicht vorhergesagt oder über Sessions hinweg wiederverwendet werden. Zweitens ein
POST, der die E-Mail-Adresse zusammen mit diesen Tokens übermittelt und den
asynchronen UpdatePanel-Postback nachbildet, den der Browser ausführt, wenn der Benutzer auf Weiter klickt.
Das versteckte Feld CurrentViewName in der ASP.NET-Wire-Response wird als
maßgebliches Signal dafür verwendet, was der Server entschieden hat, anstatt Substring-
Matching im HTML-Body.
| Radio-ID | Methode | Stärke |
|---|---|---|
MultigateAuthenticationControl_AltEmailRadio | Alternativer E-Mail-OTP | Schwach |
MultigateAuthenticationControl_SecurityQuestionsRadio | Sicherheitsfragen | Schwach |
MultigateAuthenticationControl_AppCodeRadio | Authenticator-App (TOTP) | Angemessen |
MultigateAuthenticationControl_MobileAppNotificationRadio | Authenticator-Push-Benachrichtigung | Angemessen |
MultigateAuthenticationControl_PhoneRadio | Telefonanruf / SMS | Angemessen |
MultigateAuthenticationControl_OfficePhoneRadio | Bürotelefon | Angemessen |
Alternative E-Mail und Sicherheitsfragen werden als schwach markiert, da sie phishing-anfällig sind und nicht dem Zweck eines zweiten Faktors entsprechen. Konten mit nur schwachen Methoden oder gar keinen Methoden werden markiert.
[!NOTE] Microsoft unterstützt sowohl Software-OATH-Tokens als auch Hardware- OATH-Tokens (Vorschau) für SSPR. Software-OATH-Tokens, die über die Authenticator-App eingegeben werden, erscheinen höchstwahrscheinlich über denselben
AppCodeRadio-Button wie TOTP — beide präsentieren sich als Eingabe eines sechsstelligen Codes —, sodass sie wahrscheinlich bereits ohne separate Radio-ID abgedeckt sind. Hardware-OATH-Tokens (ein physischer Keyfob) sind eine eigene Geräteklasse, erzeugen aber ebenfalls einen zeitbasierten Code; sie könnten über denselben Button oder einen anderen gerendert werden, der während des Tests dieses Prozesses noch nicht beobachtet wurde.
| Status | Bedeutung |
|---|---|
MFA OK | Konto gefunden; mindestens ein starker zweiter Faktor in SSPR registriert |
NO MFA | Konto gefunden; kein starker Faktor (nur schwache oder keine Methoden registriert) |
NOT FOUND | Benutzername existiert nicht im Verzeichnis |
SSPR DISABLED | Konto existiert, aber Admin-Richtlinie blockiert SSPR (z. B. SSPR_0011) — Methoden unbekannt |
SSPR N/A | Kontotyp wird von SSPR nicht unterstützt — Gast-, externe oder föderierte Benutzer |
CAPTCHA | Server hat ein CAPTCHA präsentiert; manuelles Eingreifen erforderlich |
ERROR | Unerwartete Antwort oder Netzwerkfehler |