Telegram Nutzerdaten herausfinden: User Enumeration & De-anonymization

Die Organisation pro-russischer Hackergruppen wie Killnet in Telegram-Gruppen wirft die Frage auf, ob man über Telegram Nutzerdaten herausfinden kann. Wir stellen in diesem Artikel zwei Proof of Concepts vor, durch die Telegram Nutzer de-anonymisiert werden können.

Inhaltsverzeichnis

Die Idee: Über Telegram Nutzerdaten von Killnet-Mitgliedern herausfinden

Der Krieg in der Ukraine hat zu einer Zunahme von pro-russischen Hackerangriffen auf westliche Behörden und Unternehmen geführt. Um diesen Angriffen entgegenzuwirken, hat ProSec den Live Attack Parser entwickelt. Dieser Parser scannt die Telegram Gruppen der Angreifer und liefert so Informationen über geplante Angriffe. Dies bietet Unternehmen die Möglichkeit, sich besser gegen geplante Angriffe zu schützen.

Bei der Untersuchung der Telegram Gruppen stellte sich heraus, dass diese hauptsächlich über eine Reihe Untergruppierungen von Killnet organisiert werden, meist geleitet von Gruppenleitern. Daraus ergab sich für uns folgende Frage: Kann man über Telegram Nutzerdaten herausfinden, um so die für Cyberattacken verantwortlichen Nutzer zu deanonymisieren?

Alle vorgestellten Proof of Concepts wurden im August 2022 entwickelt. Zum Zeitpunkt ihrer Veröffentlichung (Mitte November 2022) sind alle PoC weiterhin funktionstüchtig.

Du willst dir die Folgen eines erfolgreichen Hackerangriffs auf
dein IT-System ersparen?
Teste jetzt deine IT durch einen professionellen Penetrationstest!
Zum Penetrationstest

Allgemeine Funktionsweise & Voraussetzungen

Grundsätzlich nutzen die Proof of Concepts das Problem aus, dass Telegram keine Kontaktanfragen-Funktion hat und es somit ermöglicht, über einige Wege anhand der Handynummer an Daten wie den Usernamen zu kommen. Hierzu werden das schlecht implementierte Handling von URIs und die personalisierten t.me Links verwendet. Diese erlauben es, andere Nutzer über den Username oder die Telefonnummer zu kontaktieren.

Voraussetzung hierfür ist, dass die Zielperson/ der Nutzer die Einstellung „Wer mich unter meiner Nummer finden kann“ auf „Jeder“ gestellt hat.

Die Einstellung „Wer darf meine Nummer sehen“ ist hierbei irrelevant, da die Nummer über die URI/API aufgelöst wird. Es ist somit egal, ob sie in der App angezeigt werden darf, da man die Anfrage zur Antwort korrelieren kann.

Zusätzlich ist es möglich, über gemeinsame Gruppen oder den hinzugefügten Kontakt der Zielperson die gefunden Nummer zu validieren.

Telegram Nutzerdaten herausfinden: Einstellungen
Privacy and Security Einstellungen der Telegram App (iOS)

Proof of Concepts: Telegram Nutzerdaten herausfinden

User Deanonymization via Web und Desktop Application

Funktionsweise

Die Vorgehensweisen der User Deanonymization über die Web und Desktop Applikation sind sich sehr ähnlich, da sie beide die URI zur Auflösung der angeforderten Nummer verwenden.

Der Hauptunterschied liegt darin, dass die Web App die URI als URL encodierte Query entgegennimmt und die Desktop App direkt über die tg:// URI aufgerufen wird.

Telegram URI
Telegram URI zum Auflösen von Nummern via t.me links

Sobald man die Anfrage über einen Browser sendet, wird man jeweils auf die Web oder Desktop Applikation weitergeleitet. Falls die angeforderte Nummer existiert, wird der Chat geöffnet. Andernfalls erscheint der Hinweis „<number> Not Found“.

Telegram Attack Chain
Attack Chain - Web/Desktop Application

Enumeration über Web vs. Desktop Application

Da Telegram den Zugriff auf besagte URI’s über Desktop Web Apps aktuell nicht limitiert, kann man beliebig viele Anfragen senden. So kann man Nummern bruteforcen und diese anschließend beispielsweise anhand von gemeinsamen Gruppen oder (falls vorhanden) dem Benutzernamen korrelieren.

Im Falle der Enumeration über die Web Applikation ist die Anzahl der gesendeten Anfragen allerdings recht hoch und somit relativ auffällig. Anfragen könnten hierbei leicht von einer Web Application Firewall (WAF) erkannt und blockiert werden.

Bei der Enumeration über die Desktop Applikation hat man besagtes Problem nicht, da man nur indirekt Anfragen an die Web Infrastruktur von Telegram sendet. Allerdings gestaltet sich hier das Response Handling deutlich umständlicher, da man nicht mit HTTP Responses arbeiten kann. Das schränkt auch die Geschwindigkeit deutlich ein.

User Deanonymization via Telethon API

Funktionsweise

Telethon ist eine Python-Bibliothek, die es ermöglicht, indirekt mit der API von Telegram zu interagieren. Sie stellt eine Reihe von Funktionen bereit, um Nutzer-Informationen abzufragen.

Dazu zählt die „ImportContactsRequest“, welche es erlaubt, Nutzer über eine Telefonnummer zu den eigenen Telegram Kontakten hinzuzufügen. Anschließend ist es möglich, über die get_entity Funktion eine Reihe von Nutzerdaten anzufragen – beispielsweise Username und Profilbild.

Kommunikation Telethon
Attack Chain - Telethon API

Vor- & Nachteile

Die Telethon API bietet zwei Vorteile. Zum einen ist es deutlich einfacher, die entstehenden Datensätze weiter zu verarbeiten. Zum anderen erhält man eine Reihe weiterer nützlichen Informationen wie beispielsweise den Language Code des angeforderten Nutzers, falls dieser gesetzt ist.

Allerdings ist diese API Schnittstelle stark eingeschränkt: Nach einer bestimmten Anzahl von Anfragen an die API wird man vorübergehend geblockt. Das macht das effektive Enumerieren von Nummern aktuell fast unmöglich. 

Fazit: Vor- und Nachteile der PoC und Ausblick

Alle vorgestellten Proof of Concepts sind dazu geeignet, Telegram Nutzerdaten herauszufinden. Bei der Entscheidung für eines der PoC ist relevant, wie viele Ressourcen zur Verfügung stehen, um so viele Nummern wie möglich aufzulösen. Es spielt auch eine Rolle, wie die Nummern generiert werden. Beispielsweise wäre es möglich, mit speziellen Präfixen effektiver zu bruteforcen, wenn es Informationen darüber gäbe, wo sich das Ziel möglicherweise befindet.

Es bleibt die Frage, wie Telegram in Zukunft mit solchen Funktionen umgehen wird, um möglichen Angriffen auf die Privatsphäre seiner Nutzer entgegenzuwirken. Dies würde sich natürlich auf die Funktionalität der vorgestellten Proof Of Concepts auswirken.

Telegram Nutzerdaten herausfinden: PoC Vergleich
Übersicht Vor- und Nachteile der Proof of Concepts
Steigere jetzt die Sicherheit deines IT-Systems!
Von uns erhältst du eine ausführliche Beratung!
Jetzt kontaktieren
ANDERE BEITRÄGE

Inhaltsverzeichnis

Willst Du Teil unseres Teams werden?