Nmap: Unterschied zwischen den Versionen

Aus Foxwiki
Thomaskarras (Diskussion | Beiträge)
Thomaskarras (Diskussion | Beiträge)
Zeile 70: Zeile 70:


== Netzwerkbereiche ==
== Netzwerkbereiche ==
*Im Vergleich zum Ping-Scanning geht es beim Port-Scanning darum, welche Anwendungen aktiv und erreichbar sind.


= Dienste identifizieren =
= Dienste identifizieren =

Version vom 25. Februar 2021, 11:19 Uhr

Network Mapper (nmap)

  • ist ein freier Netzwerk-Scanner

Netzwerke scannen

Was ist Network Scanning?

  • Netzwerke scannen und analysieren
  • angeschlossene und aktiven Systeme erkennen
  • Details zu Diensten, Konfigurationen und Versionen bestimmen
  • Netzwerk-Inventarisierung
  • Dienste-Aktualisierungen prüfen
  • Überwachung von Betriebszeiten, Hosts oder Diensten

Syntax

nmap [Scan Type(n)] [Optionen] {Ziel}

Einfacher Portscan

nmap ohne Optionen

  • Es geht darum herauszufinden, ob ein Port offen ist, welche Anwendung dahinter läuft und ob dort Sicherheitslücken und Schwachstellen zu vermuten sind.
  • Ein einfacher Port-Scanner wird alle Ports pauschal in zwei oder drei Zustände einteilen:
  1. offen,
  2. geschlossen,
  3. gefiltert (offen/geschlossen).

Bedeutung der Ausgabe

  • Der Zustand "Offen" bedeutet, dass eine Anwendung oder ein Dienst bereit ist TCP-Verbindungen oder UDP-Pakete auf diesem Port anzunehmen.
  • Um Kommunikationsverbindungen betreiben zu können bedarf es offener Ports.
  • Anzahl offener Ports begrenzen, um die Angriffsfläche so klein wie möglich zu halten.
  • Offene Ports werden zusätzlich geschützt oder Verbindungsmöglichkeiten eingeschränkt.
  • Der Zustand "Geschlossen" bedeutet, dass keine Anwendung und kein Dienst an diesem Port auf eingehende Datenpakete und Verbindungsversuche lauscht bzw. hört.
  • Auf ihm sind keine Kommunikationsverbindungen möglich.
  • Ein geschlossener Port ist nur so lange geschlossen, wie eine Anwendung auf diesen Port hört und Verbindungen und Pakete annimmt.
  • Um offene, aber auch geschlossene Ports zu schützen, setzen Systemadministratoren einen Portfilter (Firewall) ein.
  • So verhindert man z.B. die Verbindungsversuche durch Port-Scans.
  • Ein Port-Scan soll nur den Zustand eines Ports ermitteln, aber keine echte Verbindung aufbauen.
  • Weil er die dahinterliegende Anwendung nicht kennt, kann er nur Testpakete an einen Port schicken.
  • Der Filter verhindert, dass diese Testpakete durchkommen.
  • In der Regel werden diese Pakete verworfen.
  • Dann kann für diesen Port weder der Status "offen" oder "geschlossen" gelten.
  • Dafür gibt es den Zustand "gefiltert" oder "blockiert".

Ziele festlegen

  • NMAP ist bei der Angabe des Scan-Ziels sehr flexibel.
  • Das kann ein Domain-Name sein, eine IP-Adresse oder ein ganzes Subnetz.
   Domain: www. XXX.XX
   IP-Adresse: 192.168.1.1
   Subnetz: 192.168.1.1/24
   Subnetz: 192.168.1.*
  • Man sollte einen Port-Scan nicht auf ein ganzes Subnetz anwenden.
  • Ein ganzes Subnetz zu scannen, kann sehr lange dauern, wenn die Hosts gefilterte Ports haben.
  • Die Anzahl der Ports reicht von 1 bis 65.535.
  • NMAP scannt standardmäßig nur etwa 1.000 der meistgenutzten Ports, die in der Datenbank "nmap-services" aufgelistet sind.
  • Mit der Option "-F" (für engl. fast, dt. schnell) kann man den Port-Scan sogar auf die 100 meistgenutzten Ports beschränken.
  • Interessante Ports scannen mit der Option "-p":
    • Für den Port 22 verwendet man die Option "-p22".
    • Für die Ports 22, 25 und 80 verwendet man die Option "-p22,25,80".
    • Für die Ports von 1 bis 100 verwendet man die Option "-p-100".
    • Für die Ports von 80 bis 88 verwendet man die Option "-p80-88".
    • Für alle Ports über 60.000 verwendet man die Option "-p60000-".
    • Alle Ports von 1 bis 65.535 scannen: Option "-p-".

Einzelne Rechner

  • Der Zielbereich ist eine einzelne IP-Adresse
  • Standardmäßig arbeitet Nmap mit IPv4 (es geht aber auch IPv6)
  • Hier wurde ein Linux-PC von einem Windows-7-Rechner aus gescannt:
    • nmap 172.16.24.102
  • Die IP-Adresse gehört also dem Linux-Rechner, den wir mit Nmap auf offene Ports hin überprüfen.
  • Das Ergebnis: Drei Ports sind offen; 21 für FTP, 80 für einen Webserver (in unserem Fall ein Apache) und 110 für POP3.
  • 997 well known Ports erkennt Nmap als geschlossen.

Netzwerkbereiche

  • Im Vergleich zum Ping-Scanning geht es beim Port-Scanning darum, welche Anwendungen aktiv und erreichbar sind.

Dienste identifizieren

Zenmap

  • Neben der textbasierten Variante gibt es noch die grafische Benutzeroberfläche NmapFE zur komfortablen Einstellung von Nmap.
  • Wurde mittlerweile durch die Zenmap genannte GUI abgelöst.

Ausgabe steuern

Weitere Informationen

Funktionen

Target Enumeration

Ping-Scanning (Host-Discovery)

  • Klassischer Ping-Scan (Network-Scan)
 nmap -PE -sn -oG - 192.168.0.1/24
  • Der klassische Ping-Scan mit ICMP—Echo-Requests (-PE), aber ohne Port-Scan (-sn).
  • Erweiterter Ping-Scan (Network-Scan)
 nmap -sP -oG - 192.168.0.1/24
  • Dieser TCP-Ping-Scan ist eigentlich kein Ping-Scan, sondern eher eine sinnvolle Erweiterung zu einem klassischen Ping.
  • Der TCP-Ping-Scan kombiniert den klassischen Ping (ICMP-Echo) mit dem TCP-SYN-Scan.
  • Damit funktioniert der TCP-Ping-Scan manchmal besser als ein klassischer Ping bzw. ein einfacher ICMP-Echo-Request.

Port-Scanning

Service- und Versionserkennung (Service Identification)

Betriebssystemerkennung (OS Identification)

Scan-Typen

Ping-Scan

1. ICMP-Echo-Ping (klassischer Ping)

nmap -PE 10.10.0.1 für Subnet  nmap -PE 10.10.0.1/24 oder  nmap -PE 10.10.0.*

2. TCP-Ping-Scan

nmap -sn 10.10.0.1

3. TCP-SYN-Ping

nmap -PS 10.10.0.1

4. TCP-ACK-Ping nmap -PA 10.10.0.1 5. UDP-Ping

nmap -PU 10.10.0.1

6. ICMP-Timestamp-Scan

nmap -PT 10.10.0.1

7. ICMP-Address-Scan

nmap -PM 10.10.0.1

TCP-Full-Connect-Scan

  • Connect-Scan verwendet den gleichnamigen Systemaufruf zum Scannen von Rechnern, anstatt sich auf rohe Pakete zu verlassen, wie es die meisten anderen Methoden tun.
  • Es wird normalerweise von unprivilegierten Unix-Benutzern und gegen IPv6-Ziele verwendet, da der SYN-Scan in diesen Fällen nicht funktioniert.
nmap -sT 10.10.0.1

TCP-SYN-Scan

  • Dies ist bei weitem der populärste Scan-Typ, weil es die schnellste Art ist, Ports des populärsten Protokolls (TCP) zu scannen.
  • Er ist stealthier als der Verbindungs-Scan, und er funktioniert gegen alle funktionierenden TCP-Stapel (im Gegensatz zu einigen Spezial-Scans wie dem FIN-Scan).
nmap -sS 10.10.0.1

3. TCP-FIN-Scan

nmap -sF 10.10.0.1

4. TCP-XMAS-Scan

nmap -sX 10.10.0.1

5. TCP-NULL-Scan

nmap -sN 10.10.0.1

UDP-Scan

UDP-Ports bieten viele Sicherheitslücken

nmap -sU 10.10.0.1

TCP-ACK-Scan

  • Der ACK-Scan wird häufig zur Abbildung von Firewall-Regelsätzen verwendet.
  • Insbesondere hilft er zu verstehen, ob Firewall-Regeln zustandsbehaftet sind oder nicht.
  • Der Nachteil ist, dass er nicht zwischen offenen und geschlossenen Ports unterscheiden kann.
nmap -sA 10.10.0.1

TCP-Window-Scan

Der Window-Scan ist wie der ACK-Scan, außer dass er in der Lage ist, offene gegenüber geschlossenen Ports gegen bestimmte Rechner zu erkennen.

nmap -sW 10.10.0.1

TCP-Maimon-Scan

Dieser obskure Firewall-evading-Scan-Typ ähnelt einem FIN-Scan, enthält aber auch das ACK-Flag. Dadurch kann er durch mehr Paketfilter-Firewalls hindurchkommen, mit dem Nachteil, dass er gegen noch weniger Systeme funktioniert als der FIN-Scan.

nmap -sM 10.10.0.1

TCP-Idle-Scan

Der Leerlauf-Scan ist der heimlichste Scan-Typ von allen und kann manchmal vertrauenswürdige IP-Adressenbeziehungen ausnutzen. Leider ist er auch langsam und komplex.

nmap -sI 10.10.0.1

IP-Protokoll-Scan

  • Protokoll-Scan bestimmt, welche IP-Protokolle (TCP, ICMP, IGMP usw.) vom Zielcomputer unterstützt werden.
  • Technisch gesehen handelt es sich hierbei nicht um einen Port-Scan, da die IP-Protokollnummern und nicht die TCP- oder UDP-Portnummern durchlaufen werden.
  • Dennoch verwendet er nach wie vor die Option -p zur Auswahl der gescannten Protokollnummern, meldet seine Ergebnisse mit dem normalen Port-Tabellenformat und verwendet sogar dasselbe zugrunde liegende Scan-Modul wie die echten Port-Scan-Methoden.
  • Es ist also nahe genug an einem Port-Scan, dass es hierher gehört.
nmap -sO 10.10.0.1

Ohne angaben werden die 1000 wichtigsten Ports gescannt. -F steht für die 100 wichtigsten Ports -p steht für Port selektiv ( -p25 oder -p25-100 oder -p25,80,100 oder alle Ports über -p6000-) -p- um alle Ports zu scannen.

OS & Service Identication mit NMAP

1. OS-Scan (OS-Detection)

nmap -O 10.10.0.1

2. Service-Scan / Versions-Scan

nmap -sV 10.10.0.1

3. RPC-Scan

nmap -sR 10.10.0.1

4. Kombinierter OS- & Service-Scan

nmap -O -sV 10.10.0.1

Anwendungsbeispiele

1. Klassischer Ping-Scan

nmap -PE -sn -oG – 10.10.0.1/24

2. Erweiterter Ping-Scan

nmap -sP -oG – 10.10.0.1/24

3. SYN-TOP100-Port-Scan

nmap -sS -F 10.10.0.1

4. SYN/Version-All-Port-without-Ping-Scan

nmap -sV -Pn -p0- --reason --stats-every 60s 10.10.0.1

5. Aggressive-All-Host-All-Port-Scan

nmap -sV -Pn -p0- -T4 -A -oG - --reason --stats-every 60s 10.10.0.1/24

6. TCP-ACK-Scan

nmap -sA -F 10.10.0.1

7. TCP-FIN-Scan

nmap -sF -F 10.10.0.1

8. UDP-Port-Scan

nmap -sU -F 10.10.0.1

9. UDP-All-Port-Scan

nmap -sU -p0- --reason --stats-every 60s --max-rtt-timeout 100ms --max-retrie 1 10.10.0.1

10. List­-Scan

nmap -sL 10.10.0.1/24

Links

intern

extern