Nmap Timing und Evasion
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