Benutzeraufzählung

Benutzeraufzählung

Zwei verschiedene Fehler verraten einem Angreifer, welche E-Mails echt sind.

Was ist Benutzeraufzählung?

Bei der Benutzeraufzählung bestätigt Ihre Anwendung, welche Adressen über Konten verfügen. Es braucht einen beobachtbaren Unterschied: eine andere Fehlerzeichenfolge, einen anderen Statuscode, eine langsamere Antwort. Sie senden zwei Anmeldetests und erhalten „Kein Konto gefunden“ für „Falsches Passwort“ sowie eine Latenzlücke, da bcrypt nur ausgeführt wird, wenn ein Hash zum Vergleich vorhanden ist. Der Fix gibt einen allgemeinen Fehler zurück und führt den Vergleich immer mit einem festen Dummy-Hash durch, wenn kein Benutzer vorhanden ist. Die Anmeldung und das Zurücksetzen des Passworts geben die gleiche Antwort.

Was Sie lernen in Benutzeraufzählung

Benutzeraufzählung — Trainingsschritte

  1. Eine Liste, die gefiltert werden muss

    Bob verfügt über einen Datensatz mit E-Mail- und Passwortpaaren aus einer anderen Sicherheitsverletzung. Die meisten dieser Personen kennen Larksong nicht, daher wäre es langsam und auffällig, die gesamte Liste auf der Anmeldeseite auszuprobieren. Zunächst will er wissen, welche dieser E-Mail-Adressen tatsächlich zu Larksong-Konten gehören. Er öffnet die Larksong-Anmeldeseite im Browser und hält die DevTools bereit, um die Reaktion auf eine fehlgeschlagene Anmeldung zu beobachten.

  2. Nicht registrierte E-Mail testen

    Bob beginnt mit einem Ausgangswert. Er meldet sich mit einer Adresse an, die fast sicher zu keinem Larksong-Konto gehört, und einem Wegwerfpasswort. Anschließend beobachtet er die Antwort im Netzwerkbereich.

  3. Die Ausgangsantwort

    Das Formular zeigt einen Anmeldefehler; die entscheidenden Details stehen jedoch im Netzwerkbereich: eine 401-Antwort mit Antworttext und Antwortzeit. So sieht eine fehlgeschlagene Anmeldung mit einer nicht registrierten E-Mail-Adresse aus. Bob hält dies als Ausgangswert fest.

  4. Eine vermutlich echte E-Mail testen

    Nun versucht Bob es erneut mit einer Adresse aus seinem Datensatz, die seiner Ansicht nach zu einem echten Larksong-Konto gehört: marcus.delgado@gmail.com. Das Wegwerfpasswort behält er bei. Behandelt der Endpunkt beide Fälle gleich, entspricht die Antwort dem Ausgangswert. Falls nicht, ist genau dieser Unterschied der Gewinn.

  5. Eine andere Antwort

    Die Antwort hat sich geändert. Das falsche Passwort ist dasselbe, aber der Antworttext ist anders. Bob hat sich nie angemeldet, dennoch hat ihm der Anmeldeendpunkt gerade verraten, dass diese E-Mail-Adresse zu einem echten Larksong-Konto gehört.

  6. Antwortzeiten prüfen

    Die Formulierung ist ein Hinweis. Der Netzwerkbereich enthält einen zweiten, unauffälligeren: die Dauer jeder Anfrage.

  7. Wissenscheck

    Bevor Bob dies in großem Umfang ausführt, klären Sie genau, warum das echte Konto deutlich langsamer war.

  8. Die Liste auswerten

    Bob richtet ein Skript auf den Anmeldeendpunkt und übergibt ihm jede E-Mail-Adresse aus seinem Datensatz, jeweils mit einer Anfrage. Lautet die langsame Antwort Incorrect password , nimmt er die Adresse in seine bestätigte Liste auf. Von 50.000 Kandidaten gehören 8.400 zu echten Larksong-Konten. Der anschließende Credential-Stuffing-Angriff richtet sich nun nur gegen Adressen, von denen Bob weiß, dass sie existieren. So bleibt er klein, unauffällig und deutlich unter den Ratenlimits, die einen ungezielten Spray-Angriff erkennen würden.

  9. Die Sicherheitswarnung

    Sie verantworten den Anmeldedienst von Larksong. Über Nacht hat die Erkennung ein auffälliges Muster am Anmeldeendpunkt festgestellt und Ihnen den Befund per E-Mail gesendet. Lesen Sie den Befund und öffnen Sie anschließend den Code.

  10. Den Anmelde-Handler öffnen

    Die Anmelderoute befindet sich im Authentifizierungsdienst. Öffnen Sie den Handler und prüfen Sie, wie er bei einer fehlgeschlagenen Anmeldung über die zurückzugebende Antwort entscheidet.

Abdeckung der Sicherheits-Frameworks

OWASP Top 10

  • A07:2025 Authentication Failures
  • A07:2021 Identification and Authentication Failures

CWE

  • CWE-204 Observable Response Discrepancy
  • CWE-208 Observable Timing Discrepancy

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security