Metasploit Aufbau: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Quelle) |
|||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| + | =Übersicht= | ||
[[Datei:Metaspolit1.png|700px]] | [[Datei:Metaspolit1.png|700px]] | ||
| + | |||
| + | = 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 | ||
| + | * <code>msfconsole</code> – 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 <code>load</code> aktiviert | ||
| + | |||
| + | == Beziehungen == | ||
| + | |||
| + | <pre> | ||
| + | Rex | ||
| + | ^ extends | ||
| + | MSF::Core <-- Plugin -- Framework Plugins | ||
| + | ^ extends <-- Plugin -- Penetration Modules | ||
| + | MSF::Base | ||
| + | ^ extends | ||
| + | MSF::UI | ||
| + | </pre> | ||
| + | =Quelle= | ||
| + | *https://www.offsec.com/metasploit-unleashed/metasploit-architecture/ | ||
Aktuelle Version vom 25. Juni 2026, 10:26 Uhr
Ü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