Zum Hauptinhalt springen

Aktive Reconnaissance — Grundlagen

Sie kommen aus zwei Wochen stiller Aufklärung. Diese Woche wird gehandelt. Jedes Paket, das Sie senden, kann gesehen, protokolliert, korreliert werden. Ein falsch eingestellter Scan bedeutet ein schreiendes IDS, einen anrufenden Kunden, einen Test, der im Roten beginnt.

Erinnerung

Ein Portscan auf eine IP-Adresse, die Ihnen nicht gehört und für die Sie keine schriftliche Genehmigung haben, ist in den meisten Rechtsordnungen eine feindliche Handlung im rechtlichen Sinne — selbst wenn Sie nichts finden. Diese gesamte Lektion wird in Ihrem Lab oder auf Zielen ausgeführt, die durch ein RoE abgedeckt sind.

Was Sie nach dieser Lektion können​

  • Den richtigen Scan für den richtigen Moment wählen (schnell, vollständig, diskret, aggressiv).
  • Ein Nmap-Ergebnis Zeile für Zeile lesen, einschließlich filtered, open|filtered, unfiltered.
  • Einen Windows-Dienst mit enum4linux-ng, smbclient, crackmapexec enumerieren.
  • Wireshark verwenden, um zu prüfen, was Ihr Scan tatsächlich auf der Leitung erzeugt.
  • Ein Paket von Hand mit Scapy fälschen, wenn nmap nicht das tut, was man will.
  • Die Rauschkosten eines Scans einschätzen, bevor man ihn startet.

1. Der Übergang passiv → aktiv: Was sich wirklich ändert​

Im passiven Modus weiß niemand, dass Sie existieren. Im aktiven Modus steht Ihre IP in den Logs des Ziels. Drei konkrete Konsequenzen:

  1. Ihre Spuren sind datiert. Ein nmap -p- auf victim.com um 03:14 Uhr am 12. April lässt sich zurückverfolgen.
  2. Ihre Spuren sind zuordenbar. Quell-IP, TCP/IP-Fingerabdruck, HTTP-User-Agent, Paketreihenfolge — all das verrät, wer Sie sind.
  3. Die Abwehr schlägt zurück. Ein IDS kann Ihre IP im laufenden Betrieb blockieren. Eine WAF kann Sie kappen. Ein SOC kann Ihren Kunden anrufen, um nachzufragen.

Gut durchgeführt bleibt aktive Reconnaissance unauffällig oder vernachlässigbar. Schlecht durchgeführt wird sie zum Absatz „Vorfall" im Bericht des CISO.


2. Die Logik des geschichteten Scans​

Ein Pentester startet niemals von Anfang an nmap -A --script vuln. Man geht in Schichten vor, vom Feinsten zum Breitesten. Jede Schicht beantwortet eine Frage.

SchichtFrageWerkzeugRauschen
1. Host-DiscoveryWer ist aktiv?nmap -sn, arp-scanNiedrig
2. Port-ScanningWas lauscht?nmap -sS -p-Mittel
3. VersionserkennungWer lauscht, in welcher Version?nmap -sVMittel-hoch
4. Gezielte NSE-SkripteWas sagt dieser Dienst?nmap --script <spezifisch>Variabel
5. Applikations-EnumerationKonten, Freigaben, Endpunkteenum4linux-ng, gobusterHoch

Die Regel: Jede Schicht baut auf der vorherigen auf. Man führt -sV nur auf offenen Ports aus, nicht blind auf allen 65.535. Man startet NSE-Skripte nur auf identifizierten Diensten, nicht standardmäßig.


3. Die Nmap-Portzustände — hören Sie auf, sie falsch zu lesen​

Sechs mögliche Zustände. Bringen Sie sie nicht länger durcheinander:

ZustandBedeutung
openEin Dienst lauscht und antwortet.
closedNichts lauscht — das Ziel antwortet mit RST (TCP) oder ICMP port unreachable (UDP).
filteredEine Firewall absorbiert Ihr Paket. Weder Ja noch Nein.
unfilteredDas Ziel antwortet, aber man weiß nicht, ob der Port offen ist (selten, bei -sA).
open|filteredKeine Antwort — entweder offen oder gefiltert (bei UDP tatsächlich häufig).
closed|filteredDasselbe, aber man tendiert zu geschlossen (Zombie-Scan).

Was das für Sie bedeutet:

  • Ein filtered-Port ist eine Information: Jemand hat eine Firewall eingerichtet, also steckt etwas Sensibles dahinter.
  • Ein open|filtered-Port bei UDP ist sehr häufig: Wiederholen Sie mit -sU --reason, um Klarheit zu bekommen.
  • Ein nmap-Bereich, der überall filtered liefert, ist oft eine Netzwerk-Firewall, kein ausgeschalteter Rechner.

4. Die TCP-Scan-Techniken — welche, wofür​

Techniknmap-OptionWas sie tutWann sie wählen
SYN-Scan (Halbverbindung)-sSSendet ein SYN, liest SYN/ACK, vollendet den Handshake nicht.Standard. Schnell und diskret. Erfordert root.
Connect-Scan-sTVollständiger Handshake (nutzt das OS).Ohne root, oder um bestimmte Fingerabdrücke zu vermeiden.
ACK-Scan-sAKartiert Firewalls (nicht die offenen Ports).Erkennung einer zustandsbehafteten vs. zustandslosen Firewall.
FIN / NULL / Xmas-sF / -sN / -sXSendet ungewöhnliche Flag-Kombinationen.Umgehung schlecht konfigurierter Firewalls (RFC 793).
Idle-Scan-sI zombieNutzt eine Drittmaschine als Relais. Ihre IP spricht nie mit dem Ziel.Extreme Unauffälligkeit (und Komplexität).
UDP-Scan-sUErzwingt das Scannen von UDP. Sehr langsam.Entdeckung von DNS, SNMP, NTP, IKE, SIP …

Für 90 % der Aufträge: -sS bei TCP, -sU -p <interessante UDP-Ports> bei UDP, wenn nützlich.


5. Die Timing-Templates — -T verstehen​

nmap bietet sechs Geschwindigkeiten: -T0 bis -T5. Das sind keine Geschenke, sondern Entscheidungen.

TemplateRateVerwendung
-T0 paranoid5 Min zwischen PaketenNur für extreme IDS-Umgehungen.
-T1 sneaky15 s zwischen PaketenEbenfalls für Umgehung, aber weniger langsam.
-T2 polite400 ms zwischen PaketenFragile Hardware, Industrienetzwerke.
-T3 normalStandard.Klassischer Pentest im Lab oder LAN.
-T4 aggressiveSchnell.Robustes Ziel, breite Anbindung.
-T5 insaneSehr schnell.Geringere Genauigkeit, häufige Falsch-Negative.

Regel: -T3, außer es gibt einen konkreten Grund, es anders zu machen. -T4 bei modernen Cloud-Zielen. Niemals -T5 in der Produktion, auch nicht bei einem lauten Test.

Sie können mit --max-rate, --min-rate, --scan-delay, --host-timeout fein justieren — aber in 95 % der Fälle genügt ein -T.


6. Die NSE-Skripte — enorme Macht, enorme Vorsicht​

nmap bringt mehr als 600 Skripte mit (/usr/share/nmap/scripts/). Sie sind in Kategorien eingeteilt. Die nützlichsten:

KategorieWas sie tutVorsicht
default (oder -sC)Gängige, nicht destruktive Skripte.Gering.
safeBeeinträchtigt den Dienst nicht.Gering.
discoveryFindet Dinge, ohne zu exploitieren.Gering.
versionVerbessert die Versionserkennung.Gering.
authErkennt Auth-Konfigurationen, versucht manchmal Logins.Mittel.
vulnErkennt bekannte Schwachstellen. Löst sie oft teilweise aus.Hoch.
exploitExploitiert aktiv.Nicht ohne klare Absicht starten.
intrusiveKann den Dienst zum Absturz bringen.Niemals in der Produktion starten.
dosBringt den Dienst zum Absturz.Außerhalb des Labs verboten.

Gute Praxis: --script "safe and default" beim Discovery-Scan. Gezielte Skripte (smb-vuln-*, http-shellshock usw.), sobald eine Spur identifiziert ist.

Schlechte Praxis: --script vuln als breiter Scan. Sie zerstören Dinge und wissen nicht, welches.


7. Die Windows-/SMB-Enumeration​

In einer Windows-/Active-Directory-Umgebung ist die wahre Goldgrube SMB (Port 445) und LDAP (389, 636). Die Werkzeuge:

WerkzeugWas es tut
enum4linux-ngEnumeriert Benutzer, Gruppen, Freigaben, Richtlinie über Null-Session oder mit Zugangsdaten.
smbclient -L //cible/ -NListet Freigaben ohne Authentifizierung.
crackmapexec smb <cible>Das Schweizer Taschenmesser für SMB: Banner, Freigaben, Auth-Tests, Remote-Ausführung.
nxc smb <cible>Gepflegter Nachfolger von crackmapexec (NetExec).
smbmap -H <cible> -u <user> -p <pass>Listet die Rechte auf jeder Freigabe.
ldapsearch -x -H ldap://<cible>Anonyme LDAP-Abfragen, sofern erlaubt.

Wonach man sucht:

  • Ein Zugriff per Null-Session (-u '' -p ''), der die Benutzerliste liefert = Gold.
  • Eine lesbare SYSVOL- oder NETLOGON-Freigabe ohne Passwort = ungewöhnlich, außer auf einem DC.
  • IPC$-, ADMIN$-, C$-Freigaben, die mit einem Standard-Domänenkonto zugänglich sind.
  • Die Passwortrichtlinie (Länge, Ablauf, Sperrung) — später nützlich für das Password Spraying.

8. Wireshark — prüfen, was man wirklich aussendet​

Wireshark ist streng genommen kein offensives Werkzeug. Aber ein Pentester, der es nicht nutzt, ist ein blinder Pentester.

Drei Anwendungen:

  1. Den eigenen Datenverkehr prüfen. Einen nmap-Lauf starten und Wireshark beobachten: sehen, wie viele Pakete man wirklich sendet. Ein nmap -T4 auf ein /24 kann in 30 Sekunden Zehntausende SYN-Pakete versenden.
  2. Fehler verstehen. Ein Scan liefert filtered — warum? Wird das rücklaufende ICMP blockiert, oder wird das RST absorbiert?
  3. Überraschende Protokolle finden. Ein klassischer nmap-Lauf sieht Ports. Wireshark sieht Konversationen — ein geschwätziges mDNS, ein nicht deaktiviertes LLMNR, ein Elasticsearch, das per Broadcast antwortet.

Filter, die man auswendig kennen sollte:

tcp.flags.syn == 1 and tcp.flags.ack == 0       # Ausgehende SYN
tcp.flags.reset == 1 # Empfangene RST
smb2 # SMB2-Verkehr
dns.qry.name contains "internal" # Verdächtige DNS-Anfragen

9. Scapy — wenn nmap nicht mehr ausreicht​

Scapy ist eine Python-Bibliothek, mit der man ein Paket von Hand, Feld für Feld, zusammenbauen kann. Nützlich, wenn:

  • Sie eine bestimmte Flag-Kombination testen wollen, die nmap nicht nativ anbietet.
  • Sie ein einzelnes Paket senden und die Antwort im Klartext sehen wollen.
  • Sie ein leichtes Protokoll-Fuzzing durchführen wollen.

Das absolute Minimum:

from scapy.all import IP, TCP, UDP, ICMP, sr1

reponse = sr1(IP(dst="10.10.10.12") / TCP(dport=445, flags="S"), timeout=2, verbose=0)
if reponse and reponse.haslayer(TCP):
print("Empfangene Flags:", reponse[TCP].flags)

Rückgabe von flags:

  • 0x12 (SYN+ACK) → der Port ist offen.
  • 0x14 (RST+ACK) → der Port ist geschlossen.
  • None → gefiltert.

Sie haben soeben in drei Zeilen einen Portscan geschrieben, der die Signaturen von nmap, die manche IDS erkennen, umgeht. Das ist die Stärke von Scapy.


10. Die Fehler, die teuer werden​

  • -A von Anfang an starten. Sie vermischen Discovery, Versionen, OS, Skripte und Traceroute. Sie wissen nicht mehr, was woher kommt. Arbeiten Sie in Schichten.
  • Dem ersten Scan glauben. Ein Port kann wegen eines vorübergehenden IPS filtered sein. Wiederholen, korrelieren.
  • UDP vergessen. Sie verpassen SNMP, IKE, SIP, TFTP — Dienste, die oft den Schlüssel enthalten.
  • Nicht mitschneiden. Ergebnisse immer mit -oA <prefix> speichern. Die .xml-Datei dient für msfconsole → db_import.
  • Nachts in einem Firmen-LAN scannen. Das SOC schläft nicht. Informieren Sie den Eskalationskontakt vorher.
  • Nur eine IP-Adresse verwenden. Eine früh in der Mission verbrannte IP verlangsamt die Mission. Planen Sie einen Plan B (VPN, zweite Schnittstelle).

11. Was Sie sich merken sollten​

  • Aktiv = Pakete beim Ziel. Halten Sie sich das bei jedem Befehl bewusst vor Augen.
  • Scan in Schichten: Discovery → Ports → Versionen → gezieltes NSE.
  • Sechs Portzustände. Jeder erzählt eine Geschichte.
  • -T3 als Standard, -sS als Standard. Danach feinjustieren.
  • NSE: safe standardmäßig, vuln nur bei identifizierten Zielen, intrusive niemals ohne Plan.
  • SMB ist die Windows-Goldgrube — lernen Sie nxc smb auswendig.
  • Wireshark zum Verstehen, Scapy zum Herstellen.

Nächste Lektion: Wir greifen unser Lab aus Woche 1 wieder auf, fügen ein zweites Linux-Opfer hinzu und kartieren alles sauber.