Metasploit Modultypen verstehen

Kali LinuxBeginner
Jetzt üben

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.