Hacking Grindr Accounts with Copy and Paste

Sexualitet, relationer och nätdejting är alla ganska personliga saker. Det är aspekter av våra liv som många väljer att hålla privata eller åtminstone dela med sig av endast till personer som vi väljer. Grindr är ”världens största sociala nätverksapp för homosexuella, bi-, trans- och queerpersoner”, vilket för många människor gör det särskilt känsligt. Det är känsligt inte bara för att man genom att använda sajten avslöjar sin sexuella läggning, utan också på grund av de ibland allvarliga konsekvenserna av att passa in i Grindrs målgrupp. År 2014 upptäcktes till exempel att Egyptens polis använde Grindr för att ”fånga homosexuella”, vilket var särskilt oroväckande i ett land som inte precis har kommit igång med hbtq-jämlikhet. En annan demonstration av hur värdefulla Grindr-data är kom förra året när USA:s regering ansåg att kinesiskt ägande av tjänsten utgjorde en nationell säkerhetsrisk. Kort sagt, Grindr-uppgifter är mycket personliga och oundvikligen mycket känsliga av flera skäl.

Tidigare i veckan fick jag ett twittermeddelande från säkerhetsforskaren Wassime BOUIMADAGHENE:

I contact you because i reported a serious security issue to one of the biggest dating applications for gays (Grindr) but the vendor keep ignoring me !I sent them all the technical details but no way. The vulnerability allow an attacker to hijack any account.

Han ville ha hjälp med att avslöja vad han trodde var en allvarlig säkerhetssårbarhet, och det var uppenbart att han stötte på en tegelvägg. Jag bad om tekniska detaljer så att jag kunde bekräfta äktheten i hans påstående och informationen kom i vederbörlig ordning. På ytan såg det illa ut: fullständigt kontoövertagande med en mycket trivial attack. Men jag ville verifiera attacken och göra det utan att kränka någons integritet så jag bad Scott Helme om stöd:

Scott har hanterat många säkerhetsproblem av det här slaget tidigare, plus att han hjälpte mig med avslöjandet av Nissan Leaf för några år sedan också och han var glad att kunna hjälpa till. Allt jag behövde var att Scott skapade ett konto och lät mig veta vilken e-postadress han använde, vilket i det här fallet var [email protected].

Kontointaget började med sidan för återställning av lösenordet på Grindr:

Jag skrev in Scotts adress, löste en och fick sedan följande svar:

Jag har öppnat dev-verktygen eftersom återställningstoken i svaret är nyckeln. Det är faktiskt nyckeln och jag kopierade den till klippbordet innan jag klistrade in den i följande URL:

Du ser både tokenet och Scotts e-postadress i den URL:en. Det är lätt för vem som helst att etablera detta mönster genom att skapa ett eget Grindr-konto och sedan utföra en lösenordsåterställning och titta på innehållet i det e-postmeddelande de får. När jag laddade den URL:n uppmanades jag att ange ett nytt lösenord och skicka över :

Och det var allt – lösenordet ändrades:

Så jag loggade in på kontot men presenterades genast för följande skärm:

Huh, så du behöver appen? Okej, då loggar vi in via appen:

Och… Jag är med!

Fullt kontoövertagande. Vad det innebär är tillgång till allt som den ursprungliga Grindr-kontoinnehavaren hade tillgång till, till exempel deras profilbild (som jag genast ändrade till en mer passande):

Omkring den här tiden började Scott få privata meddelanden, både en förfrågan om att träffas personligen och en förfrågan om bilder:

Samtalet med Luke gick ganska snabbt utför och jag kan inte återge det här, men tanken på att denna dialog (och om han hade skickat dem, hans bilder) skulle kunna nås av okända tredje parter är extremt oroande. Tänk också på omfattningen av den personliga information som Grindr samlar in och precis som med Scotts meddelanden skulle alla ifyllda fält här omedelbart vara synliga för alla som fick tillgång till hans konto bara genom att känna till hans e-postadress:

För ett par år sedan skapade det rubriker när det visade sig att Grindr skickade hiv-status till tredje part, och med tanke på hur känsliga dessa uppgifter är, med all rätt. Det är detta, tillsammans med många av de andra fälten ovan, som gör det så sensationellt att uppgifterna var så trivialt tillgängliga för vem som helst som kunde utnyttja denna enkla brist.

Och när det gäller den webbplats jag inte kunde logga in på utan att bli omdirigerad tillbaka till mobilappen? Nu när jag hade loggat in i appen med Scotts nya lösenord kunde jag i efterföljande försök helt enkelt godkänna inloggningsbegäran själv:

Och så är det – jag är inne på webbplatsen också:

Det här är en av de mest grundläggande tekniker för kontoövertagande som jag har sett. Jag kan inte förstå varför återställningstoken – som borde vara en hemlig nyckel – returneras i svarskroppen för en anonymt utfärdad begäran. Det är otroligt lätt att utnyttja den och konsekvenserna är uppenbarligen betydande, så detta är helt klart något att ta på allvar…

Bortsett från att det inte var det. Den person som vidarebefordrade den här sårbarheten delade också sin chatthistorik med Grindr-supporten. Efter en del fram och tillbaka gav han fullständiga uppgifter som var tillräckliga för att enkelt verifiera tillvägagångssättet med kontoövertagandet den 24 september. Grindr-supportrepresentanten uppgav att han hade ”eskalerat det till våra utvecklare” och flaggade omedelbart biljetten som ”löst”. Min kontaktperson följde upp nästa dag och bad om en statusuppdatering, men fick… gråt. Dagen därpå försökte han kontakta e-postadresserna för hjälp/support också och efter att ha väntat i fem dagar utan att få något svar kontaktade han mig. Han delade också en skärmdump av sitt försök att nå Grindr via Twitter DM som, liksom de andra försöken att rapportera sårbarheten, föll på döva öron.

Så jag försökte själv hitta en säkerhetskontakt på Grindr:

Någon som har en säkerhetskontakt på @Grindr som de kan koppla mig till?

– Troy Hunt (@troyhunt) October 1, 2020

Jag är medveten om att en sådan tweet ger upphov till alla de svar som oundvikligen följde på den och som antyder att det är något cyberfel med Grindr. Jag twittrar bara offentligt när rimliga försök att ta kontakt privat misslyckas och baserat på föregående stycke var dessa försök mer än rimliga. En vän skickade faktiskt ett meddelande till mig på Twitter och föreslog följande:

Inte säker på att Grindr-tweetet var nödvändigt, med tanke på att deras DM:s är öppna och att de kontaktade dig ganska snart efteråt

Det är därför jag inte skickade ett meddelande till dem:

Den vägen försökte jag och misslyckades, och jag föreslår att den enda anledningen till att deras Twitter-konto svarade mig offentligt var att min tweet väckte stort intresse.

När min tweet hade gått ut. Jag hade flera personer som omedelbart tog kontakt med mig och gav mig kontaktuppgifter till deras säkerhetsteam. Jag vidarebefordrade den ursprungliga rapporten och inom cirka en och en halv timme efter tweeten var den sårbara resursen offline. Kort därefter kom den upp igen med en lösning. I rättvisans namn måste jag säga att Grindr, trots att de har en triage av säkerhetsrapporter som behöver åtgärdas, har svarat exemplariskt efter att jag lyckats komma i kontakt med rätt personer. Så här svarade de när de kontaktades av Zack Whittaker, journalist inom infosec:

Vi är tacksamma för forskaren som identifierade en sårbarhet. Det rapporterade problemet har rättats. Tack och lov tror vi att vi åtgärdat problemet innan det utnyttjades av någon illvillig part. Som en del av vårt åtagande att förbättra säkerheten i vår tjänst samarbetar vi med ett ledande säkerhetsföretag för att förenkla och förbättra möjligheten för säkerhetsforskare att rapportera problem som dessa. Dessutom kommer vi snart att tillkännage ett nytt bug bounty-program för att ge ytterligare incitament för forskare att hjälpa oss att hålla vår tjänst säker framöver.

Samt sett var detta en dålig bugg med ett bra resultat: Grindr gjorde bra ifrån sig när jag kom i kontakt med dem, jag tror att de gör några positiva förändringar när det gäller hanteringen av säkerhetsrapporter och, naturligtvis, felet har rättats. Åh – och Scott fick några nya vänner 😊

Säkerhet

Leave a Reply