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)

Unterstützen Sie HackTricks

Autorisierungsproblem

Die E-Mail eines Kontos sollte versucht werden zu ändern, und der Bestätigungsprozess muss untersucht 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 verweisen Sie auf 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-Fehlkonfiguration zur Kontoübernahme

Wenn die Seite CORS-Fehlkonfigurationen 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 sie 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 Einleitung einer Passwortzurücksetzanforderung 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 Einleitung eines Passwortzurücksetzens und der Entscheidung, 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.

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, begannen die alten wieder zu funktionieren.

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)

Unterstützen Sie HackTricks