Pentesting IPv6
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Gli indirizzi IPv6 sono strutturati per migliorare l'organizzazione della rete 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 un dispositivo in modo univoco all'interno della sottorete.
Mentre l'IPv6 omette il protocollo ARP presente nell'IPv4, introduce ICMPv6 con due messaggi principali:
Richiesta di vicinato (NS): Messaggi multicast per la risoluzione degli indirizzi.
Annuncio di vicinato (NA): Risposte unicast a NS o annunci spontanei.
L'IPv6 incorpora anche tipi di indirizzi speciali:
Indirizzo di loopback (::1
): Equivalente a 127.0.0.1
di IPv4, per comunicazioni interne all'host.
Indirizzi link-local (FE80::/10
): Per attività di rete locali, non per il routing su internet. I dispositivi sulla stessa rete locale possono scoprire l'uno l'altro utilizzando questo intervallo.
Per interagire con le reti IPv6, puoi utilizzare vari comandi:
Ping indirizzi link-local: Controlla la presenza di dispositivi locali utilizzando ping6
.
Scoperta dei vicini: Usa ip neigh
per visualizzare i dispositivi scoperti a livello di link.
alive6: Uno strumento alternativo per scoprire dispositivi sulla stessa rete.
Di seguito alcuni esempi di comandi:
IPv6 gli indirizzi 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 dei tipi di indirizzi IPv6 e dei metodi per scoprire gli indirizzi IPv6 all'interno di una rete.
Dato un indirizzo MAC 12:34:56:78:9a:bc
, puoi costruire l'indirizzo IPv6 Link-local come segue:
Converti il MAC nel formato IPv6: 1234:5678:9abc
Prependi fe80::
e inserisci fffe
nel mezzo: fe80::1234:56ff:fe78:9abc
Inverti il settimo bit da sinistra, cambiando 1234
in 1034
: fe80::1034:56ff:fe78:9abc
Indirizzo Locale Unico (ULA): Per comunicazioni locali, non destinato al routing su Internet pubblico. Prefisso: FEC00::/7
Indirizzo Multicast: Per comunicazione uno-a-molti. Consegnato a tutte le interfacce nel gruppo multicast. Prefisso: FF00::/8
Indirizzo Anycast: Per comunicazione uno-a-più-vicina. Inviato all'interfaccia più vicina secondo il protocollo di routing. Parte dell'intervallo unicast globale 2000::/3
.
fe80::/10: Indirizzi Link-Local (simile a 169.254.x.x)
fc00::/7: Unicast Locale Unico (simile a intervalli 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
Ottieni l'indirizzo MAC di un dispositivo all'interno della rete.
Deriva l'indirizzo IPv6 Link-local dall'indirizzo MAC.
Invia un ping all'indirizzo multicast ff02::1
per scoprire indirizzi IPv6 sulla rete locale.
Esistono diverse tecniche per eseguire attacchi MitM nelle reti IPv6, come:
Spoofing delle pubblicità dei vicini o dei router ICMPv6.
Utilizzo di messaggi ICMPv6 di reindirizzamento o "Pacchetto Troppo Grande" per manipolare il routing.
Attacco a mobile IPv6 (di solito richiede che IPSec sia disabilitato).
Configurazione di un server DHCPv6 malevolo.
Un metodo per trovare sottodomini che sono potenzialmente collegati a indirizzi IPv6 implica l'uso di motori di ricerca. Ad esempio, utilizzare un modello di query come ipv6.*
può essere efficace. In particolare, il seguente comando di ricerca può essere utilizzato in Google:
Per identificare gli indirizzi IPv6, è possibile interrogare determinati tipi di record DNS:
AXFR: Richiede un trasferimento completo della zona, potenzialmente rivelando un'ampia gamma di record DNS.
AAAA: Cerca direttamente indirizzi IPv6.
ANY: Una query ampia che restituisce tutti i record DNS disponibili.
Dopo aver individuato gli indirizzi IPv6 associati a un'organizzazione, l'utilità ping6
può essere utilizzata per il probing. Questo strumento aiuta a valutare la reattività degli indirizzi IPv6 identificati e potrebbe anche assistere nella scoperta di dispositivi IPv6 adiacenti.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)