BLOG

Angriffstool auf dem Vormarsch: Kontoprüfer

F5 Miniaturansicht
F5
Veröffentlicht am 21. Januar 2015

Heute stellen wir ein Angriffstool vor und erklären es, das bei unseren Kunden immer häufiger zum Einsatz kommt: den Account Checker.

Dieses Credential-Stuffing-Tool ist nicht neu, aber seine Verwendung nimmt aus Gründen, die wir weiter unten erläutern, stark zu. Obwohl das Konzept von Kontoprüfern sehr einfach und benutzerfreundlich ist, sind sie äußerst leistungsstark.

Account-Hacker

Beschreibung von Account Checkers

Ein Account-Checker ist ein Angriffstool, das Listen mit verschütteten Benutzernamen-/Passwort-Paaren (also „Anmeldeinformationen“) erstellt und diese anhand einer Zielwebsite testet.

Leistungsstarke Kontoprüferpakete kosten nur 100 US-Dollar und Angreifer können auch ihre eigenen Kontoprüfer mithilfe von handelsüblichen Web-Automatisierungs-Toolkits wie Mechanize, PhantomJS, IEC.py, Sikuli, Selenium oder iMacros erstellen. Diese Toolkits reduzieren den technischen Aufwand für das Schreiben von Kontoprüfern und die Durchführung von Credential-Stuffing-Angriffen.

Anatomie der Account Checker-Nutzung

  1. Angreifer erbeutet Passwörter durch einen Website-Einbruch oder von einer Passwort-Dump-Site
  2. Angreifer testet gestohlene Anmeldedaten mit Account-Checker auf zahlreichen Websites
  3. Erfolgreiche Anmeldungen (normalerweise 0,1–2 % aller Anmeldungen) führen zur Übernahme des Kontos
  4. Angreifer entwendet gespeichertes Guthaben, Kreditkartennummern und andere personenbezogene Daten von gestohlenen Konten
  5. Angreifer können dieses Konto auch für andere schändliche Zwecke verwenden (Spam, weitere Transaktionen usw.).

Beispiel für einen harmlosen Kontoprüfer

Unten sehen Sie einen „harmlosen“ Kontoprüfer namens namechk.com , der veranschaulicht, wie Kontoprüfer funktionieren. Dieses Tool prüft, ob ein bestimmter Benutzername in verschiedenen sozialen Netzwerken verfügbar ist. Wir haben den Benutzernamen „shapesecurity“ überprüft und dieses Tool hat alle Sites korrekt identifiziert, auf denen dieser Benutzername verwendet wurde.

Dieser Dienst verwendet ein Skript, das einen bestimmten Benutzernamen automatisch mit allen im Bild sichtbaren Websites (z. B. Blogger, Facebook, YouTube, Twitter usw.) testet.

Ein Prüfer für kriminelle Konten funktioniert auf die gleiche Weise wie das oben genannte Tool und verfügt zusätzlich über weitere Funktionen, etwa die Überprüfung, ob verschiedene Passwörter (basierend auf Ratealgorithmen oder eines der 25 häufigsten Passwörter ) auf dieser Site funktionieren. Der umfassende Prozess der Überprüfung von Benutzernamen und Passwörtern führt zusammen mit böswilligen Absichten zu weitverbreiteten Credential-Stuffing-Angriffen.

Einer Studie von Microsoft zufolge hat der durchschnittliche Benutzer etwas mehr als sechs Passwörter, jedes Passwort wird von vier verschiedenen Sites verwendet und jeder Benutzer hat etwa 25 Konten, für die Passwörter erforderlich sind. Das bedeutet, dass ein Datendiebstahl an beliebiger Stelle dazu führt, dass die Passwörter von 3,9 der wichtigsten Websites öffentlich werden.

Beispiel für einen angriffsbereiten Account-Checker

Brian Krebs hat unten über den handelsüblichen Kontoprüfer geschrieben . Dabei handelt es sich um dieselbe Art von Tool, die zum Hacken von Hilton verwendet wurde.

Dieser Prüfer kann die Gültigkeit der Anmeldeinformationen feststellen und den Punktestand, die letzten vier Ziffern der Kreditkartennummer sowie die Rechnungsadresse der Karte abrufen.

Unten sehen Sie ein Beispiel für den zugrunde liegenden Code eines Kontoprüfers. Dieser Kontoprüfer testet eine große Anzahl von Anmeldeinformationen. Wenn es ein gültiges Anmeldeinformationspaar findet, liest es die personenbezogenen Daten aus und stiehlt gespeicherte Werte sowie Kreditkartendaten vom Konto.

Woher erhalten Angreifer Listen mit Anmeldeinformationen?

Der Treibstoff für jeden Kontoprüfer ist eine Liste von Anmeldeinformationen. Zum Glück für Angreifer sind zahlreiche Anmeldeinformationen öffentlich zugänglich.

  • 38.000.000 Adobe-Konten
  • 318.000 Facebook-Konten
  • 70.000 Google-Konten
  • 60.000 Yahoo-Konten
  • 22.000 Twitter-Konten
  • 8.000 ADP-Konten
  • 8.000 LinkedIn-Konten

Jeden Tag werden Hunderte weitere Anmeldeinformationen über diesen Twitter-Handle geleakt: twitter.com/dumpmon . Viele Sicherheitsexperten verwenden diese Liste, um zu ermitteln, welche Benutzerkonten auf ihren jeweiligen Sites kompromittiert wurden, und um kompromittierte Konten zu sperren. Offensichtlich nutzen Angreifer diese Liste in Verbindung mit Kontoprüfern auch, um anfällige Konten zu finden, die sie dann für verschiedene betrügerische Aktivitäten verwenden.

Was können Sicherheitsexperten tun, um Kontoprüfer einzudämmen und zu verhindern, dass Angreifer Benutzerkonten kapern?

Um die Antwort zu finden, ist ein Verständnis des Mechanismus erforderlich, mit dem Kontoprüfer funktionieren.

Account-Checker funktionieren, indem sie die statischen Formularelemente der Anmeldeseite als implizite API verwenden. Im obigen Codebeispiel verweist der Angreifer auf verschiedene Formularelementnamen, um mit der Zielwebseite zu interagieren. Die meisten Websites können solche Interaktionen nicht von normalen menschlichen Interaktionen unterscheiden

und nehmen den angreifenden Verkehr somit gerne in Kauf. Auf diese Weise kann der Angreifer die Website mithilfe von Kontoprüfern automatisieren und im Laufe weniger Tage oder Wochen problemlos Millionen von Tests durchführen (häufig mithilfe eines großen verteilten Botnetzes und einer riesigen Anzahl von IP-Adressen, um Raten- und Volumenbeschränkungen zu umgehen). Somit können selbst sehr unerfahrene Angreifer problemlos wirkungsvolle Angriffe auf viele der größten Websites der Welt starten.

Um Websites vor solchen Aktivitäten zu schützen, die wir als „unerwünschte Automatisierung“ bezeichnen, verwenden wir einen Angreifern bekannten Ansatz: Wir ändern den zugrunde liegenden Code der Site bei jedem Seitenaufruf. So wie Malware-Autoren schon seit Langem polymorphen Code verwenden, um Antivirenprodukte zu umgehen, indem sie ständig unterschiedliche Signaturen präsentieren, so schafft die Lösung von Shape ein bewegliches Ziel, das Skripte, die eine Website automatisieren wollen, zum Scheitern verurteilt. Dadurch können Systemadministratoren den Aufwand erhöhen, den ein Angreifer betreiben muss, um eine bestimmte Website erfolgreich zu skripten oder zu automatisieren.

Natürlich werden versierte Leser auf zahlreiche Möglichkeiten hinweisen, wie Angriffe auf unterschiedliche Weise durchgeführt werden können. Die Betrachtung solcher Angriffe (DOM, GUI und andere) geht über den Rahmen dieses Artikels hinaus (ist aber möglicherweise Thema zukünftiger Beiträge). Natürlich legt Shape großen Wert darauf, alle derartigen Angriffe umfassend abzuwehren und verfügt für alle diese Ebenen über Lösungen.