Die Umsetzung von IPv6 auf MAC wird NDP (Neighbor Discovery Protocol) verwendet.
Die MAC-Adresse wird vom Hersteller vergeben. Jeder Hersteller erhält einen eigene Nummernkreis, in dem er seiner Netzwerk-Hardware Adressen vergeben kann. Auf diese Weise ist jede MAC-Adresse weltweit eindeutig.
Innerhalb eines lokalen Netzwerks werden die Pakete über die MAC-Adressen addressiert. Der Computer sendet also Pakete von seiner Hardware-Adresse an eine andere Hardware-Adresse und spricht damit die Netzwerk-Schnittstelle direkt an.
Damit ein Computer die MAC-Adresse eines anderen Computers im lokalen Netzwerk erfährt, sendet er ein MAC-Broadcast-Paket mit der gesuchten IP-Adresse. Ein Broadcast-Paket wird dadurch gekennzeichnet, dass alle Bits gesetzt sind. Die Adresse ist also ff:ff:ff:ff:ff:ff (zur Basis 16). Als Antwort erhält er das gleiche Paket, das dann als Absender die MAC-Adresse des sich meldenden Computers enthält.
Seine eigene IP-Adresse erfährt der Computer entweder durch statische Zuordnung oder über einen DHCP-Server.
Das Protokoll
Die Ausgangssituation: A sendet ein Paket an B und kennt die IP-Adresse von B. Im lokalen Netzwerk werden die Pakete allerdings von MAC-Adresse zu MAC-Adresse versandt. Kennt A die MAC-Adresse von B nicht, erfragt A sie.
- A sendet einen MAC-Broadcast und fragt nach der zugehörigen MAC-Adresse zur IP-Adresse von B.
- B empfängt die Broadcast-Anfrage und sendet seine IP-Adresse zurück, verwendet dazu natürlich seine MAC-Adresse als Absender.
- A merkt sich IP und MAC von B in seiner ARP-Tabelle.
Erreicht A eine MAC aus der ARP nicht mehr, broadcastet A erneut.
ARP-Tabellen unterliegen einer TTL (time to live), werden also nach einer gewissen Zeit ungültig.
Der Befehl arp
Mit dem Befehl arp wird die ARP-Tabelle des PCs angezeigt. Gibt man die Option -n wird statt des Namen die IP-Adresse angezeigt. Das beschleunigt den Befehl ungeheuer.arp -n Adresse Hardware-Typ Hardware-Adresse Optionen Maske Schnittstelle 172.16.64.1 ether b0:aa:77:35:5f:ce C wlp2s0Durch jeden Kontakt mit einem anderen Rechner im lokalen Netzwerk gibt es einen neuen Eintrag in der ARP-Tabelle.
Der Befehl ifconfig
Der Befehl >ifconfig (unter Windows ipconfig) zeigt die Eigenschaften der Netzwerkschnittstellen eines Computers. Unter anderem werden dabei sowohl die MAC-Adresse als auch IPv4- und IPv6-Adresse angezeigt, sofern sie belegt wurden.ARP-Spoofing
Die ARP-Tabelle wird dynamisch erzeugt und ist für den Benutzer eher unsichtbar. Für Angriffe wird die MAC-Adresse gefälscht, die zu einer IP-Adresse gehört. Daraufhin werden Pakete an diese IP-Adresse an eine andere MAC-Adresse - typischerweise den Angreifer - gesandt.Verändert der Angreifer die ARP-Tabellen zweier Computer so, dass deren gegenseitige IP-Adressen auf die MAC des Angreifers zielen, schiebt sich der Angreifer zwischen die beiden Computer. Man spricht von einem Man in the MIddle-Angriff.
Ein ARP-Angriff ist naturgemäß nur im lokalen Netzwerk möglich, der Angreifer muss sich also im Netzwerk befinden oder einen Rechner im Netzwerk kapern.
arpspoof
Das Kommandozeilentool arpspoof ermöglicht das Verändern der ARP-Tabelle auf einem anderen Computer.arpspoof -i Interface -t ZielDerUmleitung AngriffszielWill man also auf dem PC 192.168.101 den ARP-Eintrag für 192.168.0.1 auf den eigenen Rechner umlenken, ergibt sich folgender Befehl:
arpspoof -i eth0 -t 192.168.0.1 192.168.0.101
Ettercap
Für das ARP-Spoofing kann das Tool Ettercap verwendet werden. Es steht bei Linux im Repository zur Verfügung. Eine Anleitung findet sich unter openmaniak.com/ettercap_arp.php. Eine weiterer Cheat Sheet befindet sich unter https://comparite.ch/ettercapcs.
- Sniff|Unified sniffing: Interface bestimmen (eth0).
- Hosts|Scan for hosts: Sucht Hosts im lokalen Netzwerk.
- Hosts|Hosts list: Zeigt die Liste der Hosts im lokalen Netzwerk.
- Rechtsklick auf einen Host : Add to Target 1
- Rechtsklick auf den anderen Hot: Add to Target 2
- Targets|Current Targets: Die Targets erscheinen nebeneinander in der Liste.
- Mitm|ARP poisoning: Im Dialog \menue{Sniff remote connection}
- Start|Start sniffing: Vergifte ARP-Tabelle. Der Erfolg kann auf dem Opfer-Host durch den Befehl arp überprüfen.
- Mitm|Stop mitm attack(s): Der Angriff wird beendet. Der Befehl arp zeigt die alte Tabelle.