Metasploit Aufbau
Übersicht
Metasploit Framework – Architektur
Schichtenmodell des MSF. Jede Schicht extends die darunterliegende; Module und Plugins hängen sich über definierte Schnittstellen an den Core.
Rex
Unterste Bibliothek (Ruby Extension Library). Steht ausserhalb des eigentlichen MSF und liefert die Basisfunktionen.
- Sockets, Protokolle, Text-/Encoding-Helfer
- SSL, SMB, HTTP, kein MSF-Code – rein generisch
- MSF::Core extends Rex
MSF::Core
Herzstück. Stellt die zentrale API bereit, auf der alles aufsetzt.
- Datastore
- Zentraler Speicher für Variablen/Optionen (RHOSTS, LHOST …)
- EventDispatcher
- Event-Handling, Benachrichtigungen zwischen Komponenten
- ModuleManager
- Lädt und verwaltet die Penetration-Module
- PluginManager
- Lädt und verwaltet Framework-Plugins
- Session Manager
- Verwaltet offene Sessions (Shells, Meterpreter)
- Framework
- Klammert die Core-Objekte zusammen, zentrale Instanz
MSF::Base
Komfortschicht über dem Core. extends MSF::Core.
- Config
- Pfade, Konfiguration, Verzeichnisstruktur
- Logging
- Log-Funktionen (im Diagramm „Loging")
- Serializer
- Serialisierung von Objekten/Daten
- Simple
- Vereinfachte API für den schnellen Zugriff auf Core-Funktionen
- Sessions
- Aufbereitete Session-Objekte
MSF::UI
Oberste Schicht, die Benutzerschnittstellen. extends MSF::Base.
- Driver
- Basisklasse aller UIs
- Console
msfconsole– die Standard-Schnittstelle
- CLI
- Einzelaufruf von der Kommandozeile
- WebUI / GUI / Armitage
- Grafische bzw. webbasierte Frontends (teils veraltet)
Penetration Modules
Hängen sich über die Plugin-Schnittstelle an den ModuleManager.
- Auxiliary
- Scanner, Fuzzer, Hilfsmodule ohne Payload
- Encoders
- Kodieren Payloads (Signatur-/AV-Umgehung)
- Exploits
- Eigentliche Angriffsmodule
- Nops
- NOP-Generatoren (Padding für Payloads)
- Payloads
- Code, der nach erfolgreichem Exploit läuft (z. B. Meterpreter)
Framework Plugins
Erweitern den Core zur Laufzeit über den PluginManager.
- Anbindung externer Tools (z. B. Nessus, OpenVAS)
- Werden in der Console mit
loadaktiviert
Beziehungen
Rex ^ extends MSF::Core <-- Plugin -- Framework Plugins ^ extends <-- Plugin -- Penetration Modules MSF::Base ^ extends MSF::UI