Dsniff

Aus Xinux Wiki
Version vom 24. Juni 2026, 03:19 Uhr von Thomas.will (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

dsniff ist eine Sammlung klassischer Netzwerk-Audit-Tools (Dug Song, ~2000). Produktiv relevant sind heute nur noch die Layer-2-Werkzeuge arpspoof und dnsspoof; die Sniffer (dsniff, urlsnarf) dienen als Lehrstück für unverschlüsselte Protokolle.

Diese Übung zeigt das Kern-Primitiv: ARP-Spoofing als Mensch-in-der-Mitte zwischen Opfer und Gateway. Sie läuft im kontrollierten Lab verlässlich, weil dort weder Dynamic ARP Inspection noch Port-Security aktiv ist.

Lab-Aufbau

Drei Hosts im selben Segment (VirtualBox Internes Netzwerk oder Bridged).

Gateway / Router
  • 10.0.10.1
Angreifer (Kali)
  • 10.0.10.101
Opfer (Debian / Windows)
  • 10.0.10.102

Interface im Folgenden als eth0 – ggf. an die eigene VM anpassen (ip a).

Schritt 1: IP-Forwarding aktivieren

Ohne Forwarding wird der Opfer-Traffic verworfen (Blackhole) – das Opfer verliert sofort die Verbindung und merkt den Angriff. Forwarding leitet die Pakete transparent weiter
  • sysctl -w net.ipv4.ip_forward=1

Kontrolle:

sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

Schritt 2: arpspoof starten

Beide Richtungen müssen vergiftet werden: dem Opfer wird vorgegaukelt, der Angreifer sei das Gateway – und dem Gateway, der Angreifer sei das Opfer. Zwei Terminals, je ein Prozess:

Terminal 1 – Opfer vergiften (Angreifer = Gateway)
  • arpspoof -i eth0 -t 10.0.10.102 10.0.10.1
Terminal 2 – Gateway vergiften (Angreifer = Opfer)
  • arpspoof -i eth0 -t 10.0.10.1 10.0.10.102

Alternativ als Einzeiler mit -r (bidirektional):

  • arpspoof -i eth0 -t 10.0.10.102 -r 10.0.10.1

Schritt 3: MITM verifizieren

Am Opfer die ARP-Tabelle prüfen – die MAC des Gateways muss jetzt die MAC des Angreifers sein
  • arp -a (Linux) bzw. arp -a (Windows)
Am Angreifer mitschneiden – der gesamte Opfer-Traffic läuft nun durch
  • tcpdump -i eth0 -n host 10.0.10.102

oder grafisch mit Wireshark, Display-Filter:

ip.addr == 10.0.10.102

Schritt 4 (Erweiterung): dnsspoof

Aus der MITM-Position lassen sich DNS-Antworten fälschen. Hosts-Datei für die zu spoofenden Namen anlegen:

# /root/dnsspoof.hosts
10.0.10.101   www.beispiel.int
dnsspoof gegen die Anfragen des Opfers starten
  • dnsspoof -i eth0 -f /root/dnsspoof.hosts

Auflösungen des Opfers auf www.beispiel.int zeigen jetzt auf den Angreifer.

Schritt 5 (Pointe): Cleartext-Sniffer

Gegen einen absichtlich unverschlüsselten Dienst im Lab (HTTP-Login ohne TLS, FTP, Telnet) – nicht als heutige Methode, sondern als Beweis, warum Cleartext gefährlich ist:

HTTP-Requests des Opfers mitlesen
  • urlsnarf -i eth0
Klartext-Credentials extrahieren
  • dsniff -i eth0

Das Opfer meldet sich am unverschlüsselten Dienst an → die Zugangsdaten erscheinen im Klartext beim Angreifer. Das ist die didaktische Auszahlung: deshalb TLS.

Aufräumen

arpspoof mit Strg-C sauber beenden – es sendet dann korrigierende ARP-Replies und stellt den Originalzustand wieder her
  • Strg-C

Nicht hart killen (kill -9), sonst bleibt das Opfer mit falscher ARP-Tabelle zurück und verliert kurzzeitig die Verbindung.

IP-Forwarding zurücksetzen
  • sysctl -w net.ipv4.ip_forward=0

Bewusst nicht Teil dieser Übung

Diese Tools funktionieren im Lab nicht zuverlässig und sind daher ausgeklammert:

macof (CAM-Table-Flooding)
  • Effekt hängt vom Switch ab. Virtuelle Switches und moderne Hardware-Switches gehen nicht fail-open → kein reproduzierbarer Mitschnitt. Nur als Konzept erwähnen.
Echte Switches mit Dynamic ARP Inspection (DAI)
  • blocken arpspoof komplett. Deshalb läuft die Übung im kontrollierten Segment ohne DAI/Port-Security.
sshmitm / webmitm
  • aktive MITM gegen SSH/HTTPS über schwache ad-hoc-PKI. Scheitern an Host-Key-Checking, HSTS und Cert-Pinning. Nur als historische Fußnote.

Einordnung

arpspoof, dnsspoof und macof sind übertragbare Primitive – sie tauchen in jedem MITM-Werkzeug (Ettercap, Bettercap) wieder auf. Die Sniffer der dsniff-Suite sind Lehrstück, kein Produktiv-Tooling. Wer das Primitiv hier isoliert verstanden hat, durchschaut die All-in-one-Tools danach sofort.