Metasploit für Penetrationstests
Die grundlegenden Tools zur Überprüfung der Sicherheit von Informationssystemen sind Tools zur automatischen Datensammlung auf dem System und Penetrationstests.Daten erfassung im System und Penetrationstests. Eine der beliebten und erschwinglichen OptionenEine beliebte und erschwingliche Option für selbstständiges Pentesting ist Metasploit.
Was ist Metasploit?
Metasploit ist eine Open-Source-Plattform für Penetrationstests, mit der Sie Schwachstellen finden, ausnutzen und bestätigen können. Ziel der Plattform ist es, verschiedene Informationen über bekannte Schwachstellen zu sammeln und diese Informationen Sicherheitsadministratoren und Entwicklern zur Verfügung zu stellen.
Möchten Sie ein tiefgreifendes Verständnis aller modernen Aspekte von Metasploit für Penetrationstests erlangen?Lesen Sie diesen Artikel sorgfältig durch und Lesezeichen setzen, um später wieder darauf zurückzugreifen. Wir aktualisieren diese Seite regelmäßig.
Metasploit verfügt über einen breiten Funktionsumfang. Die Lösung kann sowohl über die Web-Oberfläche als auch über die Befehlszeilenschnittstelle genutzt werden – die Wahl der Option liegt beim Benutzer. Der volle Funktionsumfang steht jedoch nur bei Verwendung der Web-Oberfläche zur Verfügung. Metasploit unterstützt Betriebssysteme der Windows- und Linux-Familie.
Geschichte von Metasploit
Die Geschichte von Metasploit reicht bis ins Jahr 2003 zurück, als der Hacker HD Moore, der als Pentester in einer kleinen Beratungsfirma arbeitete, feststellte, dass die Speicherung und Nutzung von Sicherheitsanalyse-Tools unpraktisch war. Damals handelte es sich lediglich um eine Sammlung verschiedener Exploits und Skripte, deren allgemeine Informationen in einer Datenbank gespeichert waren. Informationen über die erforderliche Umgebung zur Ausführung der Skripte fehlten in der Regel. Außerdem enthielten sie viel veralteten Code und erforderten für jeden einzelnen Fall die Anpassung fest codierter Pfade, was den Arbeitsablauf und die Entwicklung neuer Tools erheblich erschwerte.
Um das beschriebene Problem in Metasploit zu lösen, entwickelte der Autor ein Perl-Konsolen-Utility mit einer Pseudo-Grafik-Oberfläche und integrierte darin etwa elf Exploits. Obwohl die Community die erste Version von Metasploit zunächst kühl aufnahm und sowohl die Architektur als auch die Idee selbst kritisierte, gab HD Moore nicht auf, fand einen Partner, mit dem er die modulare Architektur des Frameworks entwickelte, und veröffentlichte 2004 die zweite Version. Im Laufe der Zeit gewann das Framework an Popularität und neue Mitglieder.
Der nächste wichtige Schritt bestand darin, Metasploit von Perl auf Ruby umzustellen, um die Einschränkungen von Perl zu umgehen, plattformübergreifende Unterstützung zu bieten und eine größere Entwicklungsflexibilität zu erreichen.
Es erschienen PRO- und Community-Versionen, und 2010 wurde eine vereinfachte Version für unerfahrene Benutzer veröffentlicht – Metasploit Express. Das Framework hat längst den Status eines einfachen Sets für Pentester hinter sich gelassen.
Metasploit-Versionen
Heute wird Metasploit in vier Versionen vertrieben:
- Framework- die Basisversion mit einer Konsolenoberfläche;
- Community - eine kostenlose Version, die zusätzlich eine Web-Oberfläche und einen Teil der Funktionen der kommerziellen Versionen umfasst;
- Express- für gewerbliche Nutzer umfasst Funktionen zur Vereinfachung der Durchführung grundlegender Audits und der Berichterstattung darüber;
- Pro– die fortschrittlichste Version, bietet erweiterte Funktionen für Angriffe, ermöglicht die Erstellung von Aufgabenketten für Audits, das Verfassen detaillierter Berichte und vieles mehr.
Zusätzlich zur im Community-, Express- und Pro-Modus verfügbaren Web-Oberfläche existieren Projekte wie Armitage und Cobalt Strike, die eine benutzerfreundliche und intuitive grafische Schnittstelle für die Infrastruktur bereitstellen.
Grundlegende Metasploit-Konzepte
- Datenbank.
Bevor Sie mit der Arbeit am Paket beginnen, sollten Sie die Melon-Datenbank in Betracht ziehen, um Informationen über Hosts, Dienste, Schwachstellen und vieles mehr zu speichern. Die Verbindung zur Datenbank ist keine Voraussetzung für das Funktionieren der Plattform, erhöht jedoch die Benutzerfreundlichkeit der Leistung.Metasploit verwendet PostgreSQL, daher müssen Sie das Datenbankmanagementsystem installieren, bevor Sie mit der Arbeit beginnen. Stellen Sie anschließend sicher, dass die erforderlichen Datenbank- und Framework-Dienste funktionieren.
- Exploit.
Dies ist ein allgemeiner Begriff in der Computersicherheits-Community, der sich auf einen Softwarecode bezieht, der unter Ausnutzung von Fehlern, Ausfällen oder Schwachstellen zu einer Privilegien eskalation oder einem Denial-of-Service für ein Computersystem führt. - Shellcode.
Shellcode ist ein binärer ausführbarer Code, der normalerweise die Kontrolle an die Konsole, command.com in MS-DOS und cmd.exe in Microsoft Windows-Betriebssystemen überträgt. Der Shellcode kann als Exploit-Payload verwendet werden und dem Cracker Zugriff auf die Shell in einem Computersystem gewähren. - Reverse Shell.
Bei der Ausnutzung einer Remote-Sicherheitslücke kann der Shellcode einen vordefinierten TCP-Port des anfälligen Computers öffnen, über den der weitere Zugriff auf die Befehlsshell erfolgt; dieser Code wird als Port-Binding-Shellcode bezeichnet. Wenn der Shellcode eine Verbindung zum Port des Angreifers herstellt, um Firewall oder NAT zu umgehen, wird dieser Code als Reverse-Shell-Shellcode bezeichnet. - Sicherheitslücke.
In der Computersicherheit bezeichnet der Begriff „Vulnerability" eine Schwachstelle oder eine offene Stelle im System. Eine Vulnerability kann durch Programmierfehler oder Mängel in der Systemarchitektur entstehen. Sie kann entweder rein theoretisch existieren oder einen bekannten Exploit aufweisen. Vulnerabilities sind häufig das Ergebnis von Nachlässigkeit von Programmierern, können jedoch auch andere Ursachen haben.Eine Schwachstelle ermöglicht es einem Angreifer in der Regel, eine Anwendung zu täuschen, beispielsweise durch das Einfügen von Daten auf ungeplante Weise, durch die Ausführung eines Befehls auf dem System, auf dem die Anwendung läuft, oder durch die Nutzung einer Lücke, die einen unbeabsichtigten Speicherzugriff ermöglicht, um Code auf der Ebene der Programmrechte auszuführen. Einige Schwachstellen entstehen durch unzureichende Überprüfung der Benutzereingaben; oft ermöglicht dies die direkte Ausführung von SQL-Befehlen (SQL-Injection). Andere Schwachstellen entstehen aufgrund komplexerer Probleme, wie z. B. dem Schreiben von Daten in den Puffer ohne Überprüfung seiner Grenzen, wodurch der Puffer überlaufen kann, was zur Ausführung von beliebigem Code führen kann.
Paylaod in Metasploit
Die Payload ist ein Code oder ein Teil einer Malware, wie z. B. Würmer oder Viren, der eine zerstörerische Funktionalität direkt ausführt. Sie versenden Spam, verschlüsseln oder löschen Daten. Malware verfügt zudem über einen Overhead-Code, der als derjenige Code-Teil verstanden wird, der für die Lieferung der Payload an den angegriffenen Rechner, die eigenständige Verteilung der Malware oder die Vermeidung der Erkennung verantwortlich ist. Letztendlich bedeutet dies, dass die Payload für den betroffenen Benutzer schädlich ist.
Die Nutzlast für einen Hacker ist eine Hauptkomponente, die er oder sie auf einen Zielrechner übertragen möchte. Der Nutzlastcode kann unabhängig geschrieben werden, was die Wahrscheinlichkeit einer Erkennung durch Antivirensoftware erheblich verringert.
Die Funktionsweise dieser Software besteht darin, dass Sie ein beispielhaftes Ziel auswählen, wie z. B. die Initialisierung einer Shell zur Eingabe von Befehlen mit einem Reverse-Call, und der Generator Ihnen einen ausführbaren Code für die ausgewählte Plattform bereitstellt. Dies ist die einzige Variante, wenn Sie keine Programmierkenntnisse haben. Einer der gefragtesten Payload-Generatoren ist MSFvenom. Dies ist ein separater Teil von Metasploit, der zur Generierung von Payloads erstellt wurde.
Der Kern von Metasploit ist die Rex-Bibliothek. Sie ist für allgemeine Operationen wie das Arbeiten mit Sockets, Protokollen, Textformatierung, Kodierungen usw. erforderlich. Sie basiert auf der MSF Core-Bibliothek, die grundlegende Funktionen und eine Low-Level-API bereitstellt. Die MSF Core-Bibliothek verwendet sie wiederum, um eine API für Plugins, eine Benutzeroberfläche (sowohl Konsolen- als auch grafisch) sowie Plugins bereitzustellen.
Alle Module sind je nach bereitgestellter Funktionalität in mehrere Typen unterteilt:
- Exploit – Code, der eine bestimmte Schwachstelle im Zielsystem ausnutzt, zum Beispiel einen Stack-Überlauf.
- Payload ist der Code, der nach Abschluss des Exploits auf dem Zielsystem ausgeführt wird, eine Verbindung herstellt, ein Shell-Skript ausführt und so weiter.
- Post-Code, der nach erfolgreicher Penetration auf dem System ausgeführt wird, beispielsweise Passwörter sammelt oder Dateien herunterlädt.
- Encoder – Tools zum Verschleiern von Modulen zur Tarnung vor Antivirensoftware
- NOP-Generatoren. Dies ist eine Assembler-Anweisung, die keine Aktion ausführt. Sie wird verwendet, um Lücken in ausführbaren Dateien zu füllen, um die erforderliche Größe zu erreichen.
- Auxiliary – Module für Netzwerkscans, Verkehrsanalysen und Ähnliches.
So arbeiten Sie mit Metasploit
Im Allgemeinen umfasst die Arbeit mit Metasploit die folgenden Schritte:
- Erstellung des Projekts.
Das Projekt enthält einen Arbeitsbereich, der zur Erstellung eines Penetrationstests und zur Konfiguration der geplanten Aufgaben verwendet wird. Jeder Penetrationstest wird aus einem eigenen Projekt gestartet. - Erhebung von Informationen.
An dieser Stelle sammelt Metasploit Informationen über das Zielnetzwerk: installiertes Betriebssystem, offene Ports, laufende Hosts und Prozesse. Während des Scans werden alle empfangenen Daten automatisch im Projekt gespeichert. - Verwendung von Exploits.
Der Angriff kann manuell oder mithilfe der Exploit-Datenbank durchgeführt werden. Die in der zweiten Stufe erhobenen Netzwerkdaten werden hier verwendet. - Maßnahmen auf einem kompromittierten System.
Nach dem Zugriff wird eine Exploit-Payload verwendet, mit der interaktive Sitzungen initiiert werden, um zusätzliche Informationen zu sammeln. Außerdem ist es möglich, Post-Exploit-Module einzusetzen, um automatisch im Betriebssystem und in Anwendungen gespeicherte Passwörter, Screenshots, Webcam-Aufnahmen, Tastatureingaben, Konfigurationsdateien usw. zu erheben.
Wie effektiv ist Metasploit?
Trotz aller positiven Aspekte von Metasploit kann die Wirksamkeit eines eigenständigen Pentests nicht mit der Wirksamkeit kommerzieller Penetrationstests verglichen werden.
Unser leistungsstarkes Web-Penetrationstest-Tool nutzt künstliche Intelligenz, um jede und jede Schwachstelle mit garantiertem Fehlalarm-SLA zu finden.
Dies ist ein skalierbarer, schneller Penetrationstest von Webanwendungen mit DevSecOps-Unterstützung, nach dem Sie individuelle Empfehlungen zur Beseitigung aller Fehler und Schwachstellen erhalten. Mit ImmuniWeb erhalten Sie langfristigen, leistungsstarken Schutz vor Hackern.
Metasploit ist ein echtes Tool zur Identifizierung von Schwachstellen und dient der Gewährleistung der Cybersicherheit Ihres Informationssystems. Diese Methode kann insbesondere für kleine Unternehmen relevant sein.
Zusätzlich zu den Funktionen, die Metasploit bietet, können Sie unsere kostenlosen Testtools wie Website Security Test oder Mobile App Security Test nutzen, um Web- oder Mobilanwendungen auf Schwachstellen zu testen, die Hackern den Zugriff auf Ihre Systeme ermöglichen könnten.
Weitere Ressourcen
- Erfahren Sie mehr über KI-gestütztes Angriffsflächenmanagement mit ImmuniWeb® Discovery.
- Erfahren Sie mehr über KI-gestützte Penetrationstests für Anwendungen mit ImmuniWeb.
- Erfahren Sie mehr über die Möglichkeiten des ImmuniWeb Partner Programms.
- Folgen Sie uns auf LinkedIn, X, Telegram und WhatsApp