Vorab sei zuerst erwähnt, dass das folgende Programm lediglich in seinen eigenen Netzwerken dazu eingesetzt werden darf, um bestehende Sicherheitslücken aufzudecken und abzusichern. In nicht authorisierten Netzwerken macht man sich hier schnell strafbar, deshalb sollte das ganze tatsächlich nur mit Bedacht eingesetzt werden.
Gründe, um die Sicherheit in eigenen Heimnetzwerken aber auch in kritischen Unternehmensnetzwerken kritisch zu hinterfragen gibt es viele. Der nächstliegendste ist natürlich, dass bei schwachen Passwörtern Angreifer unberechtigt an Systeme und Daten gelangen, die als kritisch anzusehen sind und großen Schaden bei Missbrauch bedeuten. Als Beispiele seien hier insbesondere Administratorzugänge zu Datenbanken, E-Mail Servern oder anderen kritischen Infrastrukturen genannt.
Nun kommt es leider immer noch recht häufig vor, dass Menschen faul sind und nur schwache Passwörter verwenden, die entweder leicht erraten werden können, in einem Wörterbuch stehen oder in verhältnismäßig kurzer Zeit mittels eines Brute-Force-Angriffes ermittelt werden können. Alle diese 3 genannten Optionen sind dringend zu vermeiden. Um nun zu überprüfen, ob solch schwache Passwörter in seinem System vorliegen sollte man vorgehen, wie ein potentieller Angreifer dies auch tun würde. Für dieses Anliegen kommt nun Medusa ins Spiel.
Medusa befindet sich in den Paketquellen von Ubuntu und kann mittels des bekannten Befehls
sudo apt-get install medusa
einfach installiert werden. Medusa steht unter der GPLv2 und beschreibt sich selbst als ein schnelles, stark parallelisiertes und modular aufgebautes Brute-Force Programm. Man kann es am ehesten mit Hydra vergleichen. In meinen Tests war jedoch Medusa um einiges schneller, da es Thread-basiert arbeitet, während Hydra einen prozessbezogenen Ansatz wählt. Da insbesodnere bei Brute-Force die Zeitkomponente eine wesentliche Rolle spielt, halte ich Medusa hier für die bessere Wahl.
Medusa unterstützt nahezu alle Dienste, die sich über eine entfernte Verbindung mittels Benutzernamen und Passwort authentifizieren. Dazu zählen:
- HTTP
- FTP
- VNC
- MS-SQL/MySQL
- IMAP
- POP3 und einige mehr
Wie oben bereits angesprochen wird man eine Wörterbuchliste benötigen mit denen man die einzelnen Passwörter durchprobieren kann. Wie man hier an gute Wörterbuchlisten kommt, soll hier nicht das Thema sein, eine Suche bei Google bringt aber einiges zu Tage. Hierzu könnte man sich auch das Open Source Programm Wyd näher anschauen, welches es ermöglichen soll nur eine passende Wortliste aus verfügbaren Informationen zu generieren.
Medusa ist ein Kommandozeilenprogramm. Um dies nun nutzen zu können, kann man sich folgendes Beispiel überlegen, anhand dessen man die Verwendung illustriert:
Möchten wir auf unseren eigenen Netzwerkrouter zugreifen, benötigen wir 3 grundlegende Informationen:
- IP des Routers: gewöhnlich 192.168.2.1 (kann bei Routern etwas abweichen, u.a. auch 192.168.1.1)
- Benutzername (im Bsp. admin)
- Protokoll
Der Befehl um zu überprüfen, ob sich das Passwort nun in unserer Wörterbuchliste befindet lautet:
medusa -h 192.168.2.1 -u "admin" -P passwordlist.txt -M http
- -h steht für den Host
- -u für den Benutzernamen
- -P für die Wörterbuchliste
- -M für das Modul, also den entsprechenden Dienst, in unserem Fall per HTTP
Weitere mögliche Parameter bekommt man, wenn man einfach nur medusa in die Konsole eingibt.
Der Vorteil von Medusa besteht noch zusätzlich darin, dass man sich nicht auf einen Benutzernamen festlegen muss , sondern sowohl eine Liste der Benutzernamen, als auch eine Passwortliste angeben kann, wodurch dann jeweils die passende Kombination aus beiden Listen gesucht wird.
Möchte man beispielsweise die E-Mail Postfächer überprüfen ist dies folgendermaßen möglich:
192.168.1.20 -U emailusers.txt -P passwordlist.txt -t 10 -L -M POP3
Der Parameter – L sorgt dafür, dass Medusa angewiesen wird, mehrere Benutzernamen gleichzeitig zu benutzen und der Parameter -t gibt an, wieviele Benutzernamen gleichzeitig getestet werden sollen.
Falls einmal ein modul nicht funktioniert sollte man einmal
medusa -d
aufrufen, um alle installierten Servicemodule durchzuschauen.
Fazit
Medusa ist ein sehr wirkungsvolles Brute-Force Programm um die Sicherheit der Passwörter seiner Benutzer zu prüfen. Sollte man hier auf schwache Passwörter treffen, sollte man in enger Absprache mit den Benutzern eine Sensibilisierung vornehmen und aktiv darauf einwirken, dass ihre Passwörter verbessert werden sollten. Zusätzlich kann im Falle mehrere positiver Treffer auch angedacht werden, die Passwortrichtlinien im Unternehmen und daheim zu verstärken, indem man sie mit den bekannten Methoden, wie Sonderzeichen, Groß-/Kleinbuchstaben, Zahlen und Länge verstärkt.
Wer nähere Informationen und weitere Befehle braucht, sei an dieser Stelle auf die Dokumentation seitens Medusa verwiesen, die noch zahlreiche weitere Einsatzzwecke näher beleuchtet.
Zum Abschluss sei noch einmal auf den Eingangssatz verwiesen, dass dies nur im eigenen Netzwerk und mit Absprache der betreffenden Benutzer gestattet ist!