Kontoübernahme

Reading time: 6 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Autorisierungsproblem

Die E-Mail eines Kontos sollte versucht werden zu ändern, und der Bestätigungsprozess muss überprüft werden. Wenn er als schwach befunden wird, sollte die E-Mail auf die des beabsichtigten Opfers geändert und dann bestätigt werden.

Unicode-Normalisierungsproblem

  1. Das Konto des beabsichtigten Opfers victim@gmail.com
  2. Ein Konto sollte unter Verwendung von Unicode erstellt werden
    zum Beispiel: vićtim@gmail.com

Wie in diesem Vortrag erklärt, könnte der vorherige Angriff auch durch den Missbrauch von Identitätsanbietern Dritter durchgeführt werden:

  • Erstellen Sie ein Konto beim Identitätsanbieter Dritter mit einer ähnlichen E-Mail wie die des Opfers unter Verwendung eines Unicode-Zeichens (vićtim@company.com).
  • Der Identitätsanbieter Dritter sollte die E-Mail nicht verifizieren.
  • Wenn der Identitätsanbieter die E-Mail verifiziert, können Sie möglicherweise den Domainteil angreifen, wie: victim@ćompany.com und diese Domain registrieren und hoffen, dass der Identitätsanbieter die ASCII-Version der Domain generiert, während die Opferplattform den Domainnamen normalisiert.
  • Melden Sie sich über diesen Identitätsanbieter auf der Opferplattform an, die das Unicode-Zeichen normalisieren und Ihnen den Zugriff auf das Opferkonto ermöglichen sollte.

Für weitere Details siehe das Dokument zur Unicode-Normalisierung:

Unicode Normalization

Wiederverwendung des Rücksetz-Tokens

Sollte das Zielsystem den Rücksetzlink zur Wiederverwendung zulassen, sollten Anstrengungen unternommen werden, um weitere Rücksetzlinks zu finden mit Tools wie gau, wayback oder scan.io.

Vor der Kontoübernahme

  1. Die E-Mail des Opfers sollte verwendet werden, um sich auf der Plattform anzumelden, und ein Passwort sollte festgelegt werden (ein Versuch zur Bestätigung sollte unternommen werden, obwohl der Mangel an Zugriff auf die E-Mails des Opfers dies unmöglich machen könnte).
  2. Man sollte warten, bis das Opfer sich über OAuth anmeldet und das Konto bestätigt.
  3. Es wird gehofft, dass die reguläre Anmeldung bestätigt wird, was den Zugriff auf das Konto des Opfers ermöglicht.

CORS-Misconfiguration zur Kontoübernahme

Wenn die Seite CORS-Misconfigurations enthält, könnten Sie in der Lage sein, sensible Informationen vom Benutzer zu stehlen, um sein Konto zu übernehmen oder ihn dazu zu bringen, Authentifizierungsinformationen zu ändern, um dasselbe Ziel zu erreichen:

CORS - Misconfigurations & Bypass

CSRF zur Kontoübernahme

Wenn die Seite anfällig für CSRF ist, könnten Sie in der Lage sein, den Benutzer dazu zu bringen, sein Passwort, seine E-Mail oder Authentifizierung zu ändern, sodass Sie dann darauf zugreifen können:

CSRF (Cross Site Request Forgery)

XSS zur Kontoübernahme

Wenn Sie ein XSS in der Anwendung finden, könnten Sie in der Lage sein, Cookies, lokalen Speicher oder Informationen von der Webseite zu stehlen, die es Ihnen ermöglichen könnten, das Konto zu übernehmen:

XSS (Cross Site Scripting)

Gleiche Herkunft + Cookies

Wenn Sie ein begrenztes XSS oder eine Subdomain-Übernahme finden, könnten Sie mit den Cookies spielen (zum Beispiel fixieren), um zu versuchen, das Konto des Opfers zu kompromittieren:

Cookies Hacking

Angriff auf den Passwort-Zurücksetzmechanismus

Reset/Forgotten Password Bypass

Antwortmanipulation

Wenn die Authentifizierungsantwort auf ein einfaches Boolean reduziert werden kann, versuchen Sie einfach, false in true zu ändern und sehen Sie, ob Sie Zugriff erhalten.

OAuth zur Kontoübernahme

OAuth to Account takeover

Host-Header-Injection

  1. Der Host-Header wird nach der Initiierung einer Passwortzurücksetzung geändert.
  2. Der X-Forwarded-For-Proxy-Header wird auf attacker.com geändert.
  3. Die Host-, Referrer- und Origin-Header werden gleichzeitig auf attacker.com geändert.
  4. Nach der Initiierung einer Passwortzurücksetzung und der Wahl, die E-Mail erneut zu senden, werden alle drei der oben genannten Methoden angewendet.

Antwortmanipulation

  1. Code-Manipulation: Der Statuscode wird auf 200 OK geändert.
  2. Code- und Body-Manipulation:
  • Der Statuscode wird auf 200 OK geändert.
  • Der Antwortkörper wird auf {"success":true} oder ein leeres Objekt {} geändert.

Diese Manipulationstechniken sind in Szenarien effektiv, in denen JSON für die Datenübertragung und den Empfang verwendet wird.

E-Mail der aktuellen Sitzung ändern

Aus diesem Bericht:

  • Angreifer fordert an, seine E-Mail mit einer neuen zu ändern.
  • Angreifer erhält einen Link zur Bestätigung der Änderung der E-Mail.
  • Angreifer sendet dem Opfer den Link, damit es darauf klickt.
  • Die E-Mail des Opfers wird auf die vom Angreifer angegebene geändert.
  • Der Angreifer kann das Passwort zurücksetzen und das Konto übernehmen.

Dies geschah auch in diesem Bericht.

Umgehung der E-Mail-Verifizierung zur Kontoübernahme

  • Angreifer meldet sich mit attacker@test.com an und verifiziert die E-Mail bei der Anmeldung.
  • Angreifer ändert die verifizierte E-Mail auf victim@test.com (keine sekundäre Verifizierung bei der E-Mail-Änderung).
  • Jetzt erlaubt die Website victim@test.com sich anzumelden, und wir haben die E-Mail-Verifizierung des Opfers umgangen.

Alte Cookies

Wie in diesem Beitrag erklärt, war es möglich, sich in ein Konto einzuloggen, die Cookies als authentifizierter Benutzer zu speichern, sich abzumelden und dann erneut anzumelden.
Mit dem neuen Login, obwohl unterschiedliche Cookies generiert werden könnten, funktionierten die alten wieder.

Referenzen

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks