Einleitung
Das Metasploit Framework ist ein leistungsstarkes Open-Source-Tool, das für Penetrationstests und Sicherheitsforschung eingesetzt wird. Es basiert auf dem Konzept von Modulen, bei denen es sich um austauschbare Code-Teile handelt, die spezifische Aufgaben ausführen. Das Verständnis der verschiedenen Modultypen ist grundlegend für die effektive Nutzung von Metasploit.
In diesem Lab werden Sie die primären Modultypen innerhalb von Metasploit untersuchen:
- Exploits: Code, der eine Systemschwachstelle ausnutzt.
- Auxiliary: Module für Scans, Fuzzing und andere Aktionen, die keine direkten Exploits sind.
- Post-Exploitation: Module, die nach dem Erhalt des Zugriffs auf ein Zielsystem verwendet werden.
- Payloads: Code, der nach einem erfolgreichen Exploit auf dem Zielsystem ausgeführt wird.
Sie lernen, wie Sie diese Module mit der Metasploit-Konsole (msfconsole) auflisten und identifizieren.
Verfügbare Exploit-Module auflisten
In diesem Schritt lernen Sie, wie Sie alle verfügbaren Exploit-Module im Metasploit Framework auflisten. Exploit-Module sind darauf ausgelegt, eine spezifische Schwachstelle oder einen Fehler in einem System, Dienst oder einer Anwendung auszunutzen, um unbefugten Zugriff zu erlangen.
Zuerst müssen Sie die Metasploit Framework-Konsole starten. Wir verwenden das Flag -q, um das Startbanner für eine sauberere Benutzeroberfläche zu unterdrücken. Sobald Sie sich in der Konsole befinden, können Sie den Befehl show exploits verwenden.
Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus, um msfconsole zu starten:
msfconsole -q
Sobald die msfconsole-Eingabeaufforderung (msf6 >) erscheint, geben Sie den folgenden Befehl ein, um alle Exploit-Module aufzulisten:
show exploits
Sie sehen eine lange Liste verfügbarer Exploits, zusammen mit ihrem Offenlegungsdatum, Rang und einer kurzen Beschreibung. Der Rang gibt die Zuverlässigkeit des Exploits an.
msf6 > show exploits
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/aix/local/ibstat_exec 2009-07-27 excellent No AIX ibstat Command Execution
1 exploit/aix/local/invscout_priv_esc 2012-03-30 excellent Yes AIX invscout Privilege Escalation
2 exploit/aix/rpc_catd 1995-01-01 great No AIX CDE ToolTalk rpc.catd Command Execution
...
2300 exploit/windows/smb/ms17_010_psexec 2017-03-14 excellent Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
...
Nachdem Sie die Liste überprüft haben, können Sie die Metasploit-Konsole verlassen, indem Sie exit eingeben:
exit
Verfügbare Auxiliary-Module auflisten
In diesem Schritt listen Sie die Auxiliary-Module auf. Im Gegensatz zu Exploits führen Auxiliary-Module nicht direkt zum Erhalt des Zugriffs auf ein System. Stattdessen werden sie für eine Vielzahl von Aufgaben verwendet, wie z. B. das Scannen nach offenen Ports, die Identifizierung von Diensten, Fuzzing, Denial-of-Service-Angriffe und Informationsbeschaffung.
Genau wie im vorherigen Schritt starten Sie die Metasploit-Konsole und verwenden dann den Befehl show.
Starten Sie msfconsole erneut in Ihrem Terminal:
msfconsole -q
Geben Sie an der Eingabeaufforderung msf6 > den Befehl show auxiliary ein, um alle verfügbaren Auxiliary-Module anzuzeigen:
show auxiliary
Die Ausgabe zeigt eine umfassende Liste von Modulen, die für Aufklärung und andere Nicht-Exploit-Aktivitäten verwendet werden.
msf6 > show auxiliary
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 auxiliary/admin/2wire/xslt_password_reset normal No 2Wire Cross-Site Scripting and Password Reset
1 auxiliary/admin/appletv/appletv_display_image normal No AppleTV Display Image
...
450 auxiliary/scanner/http/http_login normal No HTTP Login Utility
451 auxiliary/scanner/http/http_put normal Yes HTTP PUT File Upload Utility
...
Wenn Sie fertig sind, beenden Sie die Konsole:
exit
Verfügbare Post-Exploitation-Module auflisten
In diesem Schritt erkunden Sie die Post-Exploitation-Module. Diese Module werden nachdem Sie ein Zielsystem erfolgreich kompromittiert haben, verwendet. Ihr Zweck ist es, Ihnen dabei zu helfen, den Zugriff aufrechtzuerhalten, sensible Informationen zu sammeln, Berechtigungen zu eskalieren und zu anderen Systemen im Netzwerk zu pivotieren.
Der Prozess zum Auflisten dieser Module ähnelt den vorherigen Schritten.
Starten Sie die Metasploit-Konsole:
msfconsole -q
Geben Sie an der Eingabeaufforderung show post ein, um alle Post-Exploitation-Module aufzulisten:
show post
Sie sehen eine Liste von Modulen, die nach dem Zielbetriebssystem (z. B. Windows, Linux, OSX) und der von ihnen ausgeführten Funktion (z. B. gather, manage, escalate) kategorisiert sind.
msf6 > show post
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 post/android/capture/screen normal No Android Screen Capture
1 post/android/gather/contacts normal No Android Gather Contacts
...
250 post/linux/gather/enum_configs normal No Linux Gather Configurations
251 post/linux/gather/enum_protections normal No Linux Gather Protection Mechanisms
...
400 post/windows/gather/credentials/total_commander normal No Windows Gather Total Commander FTP Passwords
...
Denken Sie daran, die Konsole zu verlassen, wenn Sie mit der Erkundung der Liste fertig sind:
exit
Verfügbare Payload-Module auflisten
In diesem Schritt listen Sie die verfügbaren Payload-Module auf. Eine Payload ist der Code, den ein Exploit an das Zielsystem liefert. Sobald der Exploit das System erfolgreich kompromittiert hat, wird die Payload ausgeführt, was dem Angreifer die Kontrolle gibt. Payloads können von einfachen Command Shells bis hin zum hochentwickelten Meterpreter reichen, der eine umfassende Kontrolle über die Opfermaschine bietet.
Listen wir sie mit der msfconsole auf.
Starten Sie die Metasploit-Konsole:
msfconsole -q
Geben Sie an der Eingabeaufforderung msf6 > den Befehl show payloads ein:
show payloads
Die Ausgabe zeigt eine Vielzahl von Payloads, die oft nach der Art der von ihnen hergestellten Verbindung (z. B. Reverse Shell, Bind Shell) und der Zielarchitektur kategorisiert sind.
msf6 > show payloads
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 payload/aix/ppc/shell_bind_tcp normal No AIX PowerPC Command Shell, Bind TCP Inline
1 payload/aix/ppc/shell_find_port normal No AIX PowerPC Command Shell, Find Port Inline
...
500 payload/linux/x86/meterpreter/reverse_tcp normal No Linux Meterpreter, Reverse TCP Stager
...
1000 payload/windows/x64/meterpreter/reverse_tcp normal No Windows Meterpreter (Reflective Injection), Reverse TCP Stager (x64)
...
Beenden Sie schließlich die Konsole:
exit
Unterscheiden zwischen Exploit und Payload
In diesem letzten Schritt festigen wir Ihr Verständnis des entscheidenden Unterschieds zwischen einem Exploit und einer Payload. Obwohl sie zusammenarbeiten, erfüllen sie unterschiedliche Zwecke.
- Exploit: Dies ist das "Lieferfahrzeug". Seine einzige Aufgabe ist es, eine Schwachstelle auszunutzen, um die Payload auf das Zielsystem zu bringen. Stellen Sie es sich als den Schlüssel vor, der eine Tür aufschließt.
- Payload: Dies ist die "Fracht". Es ist der Code, der ausgeführt wird, nachdem der Exploit erfolgreich war. Er definiert, was Sie auf dem kompromittierten System tun können. Stellen Sie es sich als das vor, was Sie tun, nachdem Sie die Tür aufgeschlossen und sind eingetreten.
Ein Exploit kann nicht ohne eine Payload funktionieren, und eine Payload kann nicht ohne einen Exploit geliefert werden.
Um Ihr Verständnis zu demonstrieren, erstellen Sie in Ihrem Projektverzeichnis eine einfache Textdatei namens difference.txt, die dieses Konzept zusammenfasst.
Führen Sie den folgenden Befehl in Ihrem Terminal aus:
echo "Exploit: Gains access. Payload: Runs after access." > /home/labex/project/difference.txt
Sie können mit dem cat-Befehl überprüfen, ob die Datei korrekt erstellt wurde:
cat /home/labex/project/difference.txt
Sie sollten die folgende Ausgabe sehen:
Exploit: Gains access. Payload: Runs after access.
Diese einfache Übung hilft, die Kernbeziehung zwischen diesen beiden grundlegenden Metasploit-Komponenten zu festigen.
Zusammenfassung
Herzlichen Glückwunsch zum Abschluss dieses Labs! Sie haben die grundlegenden Modultypen im Metasploit Framework erfolgreich erkundet.
Sie haben gelernt, dass:
- Exploit-Module verwendet werden, um Schwachstellen auszunutzen und initialen Zugriff zu erlangen.
- Auxiliary-Module für Scans, Aufklärung und andere Aktionen, die keine Exploits sind, verwendet werden.
- Post-Exploitation-Module auf einem System ausgeführt werden, nachdem es kompromittiert wurde.
- Payload-Module der Code sind, der von einem Exploit geliefert und auf dem Ziel ausgeführt wird.
Am wichtigsten ist, dass Sie nun den entscheidenden Unterschied zwischen einem Exploit (der Zugangsmethode) und einer Payload (dem Code, der nach dem Zugang ausgeführt wird) verstehen. Dieses grundlegende Wissen ist unerlässlich für die Durchführung effektiver Penetrationstests mit Metasploit.


