Wie ich Tinder-Konten mit dem Facebook Account Kit gehackt und 6.250 US-Dollar an Kopfgeldern verdient habe

Dies wird mit Genehmigung von Facebook im Rahmen der Richtlinien zur verantwortlichen Offenlegung veröffentlicht.

Die in diesem Blogbeitrag erwähnten Sicherheitslücken wurden von den Entwicklungsteams von Facebook und Tinder schnell behoben.

In diesem Beitrag geht es um eine Sicherheitsanfälligkeit bezüglich Kontoübernahme, die ich in Tinders Anwendung entdeckt habe. Durch diese Ausnutzung könnte ein Angreifer Zugriff auf das Zunder-Konto des Opfers erhalten haben, das seine Telefonnummer zum Anmelden verwendet haben muss.

Dies könnte durch eine Sicherheitslücke im Facebook Account Kit ausgenutzt worden sein, die Facebook kürzlich behoben hat.

Sowohl in den Web- als auch in den mobilen Anwendungen von Tinder können Benutzer ihre Mobiltelefonnummern verwenden, um sich beim Dienst anzumelden. Dieser Anmeldedienst wird von Account Kit (Facebook) bereitgestellt.

Der Benutzer klickt auf tinder.com auf Anmelden mit Telefonnummer und wird dann zur Anmeldung zu Accountkit.com weitergeleitet. Wenn die Authentifizierung erfolgreich ist, übergibt Account Kit das Zugriffstoken zur Anmeldung an Tinder.

Interessanterweise überprüfte die Tinder-API die Client-ID des von Account Kit bereitgestellten Tokens nicht.

Auf diese Weise konnte der Angreifer das von Account Kit bereitgestellte Zugriffstoken einer anderen App verwenden, um die echten Tinder-Konten anderer Benutzer zu übernehmen.

Beschreibung der Sicherheitsanfälligkeit

Account Kit ist ein Produkt von Facebook, mit dem sich Benutzer schnell für einige registrierte Apps registrieren und anmelden können, indem sie nur ihre Telefonnummern oder E-Mail-Adressen verwenden, ohne ein Passwort zu benötigen. Es ist zuverlässig, einfach zu bedienen und gibt dem Benutzer die Wahl, wie er sich für Apps anmelden möchte.

Tinder ist eine standortbasierte mobile App zum Suchen und Kennenlernen neuer Leute. Benutzer können andere Benutzer mögen oder nicht mögen und dann zu einem Chat übergehen, wenn beide Parteien nach rechts gewischt haben.

Es gab eine Sicherheitslücke in Account Kit, durch die ein Angreifer allein unter Verwendung seiner Telefonnummer auf das Account Kit-Konto eines Benutzers zugreifen konnte. Einmal angekommen, hätte der Angreifer möglicherweise das in seinen Cookies (aks) enthaltene Account Kit-Zugriffstoken des Benutzers erhalten können.

Danach kann sich der Angreifer mithilfe des Zugriffstokens (aks) mithilfe einer anfälligen API beim Tinder-Konto des Benutzers anmelden.

Wie mein Exploit Schritt für Schritt funktionierte

Schritt 1

Zuerst meldet sich der Angreifer beim Account Kit-Konto des Opfers an, indem er die Telefonnummer des Opfers in der unten gezeigten API-Anfrage unter " new_phone_number " eingibt .

Bitte beachten Sie, dass das Account Kit die Zuordnung der Telefonnummern mit ihrem Einmalkennwort nicht überprüft hat. Der Angreifer kann eine beliebige Telefonnummer eingeben und sich dann einfach beim Account Kit-Konto des Opfers anmelden.

Dann könnte der Angreifer das Zugriffstoken "aks" des Opfers der Account Kit-App von Cookies kopieren.

Die anfällige Account Kit-API:

POST / update / async / phone / verify /? Dpr = 2 HTTP / 1.1 Host: www.accountkit.com new_phone_number = [Telefonnummer von vctim] & update_request_code = c1fb2e919bb33a076a7c6fe4a9fbfa97 [Anforderungscode des Angreifers] & Bestätigungscode = 258822 1 & __ dyn = & __ req = 6 & __ be = -1 & __ pc = PHASED% 3ADEFAULT & __ rev = 3496767 & fb_dtsg = & jazoest =

Schritt 2

Jetzt wiederholt der Angreifer einfach die folgende Anforderung unter Verwendung des kopierten Zugriffstokens "aks" des Opfers in der folgenden Tinder-API.

Sie werden im Zunder-Konto des Opfers angemeldet. Der Angreifer hätte dann grundsätzlich die volle Kontrolle über das Konto des Opfers. Sie konnten unter anderem private Chats und vollständige persönliche Informationen lesen und die Profile anderer Benutzer nach links oder rechts wischen.

Vulnerable Tinder API:

POST / v2 / auth / login / accountkit? Locale = de HTTP / 1.1

Host: api.gotinder.com

Verbindung: schließen

Inhaltslänge: 185

Herkunft: //tinder.com

App-Version: 1000000

Plattform: Web

User-Agent: Mozilla / 5.0 (Macintosh)

Inhaltstyp: application / json

Akzeptieren: */*

Referer: //tinder.com/

Accept-Encoding: gzip, entleeren

Akzeptieren-Sprache: en-US, en; q = 0,9

{"Token": "xxx", "id": "}

Video Proof of Concept

Zeitleiste

Beide Schwachstellen wurden von Tinder und Facebook schnell behoben. Facebook belohnte mich mit 5.000 US-Dollar und Tinder mit 1.250 US-Dollar.

Ich bin der Gründer von AppSecure, einem spezialisierten Cyber-Sicherheitsunternehmen mit langjähriger Erfahrung und akribischem Fachwissen. Wir sind hier, um Ihr Unternehmen und Ihre kritischen Daten vor Online- und Offline-Bedrohungen oder Schwachstellen zu schützen.

Sie können uns unter [email protected] oder [email protected] kontaktieren.