Nmap Aufgaben 8421: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 319: | Zeile 319: | ||
# Schritt 2: Ports auf gefundene Hosts | # Schritt 2: Ports auf gefundene Hosts | ||
| − | + | # Hinweis: <(...) Process Substitution funktioniert nicht mit sudo! | |
| + | # Stattdessen per Pipe oder targets.txt: | ||
| + | grep "Up" hosts_up.gnmap | awk '{print $2}' | sudo nmap -sS --top-ports 1000 -iL - | ||
| − | # Schritt 3: | + | # Schritt 3: Ziele in Datei schreiben, dann scannen |
| + | grep "Up" hosts_up.gnmap | awk '{print $2}' > targets.txt | ||
sudo nmap -sV --script vuln -iL targets.txt | sudo nmap -sV --script vuln -iL targets.txt | ||
</pre> | </pre> | ||
Version vom 25. Februar 2026, 11:00 Uhr
Nmap Praxis – Cybersecurity Training
Netzwerkübersicht
| Segment | Netz | Relevante Hosts |
|---|---|---|
| WAN | 192.168.Y.0/24 | host200, Roadwarrior |
| DMZ | 10.0.10.0/24 | www.microsott.de (Apache2 + Wazuh Agent), waf.microsott.de |
| LAN | 172.26.53.0/24 | win11, kali |
| Server | 172.26.54.0/24 | win2022, sensor, mqtt, aktor, wazuh, elk, ubuntu |
Wichtige Hinweise zur Umgebung:
- Der Kali-Client (172.26.53.0/24) wird als Angreifer-System für alle Scans verwendet.
- Auf www.microsott.de läuft ein Apache2-Webserver mit einem Wazuh Agent, der die Apache2-Logs an den Wazuh-Server weiterleitet.
- Scans gegen die DMZ werden dadurch in Wazuh detektiert und geloggt – ideal für Blue Team Übungen.
Phase 1 – Host Discovery (Ping Scans)
Ziel: Welche Hosts sind überhaupt erreichbar?
ICMP Echo Request (klassischer Ping-Scan)
nmap -sn 172.26.54.0/24
Kombinierter Discovery (TCP SYN + UDP + ICMP)
nmap -sn -PE -PS22,80,443 -PU53 172.26.54.0/24
ARP-Scan im eigenen Segment (LAN)
nmap -sn --send-eth 172.26.53.0/24
Alle drei Segmente auf einmal
nmap -sn 10.0.10.0/24 172.26.53.0/24 172.26.54.0/24
Discovery deaktivieren (wenn ICMP geblockt)
nmap -Pn 172.26.54.0/24
Phase 2 – Port Scanning Techniken
TCP Connect Scan (kein Root nötig)
nmap -sT 172.26.54.10
SYN Stealth Scan (Standard, Root erforderlich)
sudo nmap -sS 172.26.54.10
UDP Scan
UDP-Scans sind langsam, aber wichtig für Dienste wie DNS, SNMP und DHCP.
sudo nmap -sU --top-ports 20 172.26.54.0/24 # Spezifisch auf DNS, SNMP, DHCP sudo nmap -sU -p 53,161,162,67,68 172.26.54.0/24
Alle Ports scannen
sudo nmap -p- 172.26.54.10 # Schneller mit min-rate sudo nmap -p- --min-rate 5000 172.26.54.10
Top-Ports und manuelle Port-Auswahl
nmap --top-ports 100 172.26.54.0/24 nmap --top-ports 1000 172.26.54.0/24 # Manuelle Port-Auswahl nmap -p 22,80,443,3389,8080,8443 172.26.54.0/24
Firewall-Test gegen DMZ
# Zeigt gefilterte Ports deutlich sudo nmap -sS -p 1-1000 10.0.10.0/24
Phase 3 – Service & Version Detection
Service-Versionen erkennen
sudo nmap -sV 172.26.54.0/24 # Intensität erhöhen (0-9, Standard 7) sudo nmap -sV --version-intensity 9 172.26.54.10
OS-Erkennung
sudo nmap -O 172.26.54.10 sudo nmap -O --osscan-guess 172.26.54.10
Kombination aus Service + OS
sudo nmap -sV -O 172.26.54.0/24
Zielgerichtete Scans je Host
| Host | Ports | Begründung |
|---|---|---|
| win2022 | 22, 135, 139, 445, 3389, 5985, 5986 | RDP, SMB, WinRM |
| wazuh | 1514, 1515, 55000, 9200, 443 | Wazuh Manager + API |
| elk | 9200, 9300, 5601, 5044 | Elasticsearch, Kibana, Logstash |
| mqtt | 1883, 8883, 8083, 8084 | MQTT Broker (plain + TLS) |
| ubuntu | 22, 80, 443, 8080 | SSH, Webdienste |
| www.microsott.de | 80, 443 | Apache2 (Wazuh Agent aktiv!) |
# Beispiel: win2022 sudo nmap -sS -sV -p 22,135,139,445,3389,5985,5986 172.26.54.X # Beispiel: www.microsott.de (Wazuh Agent loggt mit!) sudo nmap -sS -sV -p 80,443 10.0.10.X
Phase 4 – NSE (Nmap Scripting Engine)
Script-Kategorien
| Kategorie | Beschreibung |
|---|---|
safe |
Harmlose Informationsabfragen |
default |
Standard-Scripts (wie -sC)
|
discovery |
Dienst- und Netzwerkerkennung |
vuln |
Schwachstellen-Checks |
intrusive |
Aktive Tests, können Systeme beeinflussen |
brute |
Passwort-Brute-Force |
exploit |
Exploit-Versuche |
Default Scripts
sudo nmap -sC 172.26.54.0/24
SMB-Enumeration (win2022)
sudo nmap --script smb-enum-shares,smb-enum-users,smb-os-discovery -p 445 172.26.54.X sudo nmap --script smb-vuln* -p 445 172.26.54.X # EternalBlue (MS17-010) Check sudo nmap --script smb-vuln-ms17-010 -p 445 172.26.54.X
HTTP/HTTPS Enumeration (DMZ)
sudo nmap --script http-headers,http-title,http-methods -p 80,443 10.0.10.X sudo nmap --script http-enum -p 80,443 10.0.10.X sudo nmap --script http-robots.txt -p 80 10.0.10.X # SSL/TLS Informationen sudo nmap --script ssl-cert,ssl-enum-ciphers -p 443 10.0.10.X
SSH Enumeration
sudo nmap --script ssh-auth-methods,ssh-hostkey -p 22 172.26.54.0/24 sudo nmap --script ssh2-enum-algos -p 22 172.26.54.0/24
MQTT-spezifisch
sudo nmap --script mqtt-subscribe -p 1883 172.26.54.X
Vulnerability Scanning
# Vorsicht: Kann Systeme beeinflussen! sudo nmap --script vuln 172.26.54.X # Gegen Apache2 auf www.microsott.de (Wazuh detektiert dies!) sudo nmap --script vuln -p 80,443 10.0.10.X
Phase 5 – Firewall & IDS Evasion
Wichtig: Diese Techniken zeigen, wie Angreifer versuchen, Wazuh und den sensor zu umgehen. Ideal für Red/Blue Team Vergleiche.
Fragmentierte Pakete
sudo nmap -f 10.0.10.0/24
Decoy Scan (eigene IP verschleiern)
sudo nmap -D RND:5 172.26.54.X sudo nmap -D 192.168.1.1,192.168.1.2,ME 172.26.54.X
Timing-Templates
| Template | Name | Verwendung |
|---|---|---|
-T0 |
Paranoid | Extrem langsam, maximale IDS-Evasion |
-T1 |
Sneaky | Langsam |
-T2 |
Polite | Netzwerkschonend |
-T3 |
Normal | Standard |
-T4 |
Aggressive | Schnell |
-T5 |
Insane | Sehr schnell, sehr laut |
sudo nmap -T0 172.26.54.X # IDS-Evasion sudo nmap -T5 172.26.54.X # Maximale Geschwindigkeit
Source Port Manipulation
sudo nmap --source-port 53 172.26.54.X sudo nmap --source-port 80 172.26.54.X
Idle/Zombie Scan
# Wenn ein geeigneter Zombie-Host verfügbar ist sudo nmap -sI 172.26.53.X 172.26.54.X
Weitere Evasion-Techniken
# Randomisierte Host-Reihenfolge sudo nmap --randomize-hosts 172.26.54.0/24 # MTU anpassen sudo nmap --mtu 16 172.26.54.X
Phase 6 – Output & Reporting
# Normal Output nmap -oN scan_results.txt 172.26.54.0/24 # XML Output (für Metasploit importierbar) nmap -oX scan_results.xml 172.26.54.0/24 # Grepbares Format nmap -oG scan_results.gnmap 172.26.54.0/24 # Alle Formate gleichzeitig sudo nmap -sS -sV -sC -oA full_scan 172.26.54.0/24 # Nur offene Ports filtern grep "open" scan_results.gnmap
Phase 7 – Aggressive Kombinations-Scans
# Aggressiver Scan (-A = OS + Version + Scripts + Traceroute) sudo nmap -A 172.26.54.0/24 # Vollständiger Audit-Scan sudo nmap -sS -sU -sV -sC -O -p- --min-rate 1000 -oA full_audit 172.26.54.X # Schneller Netzwerk-Überblick sudo nmap -sS -sV --top-ports 100 -T4 -oA quick_scan 172.26.54.0/24
Übungsszenarien
Szenario 1 – Red Team Reconnaissance
Ziel: Möglichst unauffällig das Netzwerk erkunden.
# Schritt 1: Stilles Discovery
sudo nmap -sn -T2 172.26.54.0/24 -oG hosts_up.gnmap
# Schritt 2: Ports auf gefundene Hosts
# Hinweis: <(...) Process Substitution funktioniert nicht mit sudo!
# Stattdessen per Pipe oder targets.txt:
grep "Up" hosts_up.gnmap | awk '{print $2}' | sudo nmap -sS --top-ports 1000 -iL -
# Schritt 3: Ziele in Datei schreiben, dann scannen
grep "Up" hosts_up.gnmap | awk '{print $2}' > targets.txt
sudo nmap -sV --script vuln -iL targets.txt
Szenario 2 – Blue Team Detection Test
Ziel: Prüfen, ob Wazuh und ELK den Scan detektieren.
# Lauten Scan gegen www.microsott.de durchführen sudo nmap -A -T4 10.0.10.X
Danach in Wazuh und ELK prüfen:
- Wurden Alerts für den Apache2-Zugriff generiert?
- Welche Rule IDs hat Wazuh ausgelöst?
- Hat der sensor im Server-Netz den Scan-Traffic erfasst?
- Ist der Scan im ELK-Dashboard sichtbar?
Szenario 3 – WAF-Test in der DMZ
Ziel: Den Unterschied zwischen www.microsott.de (ohne WAF) und waf.microsott.de (mit WAF) sichtbar machen.
Wichtig: Die WAF leitet HTTP auf HTTPS um (301), daher curl mit -sk verwenden.
echo "=== OHNE WAF – www.microsott.de (10.0.10.108) ==="
curl -s -o /dev/null -w "Normal: %{http_code}\n" "http://10.0.10.108/"
curl -s -o /dev/null -w "SQLi: %{http_code}\n" "http://10.0.10.108/?id=1' OR '1'='1"
curl -s -o /dev/null -w "XSS: %{http_code}\n" "http://10.0.10.108/?q=<script>alert(1)</script>"
curl -s -o /dev/null -w "Path Traversal: %{http_code}\n" "http://10.0.10.108/../../../etc/passwd"
echo ""
echo "=== MIT WAF – waf.microsott.de (10.0.10.110) ==="
curl -sk -o /dev/null -w "Normal: %{http_code}\n" "https://10.0.10.110/"
curl -sk -o /dev/null -w "SQLi: %{http_code}\n" "https://10.0.10.110/?id=1' OR '1'='1"
curl -sk -o /dev/null -w "XSS: %{http_code}\n" "https://10.0.10.110/?q=<script>alert(1)</script>"
curl -sk -o /dev/null -w "Path Traversal: %{http_code}\n" "https://10.0.10.110/../../../etc/passwd"
Erwartetes Ergebnis:
=== OHNE WAF – www.microsott.de (10.0.10.108) === Normal: 200 SQLi: 200 ← kein Schutz XSS: 200 ← kein Schutz Path Traversal: 200 ← kein Schutz === MIT WAF – waf.microsott.de (10.0.10.110) === Normal: 200 SQLi: 403 ← geblockt! XSS: 403 ← geblockt! Path Traversal: 403 ← geblockt!
Szenario 4 – Wazuh/Apache2 Log-Analyse
Ziel: Den Zusammenhang zwischen HTTP-Zugriff und Wazuh-Alert verstehen.
- Scan gegen www.microsott.de durchführen (Apache2 + Wazuh Agent):
sudo nmap -sS -sV -p 80,443 10.0.10.108 sudo nmap --script http-headers,http-title,http-enum -p 80 10.0.10.108
- Überprüfe danach auf dem Wazuh-Server die Alerts:
# Auf dem Wazuh-Manager (172.26.54.X): tail -f /var/ossec/logs/alerts/alerts.log | grep -i "apache\|web\|http"
- Oder im ELK-Dashboard (Kibana) nach dem Index
wazuh-alerts-*filtern.
Cheat Sheet – Wichtigste Flags
| Flag | Bedeutung |
|---|---|
-sS |
SYN Stealth Scan |
-sT |
TCP Connect Scan |
-sU |
UDP Scan |
-sV |
Version Detection |
-sC |
Default Scripts (wie --script=default) |
-O |
OS Detection |
-A |
Alles (OS + Version + Scripts + Traceroute) |
-p- |
Alle 65535 Ports |
-Pn |
Host-Discovery überspringen |
-T0 – -T5 |
Timing (langsam → schnell) |
-oA |
Output in alle Formate (Normal, XML, Grepbar) |
--script |
NSE Script(s) laden |
-f |
Fragmentierte Pakete (Evasion) |
-D |
Decoy-Scan (IP verschleiern) |
--source-port |
Quellport manuell setzen |
--min-rate |
Mindest-Paketrate (z.B. --min-rate 5000) |
-iL |
Ziele aus Datei einlesen |