Suchen

Security-Tools – Das Metasploit-Framework (Teil 2)

Exploits für Client- und Server-Applikationen entwickeln und anwenden

Seite: 2/3

Mithilfe von Fuzzing schnell konkrete Ergebnisse erzielen

Der Einsatz und Nutzen von Fuzzern ist unter Sicherheitsexperten noch immer stark umstritten. Dennoch sind solche Tests in größeren Unternehmen zum festen Bestandteil bei der Entwicklung neuer Software geworden.

Mithilfe von Metasploit lassen sich derartige Skripte sehr schnell realisieren. Um ein Modul zum Auffinden schwacher Passwörter in IMAP-Servern zu einem Fuzzer für das entsprechende IMAP-Protokoll zu machen, bedarf es nur der Änderung weniger Zeilen Code.

Bibliotheken gibt es zudem für fast jeden erdenklichen Netzwerkdienst. Von weit verbreiteten wie FTP und SMTP bis hin zu Raritäten wie NDMP, das zum Steuern von NAS-Servern dient. Dies spart Zeit und passt zu einem der Ziele von Metasploit: Jeglicher Code muss schnell und einfach weiterverwendet werden können.

Um das eigene Skript zu nutzen, muss dieses noch in der Ordnerstruktur an der richtigen Stelle abgelegt werden, damit es anschließend über die MSF-Konsole aufgerufen und gestartet werden kann. Zur gezielten Analyse etwaiger Crashs sollte der Dienst zeitgleich im Debug Modus laufen; zum Beispiel mithilfe des darauf spezialisierten und freien Immunity Debugger.

Einen funktionalen Exploit mit geeignetem Payload realisieren

Wird bei einem Sicherheitstest ein Fehler gefunden, der in keinem der über 400 mitgelieferten Exploits genutzt oder in anderen öffentlich zugänglichen Fehlerberichten beschrieben wird, spricht man von einer Zero-Day-Lücke. Der zur Ausnutzung dieser Lücke zu entwerfende Angriffscode wird als Zero-Day(-Exploit) oder szenetypisch 0day bezeichnet.

Der Zeitaufwand hängt von der Komplexität der betroffenen Applikation und den eingesetzten Schutzmechanismen ab. Grundlegende Informationen, wie etwa die genauen Stellen bestimmter Operationen im Speicher, lassen sich mit einer Reihe vorinstallierter Tools und API-Funktionen schnell ermitteln.

Entscheidend ist abschließend die Wahl eines geeigneten Payloads, der bei erfolgreicher Ausführung auf dem System gestartet wird. Für verschiedene Varianten von Linux, Unix und BSD bis hin zu Windows in 32- und 64-Bit, enthält Metasploit hunderte einsatzbereiter Codes. Je nach benötigter Größe, reicht deren Funktionsumfang vom Anlegen eines neuen Nutzers bis zum Aufbauen einer grafischen Verbindung mittels VNC.

Seite 3: Lücken in Sicherheitssystemen mit Binärcode aufdecken

(ID:2042713)