Pentesting IPv6
Teoria di base su IPv6
Reti
Gli indirizzi IPv6 sono strutturati per migliorare l'organizzazione delle reti e l'interazione dei dispositivi. Un indirizzo IPv6 è diviso in:
Prefisso di rete: I primi 48 bit, che determinano il segmento di rete.
ID sottorete: I successivi 16 bit, utilizzati per definire sottoreti specifiche all'interno della rete.
Identificatore dell'interfaccia: Gli ultimi 64 bit, che identificano in modo univoco un dispositivo all'interno della sottorete.
Mentre IPv6 omette il protocollo ARP presente in IPv4, introduce ICMPv6 con due messaggi principali:
Neighbor Solicitation (NS): Messaggi multicast per la risoluzione degli indirizzi.
Neighbor Advertisement (NA): Risposte unicast a NS o annunci spontanei.
IPv6 incorpora anche tipi di indirizzo speciali:
Indirizzo di loopback (
::1
): Equivalente a127.0.0.1
di IPv4, per la comunicazione interna all'host.Indirizzi link-local (
FE80::/10
): Per attività di rete locale, non per il routing su Internet. I dispositivi sulla stessa rete locale possono scoprirsi utilizzando questo intervallo.
Utilizzo pratico di IPv6 nei comandi di rete
Per interagire con le reti IPv6, è possibile utilizzare vari comandi:
Ping degli indirizzi link-local: Verifica la presenza di dispositivi locali utilizzando
ping6
.Neighbor Discovery: Utilizza
ip neigh
per visualizzare i dispositivi scoperti a livello di collegamento.alive6: Un tool alternativo per scoprire i dispositivi nella stessa rete.
Di seguito alcuni esempi di comandi:
Gli indirizzi IPv6 possono essere derivati dall'indirizzo MAC di un dispositivo per la comunicazione locale. Ecco una guida semplificata su come derivare l'indirizzo IPv6 Link-local da un indirizzo MAC noto e una breve panoramica sui tipi di indirizzi IPv6 e sui metodi per scoprire gli indirizzi IPv6 all'interno di una rete.
Derivazione dell'indirizzo IPv6 Link-local dall'indirizzo MAC
Dato un indirizzo MAC 12:34:56:78:9a:bc
, è possibile costruire l'indirizzo IPv6 Link-local come segue:
Convertire il MAC in formato IPv6:
1234:5678:9abc
Preporre
fe80::
e inserirefffe
al centro:fe80::1234:56ff:fe78:9abc
Invertire il settimo bit da sinistra, cambiando
1234
in1034
:fe80::1034:56ff:fe78:9abc
Tipi di indirizzi IPv6
Indirizzo unico locale (ULA): Per le comunicazioni locali, non destinato al routing pubblico su Internet. Prefisso:
FEC00::/7
Indirizzo multicast: Per la comunicazione uno-a-molti. Recapitato a tutte le interfacce nel gruppo di multicast. Prefisso:
FF00::/8
Indirizzo anycast: Per la comunicazione uno-a-più-vicini. Inviato all'interfaccia più vicina secondo il protocollo di routing. Parte dell'intervallo di unicast globale
2000::/3
.
Prefissi degli indirizzi
fe80::/10: Indirizzi Link-Local (simili a 169.254.x.x)
fc00::/7: Unicast locale unico (simile ai range IPv4 privati come 10.x.x.x, 172.16.x.x, 192.168.x.x)
2000::/3: Unicast globale
ff02::1: Multicast tutti i nodi
ff02::2: Multicast nodi router
Scoprire gli indirizzi IPv6 all'interno di una rete
Modo 1: Utilizzando gli indirizzi Link-local
Ottenere l'indirizzo MAC di un dispositivo all'interno della rete.
Derivare l'indirizzo IPv6 Link-local dall'indirizzo MAC.
Modo 2: Utilizzando il Multicast
Inviare un ping all'indirizzo di multicast
ff02::1
per scoprire gli indirizzi IPv6 nella rete locale.
Attacchi Man-in-the-Middle (MitM) su IPv6
Esistono diverse tecniche per eseguire attacchi MitM nelle reti IPv6, come:
Spoofing degli annunci ICMPv6 dei vicini o dei router.
Utilizzo di messaggi ICMPv6 di reindirizzamento o "Packet Too Big" per manipolare il routing.
Attacco a mobile IPv6 (di solito richiede la disabilitazione di IPSec).
Configurazione di un server DHCPv6 falso.
Identificazione degli indirizzi IPv6 nel campo
Esplorazione dei sottodomini
Un metodo per trovare sottodomini potenzialmente collegati agli indirizzi IPv6 consiste nell'utilizzare i motori di ricerca. Ad esempio, l'utilizzo di un pattern di query come ipv6.*
può essere efficace. In particolare, il seguente comando di ricerca può essere utilizzato su Google:
Utilizzo delle query DNS
Per identificare gli indirizzi IPv6, è possibile effettuare determinati tipi di query DNS:
AXFR: Richiede un trasferimento completo della zona, rivelando potenzialmente una vasta gamma di record DNS.
AAAA: Cerca direttamente gli indirizzi IPv6.
ANY: Una query generale che restituisce tutti i record DNS disponibili.
Sondaggio con Ping6
Dopo aver individuato gli indirizzi IPv6 associati a un'organizzazione, è possibile utilizzare l'utilità ping6
per il sondaggio. Questo strumento aiuta a valutare la reattività degli indirizzi IPv6 identificati e potrebbe anche aiutare a scoprire dispositivi IPv6 adiacenti.
Riferimenti
Last updated