Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Nmap Tutorial: Alle wichtigen Befehle für Penetrationstester
#1
Lightbulb 
Grundlegende Scans und Zielauswahl:
  • Große Netzwerke:
    • Code:
      nmap -sS -O 192.168.1.0/24
      : Scannt ein ganzes Subnetz mit SYN-Scan, Betriebssystemerkennung und ist relativ schnell.
    • Code:
      nmap -iL targets.txt
      : Liest eine Liste von IP-Adressen oder Hostnamen aus einer Datei ein und scannt diese.
  • Exakte Hosts:
    • Code:
      nmap -p 80,443 google.com
      : Scannt nur die Ports 80 (HTTP) und 443 (HTTPS) auf google.com.
  • Exklusive Scans:
    • Code:
      nmap -p- 80,443 <target>
      : Scannt alle Ports außer 80 und 443.
Port-Scans:
  • Top 100 Ports:
    • Code:
      nmap -F <target>
      : Scannt die 100 meistgenutzten Ports.
  • Stealth-Scans:
    • Code:
      nmap -sN -sF -sX <target>
      : Führt einen NULL, FIN und XMAS Scan durch, um Stealth zu erhöhen.
  • UDP-Scans:
    • Code:
      nmap -sU -p 53,67,161 <target>
      : Scannt die UDP-Ports 53 (DNS), 67 (DHCP) und 161 (SNMP).
Dienst- und Betriebssystemerkennung:
  • Detaillierte Versionen:
    • Code:
      nmap -sV -A <target>
      : Führt einen aggressiven Scan durch, um detaillierte Versionen von Diensten und das Betriebssystem zu ermitteln.
  • Script-basierte Erkennung:
    • Code:
      nmap --script http-title,http-server <target>
      : Ermittelt den HTTP-Titel und den Server der Webseite.
  • Fingerprinting:
    • Code:
      nmap -O -Pn <target>
      : Führt eine Betriebssystemerkennung durch, ohne vorher einen Ping zu senden.
Spezielle Scans und Optionen:
  • Vulnerabilitäts-Scans:
    • Code:
      nmap --script vuln <target>
      : Führt alle verfügbaren Vulnerability-Scripts aus.
  • Webanwendungen:
    • Code:
      nmap --script http-waf-detect,http-csrf <target>
      : Überprüft auf Web Application Firewalls und Cross-Site Request Forgery.
  • Netzwerk-Zeitprotokoll:
    • Code:
      nmap -sT -p 123 <target>
      : Scannt NTP-Server (Network Time Protocol).
  • SNMP:
    • Code:
      nmap -sU -p 161 --script snmp-sysdescr <target>
      : Ruft die Systembeschreibung eines SNMP-fähigen Gerätes ab.
Optimierungen:
  • Multi-Threading:
    • Code:
      -T4
      : Verwendet 4 Threads für parallele Scans.
  • Ausgabeformate:
    • Code:
      -oX output.xml
      : Speichert die Ergebnisse im XML-Format.
    • Code:
      -oG output.gnmap
      : Speichert die Ergebnisse im Grepable-Format.
  • Timing:
    • Code:
      -R
      : Wiederholt Scans, um falsche Negative zu reduzieren.
    • Code:
      --max-retries <number>
      : Legt die maximale Anzahl von Wiederholungen fest.

Beispiel für einen komplexen Scan:
Bash
Code:
nmap -sS -sV -O -p 21-443,8080 --script http-title,http-server,http-useragent,http-vuln* --top-ports 1000 -T4 -oX output.xml <target>

Dieser Befehl führt einen SYN-Scan durch, ermittelt die Version von Diensten, erkennt das Betriebssystem, scannt die Ports 21-443 und 8080, führt verschiedene HTTP-Scripts aus, scannt die Top 1000 Ports, verwendet 4 Threads und speichert die Ergebnisse in einer XML-Datei.

Spezielle Scans und Optionen:
  • Vulnerabilitäts-Scans:
    • Code:
      nmap --script vuln <target>
      : Führt alle verfügbaren Vulnerability-Scripts aus.
    • Beispiele für spezifische Schwachstellen:
      • Code:
        nmap --script http-vuln-cve2021-44228 <target>
        : Überprüft auf die Log4j-Schwachstelle (CVE-2021-44228).
      • Code:
        nmap --script smb-vuln-ms17-010 <target>
        : Überprüft auf die EternalBlue-Schwachstelle (CVE-2017-0144).
  • Webanwendungen:
    • Code:
      nmap --script http-title,http-server,http-useragent,http-waf-detect,http-csrf <target>
      : Sammelt umfassende Informationen über eine Webanwendung.
    • CMS-Erkennung:
      • Code:
        nmap --script http-wordpress,http-joomla <target>
        : Ermittelt, ob eine Website auf WordPress oder Joomla basiert.
  • Netzwerk-Zeitprotokoll:
    • Code:
      nmap -sT -p 123 <target>
      : Scannt NTP-Server (Network Time Protocol).
  • SNMP:
    • Code:
      nmap -sU -p 161 --script snmp-sysdescr,snmp-syslocation <target>
      : Ruft Systembeschreibung und Standort eines SNMP-fähigen Gerätes ab.
  • IoT-Geräte:
    • Code:
      nmap --script http-title,http-useragent,telnet,ssh,upnp <target>
      : Scannt auf typische IoT-Dienste und Protokolle.
  • Cloud-Umgebungen:
    • Code:
      nmap --script aws-ec2,azure-vm,gcp-instance <target>
      : Ermittelt Informationen über Instanzen in verschiedenen Cloud-Umgebungen.
Timing und Leistung:
  • Timing-Optionen:
    • Code:
      -T0
      : Paranoid Scan (sehr langsam, aber gründlich)
    • Code:
      -T5
      : Aggressive Scan (sehr schnell, aber möglicherweise weniger genau)
    • Code:
      --min-rate <rate>
      : Legt die minimale Paketrate pro Sekunde fest.
  • Rate Limiting:
    • Code:
      --max-rate <rate>
      : Begrenzt die maximale Paketrate pro Sekunde.
Ausgabe und Berichte:
  • Ausgabeformate:
    • Code:
      -oX <file>
      : XML-Ausgabeformat
    • Code:
      -oG <file>
      : Grepable Ausgabeformat
    • Code:
      -oN <file>
      : Normales Ausgabeformat
    • Code:
      -oA <file>
      : Alle Ausgabeformate
  • Berichterstellung:
    • Code:
      nmap --script-updatedb
      : Aktualisiert die Script-Datenbank.
    • Code:
      nmap --script-trace
      : Zeigt detaillierte Informationen über die Ausführung von Scripts.
Weitere Nützliche Optionen:
  • DNS-Auflösung:
    • Code:
      -n
      : Deaktiviert DNS-Auflösung.
  • Proxy-Verwendung:
    • Code:
      -proxy <proxy>
      : Verwendet einen HTTP-Proxy.
  • Spoofing:
    • Code:
      -D <decoy>
      : Verwendet Decoys, um die wahre Quelle des Scans zu verschleiern.
  • Greifbare Ausgabe:
    • Code:
      -oG - <target>
      : Gibt die Ausgabe direkt auf der Konsole im Grepable-Format aus.
Beispiele für komplexe Scans:
  • Umfassender Webserver-Scan:
    Bash
    Code:
    nmap -sS -sV -O -p 80,443 --script http-title,http-server,http-useragent,http-vuln*,http-csrf,http-waf-detect -T4 -oX webserver.xml <target>


  • IoT-Netzwerk-Scan:
    Bash
    Code:
    nmap -sS -sU -p 21,22,80,443,8080,8443 --script http-title,http-useragent,telnet,ssh,upnp,smb-enum-users,smb-enum-shares -T2 192.168.1.0/24


  • Cloud-Umgebungs-Scan:
    Bash
    Code:
    nmap -sS -sV -O --script aws-ec2,azure-vm,gcp-instance,http-title 10.0.0.0/16


Vulnerability Scans
  • Umfassender Vulnerability-Scan mit NSE-Scripts:
    Bash
    Code:
    nmap -sS -sV -O -p- --script vuln* <target>

    Dieser Befehl führt einen umfassenden Scan durch und nutzt alle verfügbaren Vulnerability-Scripts, um bekannte Schwachstellen zu identifizieren.
    Webanwendungen
    • Umfassender Webanwendungsscan:
      Bash
      Code:
      nmap -sS -sV -O -p 80,443,8080 --script http-title,http-server,http-useragent,http-vuln*,http-csrf,http-waf-detect,http-sitemap-generator -T4 -oX webserver.xml <target>

      Dieser Befehl scannt die gängigsten Webserver-Ports und führt eine Vielzahl von Scripts aus, um Schwachstellen wie SQL-Injection, Cross-Site-Scripting (XSS), Cross-Site-Request-Forgery (CSRF) und andere zu identifizieren.
    • Spezifische Schwachstellen:
      • SQL-Injection:
        Code:
        nmap --script http-sql-injection <target>
      • XSS:
        Code:
        nmap --script http-xss <target>
      • Datei-Einschlüsse:
        Code:
        nmap --script http-lfi,http-rfi <target>
    Netzwerkdienste
    • SSH:
      Bash
      Code:
      nmap -sS -sV -O -p 22 --script ssh-auth,ssh-hostkey,ssh-vuln* <target>

      Dieser Befehl scannt SSH-Server auf schwache Passwörter, unsichere Konfigurationen und bekannte Schwachstellen.
    • FTP:
      Bash
      Code:
      nmap -sS -sV -O -p 21 --script ftp-anon,ftp-write,ftp-bounce <target>

      Dieser Befehl überprüft FTP-Server auf anonyme Zugänge, Schreibberechtigungen und mögliche Bounce-Angriffe.
    • SMB:
      Bash
      Code:
      nmap -sS -sV -O -p 445 --script smb-vuln*,smb-enum-users,smb-enum-shares <target>

      Dieser Befehl scannt SMB-Server auf bekannte Schwachstellen, enumeriert Benutzer und Freigaben.
    • SNMP:
      Bash
      Code:
      nmap -sS -sV -O -p 161 --script snmp-sysdescr,snmp-syslocation,snmp-brute <target>

      Dieser Befehl sammelt Informationen über SNMP-fähige Geräte und versucht, sich mit Standard-Community-Strings anzumelden.

Zusätzliche Protokolle und Dienste
  • Kubernetes:
    Code:
    nmap -sS -sV -O -p 6443,10250 <Kubernetes-Master>
  • Docker:
    Code:
    nmap -sS -sV -O -p 2375,2376 <Docker-Host>
  • gRPC:
    Code:
    nmap -sS -sV -O -p 50051 --script grpc-info <target>
  • HTTP/3:
    Code:
    nmap -sS -sV -O -p 443 --script http-title,http-server,http-useragent,http-vuln* --http-method HEAD --http-version 3 <target>
  • WireGuard:
    Code:
    nmap -sS -sV -O -p 51820 --script wireguard-info <target>

Datenbanken
  • MongoDB:
    Code:
    nmap -sS -sV -O -p 27017 --script mongodb-info <target>
  • Oracle:
    Code:
    nmap -sS -sV -O -p 1521 --script oracle-tns-version <target>
  • Cassandra:
    Code:
    nmap -sS -sV -O -p 9042 --script cassandra-info <target>
Verzeichnisdienste
  • LDAP:
    Code:
    nmap -sS -sV -O -p 389,636 --script ldap-enum,ldap-userenum <target>
  • NIS:
    Code:
    nmap -sS -sV -O -p 20,21 --script nis-domain <target>
IoT-Geräte
  • IoT-Scan:
    Code:
    nmap -sS -sU -p 21,22,80,443,8080,8443 --script http-title,http-useragent,telnet,ssh,upnp,smb-enum-users,smb-enum-shares -T2 192.168.1.0/24
  • Spezifische IoT-Protokolle: MQTT, CoAP, Modbus
Industrielle Steuerungssysteme (ICS)
  • Modbus:
    Code:
    nmap -sS -sV -O -p 502 --script modbus-info <target>
  • OPC UA:
    Code:
    nmap -sS -sV -O -p 4840 --script opc-ua-info <target>
Cloud-Umgebungen
  • AWS:
    Code:
    nmap --script aws-ec2 <target>
  • Azure:
    Code:
    nmap --script azure-vm <target>
  • GCP:
    Code:
    nmap --script gcp-instance <target>
  • Kombination von Nmap und anderen Tools:
    • Nmap für die Port-Erkennung, Nessus für detaillierte Schwachstellenanalysen:
      Bash
      Code:
      nmap -sS -sV -O -p- -oX nmap_output.xml <target>

      Die Ausgabe von Nmap kann dann als Eingabe für Nessus verwendet werden, um detaillierte Schwachstellenberichte zu erstellen.
Pentesting-Szenarien
  • Erkennung von offenen Relays:
    Bash
    Code:
    nmap -sS -p 25 --script smtp-vrfy <target>

    Dieser Scan überprüft, ob ein SMTP-Server offene Relais erlaubt.
  • Identifizierung von Default-Passwörtern:
    Bash
    Code:
    nmap -sS -sV -O -p 22 --script ssh-auth <target>
    Dieser Scan versucht, sich mit Standardpasswörtern bei SSH-Servern anzumelden.
  • Aufdeckung von versteckten Diensten:
    Bash
    Code:
    nmap -sU -p 161,162 --script snmp-sysdescr <target>/24
    Dieser Scan sucht nach SNMP-Diensten in einem Subnetz, die möglicherweise nicht über Firewall-Regeln geschützt sind.
Erweiterte Techniken
  • Stealth-Scans mit Decoys:
    Bash
    Code:
    nmap -sS -D R:192.168.1.100,192.168.1.101 -p 80,443 --randomize-hosts --spoof-mac <MAC-Adresse> <target>
  • Zeitlich versetzte Scans:
    Bash
    Code:
    for i in {1..24}; do nmap -sS -sV -O -p- --script vuln* -T4 -oX scan_$i <target>; sleep 3600; done
  • Fuzzy-Scanning:
    Bash
    Code:
    nmap -sF -sN -sX <target>

Ausgabeformate und Berichterstellung
Nmap bietet verschiedene Ausgabeformate, um die Ergebnisse von Scans in einer für Sie leicht zu verwendenden Form zu speichern und zu analysieren.
  • -oX <Datei>: Speichert die Ergebnisse im XML-Format. Dieses Format ist besonders gut geeignet für die automatisierte Verarbeitung der Ergebnisse, beispielsweise in Skripten oder durch andere Tools.
  • -oG <Datei>: Speichert die Ergebnisse im Grepable-Format. Dieses Format ist für die einfache Suche nach bestimmten Informationen in den Ergebnissen optimiert und eignet sich gut für die Verwendung mit Tools wie grep oder awk.
  • -oN <Datei>: Speichert die Ergebnisse im normalen Ausgabeformat. Dies ist das Standardformat und bietet eine übersichtliche Darstellung der Ergebnisse am Terminal.
  • -oA <Datei>: Speichert die Ergebnisse in allen verfügbaren Formaten.
Beispiel:
Bash
Code:
nmap -sS -sV -O -p 80,443 --script http-title,http-server,http-useragent,http-vuln* -T4 -oX webserver.xml -oG webserver.gnmap <target>


Dieser Befehl führt einen umfassenden Scan eines Webservers durch und speichert die Ergebnisse sowohl im XML-Format (webserver.xml) als auch im Grepable-Format (webserver.gnmap).

Berichterstellung & Datenbank Update mit NSE-Scripts
  • --script-updatedb: Aktualisiert die Datenbank mit den neuesten NSE-Scripts. Es ist wichtig, diese Datenbank regelmäßig zu aktualisieren, um von neuen Funktionen und Verbesserungen zu profitieren.
  • --script-trace: Zeigt detaillierte Informationen über die Ausführung von NSE-Scripts an. Dies kann hilfreich sein, um Probleme bei der Ausführung von Scripts zu beheben oder um das Verhalten von Scripts besser zu verstehen.
Beispiel:
Bash
Code:
nmap --script-updatedb
nmap -sS -sV -O -p 80 --script http-title --script-trace <target>


Dieser Befehl aktualisiert zunächst die Script-Datenbank und führt dann einen Scan durch, bei dem detaillierte Informationen über die Ausführung des
Code:
http-title
-Scripts ausgegeben werden.

Erklärung von Decoys
Decoy-Hosts sind gefälschte Hosts, die während eines Nmap-Scans hinzugefügt werden. Sie dienen dazu, die wahre Quelle des Scans zu verschleiern und es dem Ziel zu erschweren, den eigentlichen Scanner zu identifizieren.
  • Syntax:
    Code:
    -D R:<decoy1>,<decoy2>...
  • Typen:
    • Random:
      Code:
      -D R
      Fügt zufällige IP-Adressen als Decoys hinzu.
    • Spezifisch:
      Code:
      -D <IP1>,<IP2>
      Gibt explizite IP-Adressen als Decoys an.
  • Zweck:
    • Verwirrung stiften: Durch die Vielzahl an scheinbaren Quellen wird es schwieriger, den eigentlichen Scanner zu lokalisieren.
    • Intrusion Detection Systems (IDS) täuschen: Decoys können IDS davon abhalten, einen Angriff zu erkennen.
    • False Positives erzeugen: Durch die Decoys können falsche Positivmeldungen in den Logs des Zielsystems erzeugt werden.
Wichtig: Die Verwendung von Decoys sollte ethisch vertretbar sein und nur in autorisierten Umgebungen erfolgen.
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste