Damit ihr in Sachen Cybersecurity Schwachstellen besser identifizieren und Angriffen entgegenwirken könnt, ist es wichtig, eine grobe Vorstellung davon zu haben, wie das Web, Betriebssysteme, PCs, Smartphones, digitale Anwendungen und Angriffe funktionieren.
In diesem Beitrag zeige ich euch, wie mit Hilfe einer Brute-Force-Attacke ein Social-Media-Account übernommen werden kann. Zuvor werden wir uns allerdings kurz mit einigen Grundlagen auseinandersetzen.
Was ist eine Brute-Force-Attacke?
Bei einer Brute-Force-Attacke versucht ein Angreifer sich Zugang zu sensiblen Daten und Systemen zu verschaffen. Um Zugriff zu erhalten, testet er möglichst viele Kombinationen von Benutzernamen und „erratenen“ Passwörtern aus.
Ist der Angriff erfolgreich, kann der Eindringling das System betreten, es übernehmen oder sich als legitimer Benutzer ausgeben um dort sein Unwesen zu treiben und Schaden anzurichten, bis er erkannt wird.
Die Zeit, in der der Eindringling unerkannt bleibt, nutzt er um Hintertüren zu installieren, Daten zu stehlen oder Kenntnisse über das System für künftige Angriffe zu erhalten.
In der COVID-19-Pandemie und durch die zunehmende Nutzung von IOT-Geräten hat die Zahl der Brute-Force-Attacken stark zugenommen. Mitarbeiter im Homeoffice (Remote Worker) sowie Privatpersonen sind ein beliebtes, meist sehr leicht zu kaperndes Ziel und ein willkommener Türöffner für einen Eindringling, um letztlich auch Zugriff auf ein Unternehmensnetzwerk zu erhalten.
Wie funktioniert eine Brute-Force-Attacke? Auf welche Technologien, auf welches Know-how greifen Angreifer zurück?
Für Brute-Force-Attacken benötigt man ein Computersysteme mit leistungsstarken Prozessoren (CPU) und schnellen Grafikprozessoren (GPU) sowie automatisierte Tools, die mögliche Lösungsansätze, Kombinationen und Algorithmen abarbeiten, um Zugang zu einem System zu erhalten.
Ist bei einem Angreifer das Know-how zum Entwickeln eigener Tools und Methoden nicht vorhanden, kann er es im Dark Web in Form von Malware-Kits für überschaubare Geldbeträge erwerben.
Im Dark Web werden auch Listen mit Anmeldeinformationen (Nutzernamen, E-Mail-Adressen, Passwörter, usw.) oder Wörterbücher verkauft. Ab und an kommt es auch schon mal vor, dass man diese Datensätze kostenfrei im regulären Web (Visible Web) erhält.
Sobald der Angreifer seine Tools installiert und eingerichtet hat und sie mit den Listen oder Wörterbüchern sät, wird der der Angriff gestartet. Attacke!
Warum nutzen Hacker Brute-Force-Attacken? Was haben sie davon?
Angreifer können die Brute-Force-Methode einsetzen, um sensible Daten zu stehlen, Systeme für böswillige Zwecke zu kapern, Malware zu verbreiten oder Websites nicht erreichbar zu machen. Sie machen ihre Angriffe zu Geld, indem sie Website-Traffic auf Werbeseiten umleiten oder Websites mit Spyware infizieren.
Mit Spyware infizierte Webseiten eignen sich hervorragend dazu Daten zu sammeln. Diese gesammelten Daten werden dann widerum an Werbetreibende verkauft.
Brute-Force-Attacken haben sich inzwischen zu lukrativen Einnahmequellen von Cyberkriminellen entwickelt. Erbeutete Online-Zugänge werden im Dark Web zu hohen Preisen gehandelt und als willkommener Türöffner für weiterführende Cyberattacken genutzt.
Welche Gefahren gehen von Brute-Force-Attacken aus?
Mit Hilfe einer Brute-Force-Attacke können Angreifer z. B. Zugänge und Systeme kompromitieren. Komplexe Systemverschlüsselungen von Mobilgeräten, Smartphones oder Notebooks lassen sich ebenfalls mit dieser Methode knacken.
Geraten sensible Daten oder Kundenkonten in die falschen Hände oder gar aus Nachlässigkeit in die Öffentlichkeit, entstehen dadurch hohe Schäden. Neben operativen, finanziellen Einbußen ist in solchen Fällen auch mit beträchtlichen Imageschäden zu rechnen. Ausserdem drohen den betroffenen Unternehmen kostspielige Strafzahlungen wegen mangelnder IT-Sicherheit und Datenschutzverstößen.
Wie gelingt die Übernahme eines Benutzerkontos mit Hilfe einer Brute-Force-Attacke?
Wir gehen in dem nachfolgenden Beispiel davon aus, dass es in meinem fiktiven Social-Media-Netzwerk „facepuck“ einen Benutzer Namens „Robin Goodfellow“ gibt . Robin Goodfellow ist einer von 5 Millionen Nutzern bei facepuck. Er hat 2.589 Freunde. Das ist gut so, denn diese Freunde bieten sich als potentielle „Opfer“ für weiterführende Attacken an.
Ich werde nur sehr grob und nicht detailliert auf die einzelnen Schritte einer Brute-Force-Attacke eingehen. Dieser Beitrag dient dazu, in einer verständlichen, anschaulichen und laienfreundlichen Art und Weise das grundlegende Prinzip einer Brute-Force-Attacke zu erklären und darzustellen.
1
Das Ziel meiner Attacke sind nicht alle 5 Millionen facepuck-Nutzer, mein Ziel ist eine einzelne Person: Robin Goodfellow! Habe ich ebenfalls einen Account bei facepuck, rufe ich das Profil von Robin Goodfellow auf, um an den Benutzernamen zu kommen.
2
Nachdem ich den Benutzernamen „Robin.Goodfellow“ aus der Browseradresszeile des Profils kopiert habe, rufe ich die Anmeldeseite von facepuck auf und gebe den Benutzernamen ein. Damit ich Zugang zum Account von Robin Goodfellow erhalte, fehlt mir jetzt „nur“ noch das entsprechende Passwort.
3
Um an das Passwort von Robin Goodfellow zu gelangen, führen wir unter Zuhilfenahme der Web-Entwicklertools im Web-Browser einen sogenannten POST-Request durch. Wir geben im Passwort-Feld z. B. „Passworttest“ ein und klicken anschliessend auf „Anmelden“. Im Anschluß daran erhalten wir im Browser-Fenster den Hinweis, dass das eingegebene Passwort nicht korrekt, sondern falsch ist.
Hier siehst du ein Beispiel eines POST-Requests im Firefox-Browser:
Du kannst die Web-Entwicklertools in Firefox oder Chrome auf jeder beliebigen Website aufrufen, indem du mit der rechten Maustaste irgendwo auf die Seite klickst. Im aufklappenden Menü wählst du dann den Punkt „Untersuchen“ aus. Um ein POST-Request durchzuführen, musst du zum Tab „Netzweranalyse“ navigieren. Hier kannst du POST-Requests mit veränderten Parametern beliebig oft durchführen.
4
Jetzt kommen unterstützende Tools ins Spiel, die uns das Senden von abertausenden POST-Requests automatisiert abnehmen.
Mit den gewonnenen Daten aus unserem POST-Request unter Eingabe des Passworts „Passworttest“ (siehe Punkt 3) und einem Tool wie z. B. Hydra, gleichen wir alle Passwörter aus einer sehr umfangreichen Liste mit unzähligen, möglichen Passwörtern auf Übereinstimmung mit dem Benutzernamen ab.
Im Request Body, siehe Abbildung unten, fügen wir die Variable PASSWD ein. Sie ist die Unbekannte, die wir mit unserem Tool und der Passwortliste automatisiert checken bzw. durchlaufen lassen, bis das richtige Passwort gefunden wird.
Wird das richtige Passwort zum Benutzer Robin Goodfellow gefunden, beendet unser Tool die durchlaufende Routine automatisch.
Mit den durch die Brute-Force-Attacke ermittelten Anmeldedaten von Robin Goodfellow können wir uns nun auf der Anmeldeseite von facepuck mit seinen sicher geglaubten Zugangsdaten einloggen und das Konto übernehmen.
HTTP POST-Request:
Ergebnis unseres ersten POST-Requests:
POST https://de.facepuck.com/login.php
Request Header:
Host: facepuck.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: de,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate, br
...
Request Body:
username=Robin.Goodfellow&password=Passworttest
Erneuter, automatisierter POST-Reqeuest mit veränderten Parametern:
Request Body beim erneuten Senden:
username=Robin.Goodfellow&password=^PASSWD^ // ^PASSWD^ ist die Unbekannte, die wir mit Hilfe der Passwortliste und eines Tools (z. B. Hydra) automatisiert checken bzw. durchlaufen lassen, bis das richtige Passwort gefunden ist.
Wie ihr euch vor Brute-Force-Attaken erfolgreich schützen könnt, erfahrt ihr in meinem nächsten Beitrag : )
Was steht in nächster Zeit noch auf meiner Agenda? Zum Beispiel eine Einführung zum Thema Ransomware und wie ihr euch gegen Ransomware schützen könnt. Ausserdem habe ich in regelmäßigen Abständen immer wieder Tipps, Tricks, Hacks, Code-Snippets für WordPress und WooCommerce parat.