Nmap Timing und Evasion

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Grundsätzliches

Bei Timing und Evasion geht es darum, einen Scan entweder zu beschleunigen oder ihn so zu gestalten, dass Firewall und IDS ihn schwerer erkennen. Jede Optimierung tauscht Geschwindigkeit gegen Vollständigkeit. Gescannt wird von der kali-innen (10.0.10.101) gegen das Opfernetz 10.88.215.0/24.

Timing-Templates

Nmap bietet sechs vordefinierte Templates von langsam und leise bis schnell und laut

-T0 paranoid
  • Maximale Tarnung, sehr langsam
-T1 sneaky
  • Langsam, zur IDS-Umgehung
-T2 polite
  • Reduzierte Netzlast
-T3 normal
  • Standard
-T4 aggressive
  • Schnell, für vertrauenswürdige Netze
-T5 insane
  • Maximale Geschwindigkeit, Ergebnisverluste möglich
Beispiel
  • nmap 10.88.215.61 -T4

Performance - minimale Paketrate

Mit --min-rate wird eine Untergrenze an Paketen pro Sekunde erzwungen

  • nmap 10.88.215.0/24 -F --min-rate 300
Nmap done: 256 IP addresses (5 hosts up) scanned in 8.67 seconds
Erläuterung
  • Bei stabilen Netzbedingungen ist --min-rate eine der effektivsten Methoden, die Scandauer zu senken
  • Die Ergebnisse bleiben gleich, solange das Netz die Rate verträgt

Performance - Wiederholungen begrenzen

Mit --max-retries wird festgelegt, wie oft nmap ein Paket erneut sendet

  • nmap 10.88.215.0/24 -F --max-retries 0
Erläuterung
  • Weniger Wiederholungen bedeuten einen schnelleren Scan
  • Es können aber Ports verpasst werden, deren Antwort verloren geht

Performance - RTT-Timeout

Mit den RTT-Optionen wird die Wartezeit auf Antworten gesteuert

  • nmap 10.88.215.0/24 -F --initial-rtt-timeout 50ms --max-rtt-timeout 100ms
Erläuterung
  • Kürzere Timeouts beschleunigen den Scan
  • Zu aggressive Werte führen zu verpassten Hosts

Firewall, IDS und IPS

Firewall
  • Kontrolliert den Traffic zwischen Netzen - verwirft Pakete still oder lehnt sie aktiv ab
IDS
  • Passives Monitoring - erkennt Angriffsmuster und alarmiert
IPS
  • Aktives IDS - blockiert Verbindungen automatisch bei Erkennung

ACK-Scan zur Firewall-Analyse

Der ACK-Scan zeigt, ob eine Firewall Pakete blockiert. ACK-Pakete sehen aus wie Teil einer bestehenden Verbindung und werden oft durchgelassen.

  • nmap 10.88.215.61 -p 22,80,443 -sA -Pn -n
PORT    STATE      SERVICE
22/tcp  unfiltered ssh
80/tcp  unfiltered http
443/tcp unfiltered https
Erläuterung
  • Alle drei Ports antworten mit RST - die ACK-Pakete haben den Host erreicht
  • unfiltered bedeutet: keine Firewall blockiert diese Pakete
  • Kommt dagegen keine Antwort, blockiert eine Firewall den Pfad

IDS und IPS erkennen

Vorgehen
  • IDS und IPS antworten nicht aktiv und sind daher schwer zu erkennen
  • Der zuverlässigste Hinweis ist, wenn der Zugang zum Ziel nach bestimmten Scans plötzlich blockiert wird
  • Bei einem Engagement von mehreren Quell-IPs scannen
  • Wird eine IP blockiert, ist das ein starker Hinweis auf ein aktives IPS - dann Quelle wechseln und langsamer scannen

Decoy-Scan

Fake-Quell-IPs werden in die Pakete eingefügt, um den echten Scanner zu verschleiern. Das Ziel sieht Verbindungsversuche von mehreren Hosts gleichzeitig.

  • nmap 10.88.215.61 -p 80 -sS -Pn -n -D RND:5
PORT   STATE SERVICE
80/tcp open  http
Erläuterung
  • -D RND:5 erzeugt fünf zufällige Decoy-IPs
  • Die echte IP wird an zufälliger Position zwischen den Decoys eingefügt
  • Die Decoy-IPs sollten erreichbare Hosts sein, sonst entstehen ungenaue Ergebnisse

Gespoofte Quell-IP

Nützlich, wenn Firewallregeln auf Subnetzen statt einzelnen IPs basieren

  • nmap 10.88.215.61 -p 445 -sS -Pn -n -S 10.88.215.200 -e eth0
Erläuterung
  • -S setzt die gespoofte Quell-IP
  • -e legt das Interface fest, über das gesendet wird
  • Antworten gehen an die gespoofte IP - sinnvoll nur, wenn man diese mitlesen kann

Source-Port 53

Firewalls lassen Traffic auf Port 53 oft ungeprüft durch, da DNS sonst nicht funktioniert

  • nmap 10.88.215.1 -p 80 -sS -Pn -n --source-port 53
Erläuterung
  • Antwortet ein vorher gefilterter Port plötzlich, vertraut die Firewall dem Quellport 53
  • Das ist eine klassische Methode, um schwache Firewallregeln zu umgehen
  • Mit netcat lässt sich der Port danach direkt ansprechen
  • nc -nv --source-port 53 10.88.215.1 80