Metasploit Aufbau: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| 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= | |||
* | |||
Version vom 25. Juni 2026, 10:25 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