Metasploit ist ein leistungsfähiges Tool, das von ethischen Hackern verwendet werden kann, um systematisch Schwachstellen zu erkennen und diese proaktiv zu beheben, bevor sie von Hackern ausgenutzt werden.
Es gibt zahlreiche Pentesting Tools, welche die Arbeit eines Ethical Hackers während eines Pentests unterstützen. Das bekannteste unter ihnen ist das Metasploit Framework. Das auf Ruby basierende Open-Source Framework bietet eine große Anzahl an Tools und Modulen, mit denen es möglich ist komplexe Angriffe in kurzer Zeit zu erstellen, um somit erfolgreich Systeme zu hacken.
Metasploit ist ein leistungsfähiges Tool, das von ethischen Hackern verwendet werden kann, um systematisch Schwachstellen zu erkennen und diese proaktiv zu beheben, bevor sie von Hackern ausgenutzt werden. Metasploit ist zwar ein fester Bestandteil des Toolkits eines jeden Pentesters, wird aber auch von Hackern mit böswilligen Absichten genutzt. So können auch Cyberkriminelle die Tools von Metasploit verwenden, um Schwachstellen zu identifizieren und diese auszunutzen.
Durch die verschiedenen Tools, Bibliotheken und Module von Metasploit wird es einem Benutzer einfach ermöglicht, ein Exploit-Modul zu konfigurieren, dieses mit einem Payload zu versehen und anschließend damit, einen Angriff auf ein Zielsystem zu starten. Die umfangreiche Datenbank von Metasploit enthält Hunderte von Exploits mit verschiedenen Payload.
Im Rahmen eines Penetrationstest kommt Metasploit bereits in der Phase der Informationsbeschaffung zum Zug. In Kombination mit verschiedenen Enumerationtools, wie Nmap, wird versucht, Schwachstellen im System zu finden. Sobald eine Schwachstelle identifiziert wurde, wählt man den passenden Exploit sowie den Payload aus, um die Schwachstelle anzugreifen. Ist der Exploit erfolgreich, wird der Payload am Zielsystem ausgeführt, und der Angreifer erhält z.B. eine Shell, um mit dem Payload zu interagieren. Einer der beliebtesten Payload für Angriffe auf Windows Systeme ist Meterpreter – eine interaktive Shell. Sobald Metasploit auf dem Zielcomputer ist, werden viele verschiedene Tools für die Ausnutzung von Privilegien, Keylogger, Screen Capture und Pivoting Tools angeboten, um weiter in das System vorzudringen oder einen persistenten Zugriff zu ermöglichen.
Die umfangreichen Funktionen von Metasploit sind erweiterbar, sodass es sich leicht an die jeweiligen Anforderungen eines Angriffs respektive an das Zielsystem anpassen lässt.
Die Architektur des Metasploit Frameworks besteht aus den folgenden Teilen:
Interfaces sind die verschiedenen Möglichkeiten, wie ein Benutzer auf das Metasploit Framework zugreifen kann. Hierzu gibt es vier verschiedene Schnittstellen.
Bibliotheken enthalten die verschiedenen Funktionen des Metasploit-Frameworks, mit denen Benutzer Exploits ausführen können, ohne zusätzlichen Code schreiben zu müssen.
Es gibt drei Metasploit-Bibliotheken:
Für die Durchführung der eigentlichen Aufgaben wie Scans oder Exploits werden sogenannte Module verwendet. Es gibt fünf Haupttypen von Metasploit Modulen, die je nach Aufgabe kategorisiert werden:
Payload
Payloads sind Shellcodes, die die vom Angreifer beabsichtigten Aktionen ausführen, sobald ein Exploit ein Zielsystem kompromittiert hat. Sie können verwendet werden, um Meterpreter oder Kommandozeilenshells zu öffnen. Meterpreter Shells sind hoch entwickelte Payloads, die während eines Cyberangriffs verwendet werden, um Code auszuführen und weitere Erkundungsaufgaben durchzuführen.
Exploits
Ausführen von Befehlssequenzen, um Schwachstellen in Systemen oder Anwendungen auszunutzen und Zugang zu Zielsystemen zu erhalten.
Post-Exploitation-Module
Post-Exploitation-Module ermöglichen es den Benutzern, tiefergehende Informationen zu sammeln und ein Zielsystem nach der Ausnutzung weiter zu infiltrieren.
Encoder
Encoder verschleiern Nutzdaten während der Übertragung, um sicherzustellen, dass sie erfolgreich an das Zielsystem übermittelt werden und die Erkennung durch Antiviren-Software, Intrusion Detection Systems (IDS) und Intrusion Prevention Systems (IPS) umgehen.
NOPs (No Operation)
NOP-Generatoren erstellen zufällige Bytefolgen, um Systeme zur Erkennung und Verhinderung von Eindringlingen zu umgehen.
Hilfsmodule
Zu den Hilfsmodulen gehören Schwachstellen-Scanner, Port-Scanner, Fuzzer, Sniffer und andere Exploitation-Tools.
Tools und Plugins erweitern die Funktionalität des Metasploit-Frameworks, so wird etwa das Plugin pattern_create häufig bei der Entwicklung von Buffer Overflow Exploits verwendet, um nicht wiederkehrende Muster zu erstellen, um zu testen, bei welchem Zeichen der Speicher überläuft und das Programm abstürzt. Das Plugin pentest hilft unter anderem bei der Durchführung gängiger Aufgaben bei Penetrationstests.
Die Verwendung von Metasploit bietet Sicherheitsteams viele Vorteile, darunter folgende:
Open Source
Ein Vorteil bei der Verwendung von Metasploit ist, dass es ein Open-Source-Projekt ist und somit man die Möglichkeit hat auf den Quellcode zuzugreifen und diesen auch aktiv weiterzuentwickeln, dies z.B. durch das Hinzufügen benutzerdefinierter Module.
Automatisierung von Aufgaben
Metasploit ermöglicht es Pentestern, einige der Aufgaben, die während eines Pentests anfallen, zu automatisieren, und können sich somit auf andere wichtige Parts während des Tests konzentrieren.
Einfache Payloadgenerierung
Der Wechsel zwischen verschiedenen Payloads funktioniert durch den Befehl „set payload“ sehr schnell. Daher ist es einfach, den Interpreter oder den Shell-basierten Pfad in eine spezifischere Operation zu ändern, wie das Hinzufügen eines Benutzers und den Zugriff auf einen Remote-Desktop. Des Weiteren kann Shellcode zur Verwendung in Standard-Exploits mithilfe von „msfvenom“ über die Befehlszeile sehr einfach generiert werden.
Sauberes Beenden des Exploitcodes
Das Beenden eines Exploits kann durch Metasploit sehr sauber abgewickelt werden. Dies ist besonders in Produktivumgebungen oder bei Diensten, die lange brauchen, um zu starten, ein wichtiger Faktor.
Wer von WannaCry oder NotPetya gehört hat, hat wahrscheinlich auch schon von EternalBlue gehört. EternalBlue nutzt Schwachstellen im SMBv1 Protokoll aus. Mithilfe von Metasploit kann ein Angriff gegen ein System mit dieser Schwachstelle durchgeführt werden.
Nachdem man festgestellt hat, dass ein System diese Schwachstelle aufweist, muss man in Metasploit nur noch das richtige Modul und einen Payload auswählen, anschließend noch die Informationen für das Zielsystem setzen und schon kann man den Angriff starten.
Mithilfe von nmap kann man feststellen, ob das System die Eternalblue Schwachstelle aufweist.
nmap -p 445 -script vuln 10.10.10.40
Ist das der Fall, muss man nur noch Metasploit starten und das richtige Modul auswählen.
Für diesen Payload wird standardmäßig ein Meterpreter Payload verwendet. Um den Payload richtig zu konfigurieren ist es notwendig die IP-Adresse und Ports des Zielsystems, sowie des angreifenden Systems anzugeben.
Lässt man den Exploit anschließend laufen, erhält man im erfolgreichen Fall eine Shell am Zielsystem.
Bei der Verwendung der spezialisierten Linux-Distributionen für Sicherheitsexperten, wie Kali Linux oder Parrot OS, ist Metasploit bereits auf dem System vorinstalliert.
Bei der Verwendung anderer Betriebssysteme ist eine manuelle Installation notwendig. Hierzu ist es notwendig für Linux / macOS die zugehörige ERB Datei und für Windows den MSI Installer runterzuladen und zu installieren. Eine genaue Anleitung zum Download und für die Installation findet sich in der Metasploit Dokumentation.
Um auf den vollen Funktionsumfang von Metasploit zugreifen zu können, ist es notwendig, die lizenzierte Version von Metasploit zu kaufen.
Dieser Beitrag zeigt letztlich nur einen sehr kleinen Überblick in die Funktionalität von Metasploit. Ein gesamtheitlicher Einblick ist aufgrund der großen Anzahl an Modulen auch nur sehr schwer möglich, vor allem da auch ständig neue hinzukommen. Durch diese große Anzahl an Module und Einsatzmöglichkeiten ist Metasploit ein sehr mächtiges Tool, um die Arbeiten während eines Pentests zu unterstützen und um manche Aufgaben zu automatisieren. Es sollte jedoch beachtet werden, dass die alleinige Verwendung von Metasploit nicht für eine umfangreiche Sicherheitsüberprüfung ausreichend ist.
Vereinbaren Sie ein unverbindliches Erstgespräch mit einem unserer Vertriebsmitarbeiter. Nutzen Sie den folgenden Link, um einen Termin auszuwählen: