Hauptmenü öffnen

Metasploit

Werkzeug zur Entwicklung und Ausführung von Exploits gegen verteilte Zielrechner

Das Metasploit-Projekt ist ein Projekt zur Computersicherheit, das Informationen über Sicherheitslücken bietet und bei Penetrationstests sowie der Entwicklung von IDS-Signaturen eingesetzt werden kann. Das bekannteste Teilprojekt ist das freie Metasploit Framework, ein Werkzeug zur Entwicklung und Ausführung von Exploits gegen verteilte Zielrechner. Andere wichtige Teilprojekte sind das Shellcode-Archiv und Forschung im Bereich der IT-Sicherheit.

Metasploit

Logo
Basisdaten

Entwickler Rapid7
Aktuelle Version 5.0.49[1]
(19. September 2019)
Betriebssystem plattformunabhängig
Programmiersprache Ruby, Perl
Kategorie Sicherheitssoftware
Lizenz BSD-Lizenz (Framework)
deutschsprachig nein
www.metasploit.com

Wie vergleichbare Lösungen, z. B. Canvas (von Immunity) oder Core Impact (von Core Security Technology), kann Metasploit unter anderem von Red Teams eingesetzt werden, um in Auftrag die Schwachstellen von Computersystemen zu prüfen und diese Schwachstellen bei Bedarf schließen zu lassen. Andererseits kann es wie jedes Werkzeug auch missbraucht werden, um fremde Systeme zu kompromittieren.

Metasploit-FrameworkBearbeiten

Die Arbeit mit dem Framework gliedert sich in folgende grundlegende Schritte:

  1. Exploit auswählen und konfigurieren: Ein Exploit dient dem Eindringen in ein Zielsystem, indem ein Programmfehler ausgenutzt wird. Version 4.0.0 enthielt zum Zeitpunkt der Freigabe 716 verschiedene Exploits für Windows, Mac OS X, Unix, Linux, und andere Systeme;[2] 103 mehr als in Version 3.5.0.[3]
  2. Optionale Verwundbarkeitsprüfung: Hierbei wird geprüft, ob das Zielsystem durch den gewählten Exploit überhaupt verwundbar ist.
  3. Nutzlast oder auch Payload wählen und konfigurieren: Payload bezeichnet den Code, der auf dem Zielrechner bei einem erfolgreichen Einbruch ausgeführt werden soll, also z. B.:
    1. Client-Programm Meterpreter (ermöglicht über eine SSL-Verbindung Kontrolle über den Zielrechner, ermöglicht unter anderem Datei-Suche, verschiedene Methoden der Rechteausweitung, Portscans, Umleitung von Netzwerkverkehr und Datei-Download und -Upload).
    2. VNC-Server
    3. Shell
  4. Ausführung des Exploits.
  5. Weiteres Vordringen auf dem Zielsystem: Nach einem erfolgreichen Angriff lassen sich mittels Payload weitere Aktionen auf dem Zielrechner ausführen.

Diese Modularität, die es erlaubt, jeden Exploit mit jeder kompatiblen Nutzlast zu kombinieren, ist einer der großen Vorteile des Frameworks, da es eine Trennung der Aufgaben von Entwicklern (von Nutzlasten und Exploits) und Angreifern ermöglicht.

Ab der Hauptversion 3[4] wurde das Metasploit-Framework in der Programmiersprache Ruby implementiert. Es ist unter Linux und macOS sowie unter Microsoft Windows lauffähig, in spezialisierten Linux-Distrubtionen wie Kali Linux fixer Bestandteil, und kann per Kommandozeile oder über eine in Java geschriebene grafische Benutzeroberfläche bedient werden. Das Metasploit-Framework lässt sich durch externe Add-Ons in verschiedenen Sprachen erweitern.

Um einen Exploit und eine Nutzlast zu wählen, benötigt man einige Informationen über das Zielsystem und die darauf installierten Netzwerkdienste. Diese Informationen können durch den Einsatz eines Portscanners wie Nmap erlangt werden, der auch die Erkennung des Betriebssystems durch OS-Fingerprinting ermöglicht. Vulnerability Scanner wie OpenVAS, Nessus oder NeXpose können zusätzlich eingesetzt werden, um Sicherheitslücken auf dem Zielsystem zu entdecken.

Die Shellcode-DatenbankBearbeiten

Die Shellcode-Datenbank enthält in Assemblersprache geschriebene Nutzlasten (Payloads) mit Quelltext, die vom Metasploit Framework eingesetzt werden.

MetasploitableBearbeiten

Um praktische Erfahrung mit Metasploit sammeln zu können wurde eine Testumgebung unter der Bezeichnung Metasploitable mit bewusst eingebauten Schwachstellen zusammengestellt. Metasploitable stellt eine fertig konfigurierte virtuelle Maschine (VM) dar, welche unter anderem unter VMware oder VirtualBox in einer Testumgebung betrieben werden kann.[5] Der Betrieb als virtuelle Maschine hat den Vorteil, dass durch die Verwendung von snap shots, das sind Systemzustände die zu einem bestimmten Zeitpunkt angefertigt werden und leicht restauriert werden können, auch verschiedene destruktive Angriffsverfahren effizient und wiederholend in verschiedenen Variationen durchprobiert werden können. Die erste Version von Metasploitable wurde am 21. Mai 2012 durch Metasploitable 2 abgelöst, welche als direkter Nachfolger angesehen wird.[6] Es wurden einige Neuerungen und praktische Beispiele eingearbeitet, um nun auch aktuellere Szenarien zu demonstrieren und zu trainieren. Gleichzeitig wurde ein offizieller Benutzungsleitfaden veröffentlicht, um die Bedienung zu erleichtern und Beispiele zu erläutern.

WeblinksBearbeiten

EinzelnachweiseBearbeiten

  1. Release 5.0.49. 19. September 2019 (abgerufen am 20. September 2019).
  2. Metasploit 4.0.0 Release Notes. In: metasploit.com. Abgerufen am 28. August 2011.
  3. Metasploit 3.5.0 Release Notes. In: metasploit.com. Abgerufen am 28. August 2011.
  4. Metasploit 3.0 setzt auf Ruby. In: linux-magazin.de. Abgerufen am 22. Juli 2012.
  5. Metasploitable Ankündigung im Metasploit Blog. In: Metasploit Blog. Abgerufen am 1. September 2010.
  6. Introducing Metasploitable 2! In: Rapid7 Blog. Abgerufen am 13. Juni 2012.