tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks

Teoria di base dell'IPv6

Reti

Gli indirizzi IPv6 sono strutturati per migliorare l'organizzazione della rete e l'interazione dei dispositivi. Un indirizzo IPv6 è diviso in:

  1. Prefisso di rete: I primi 48 bit, che determinano il segmento di rete.
  2. ID sottorete: I successivi 16 bit, utilizzati per definire sottoreti specifiche all'interno della rete.
  3. 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 la comunicazione interna 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.

Utilizzo pratico dell'IPv6 nei comandi di rete

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:

bash
ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80

# Alternatively, use alive6 for neighbor discovery
alive6 eth0

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 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:

  1. Converti il MAC nel formato IPv6: 1234:5678:9abc
  2. Prependi fe80:: e inserisci fffe nel mezzo: fe80::1234:56ff:fe78:9abc
  3. Inverti il settimo bit da sinistra, cambiando 1234 in 1034: fe80::1034:56ff:fe78:9abc

Tipi di Indirizzi IPv6

  • 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 di unicast globale 2000::/3.

Prefissi degli Indirizzi

  • 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

Scoprire Indirizzi IPv6 all'interno di una Rete

  1. Ottieni l'indirizzo MAC di un dispositivo all'interno della rete.
  2. Deriva l'indirizzo IPv6 Link-local dall'indirizzo MAC.

Modo 2: Utilizzando Multicast

  1. Invia un ping all'indirizzo multicast ff02::1 per scoprire indirizzi IPv6 sulla rete locale.
bash
service ufw stop # Stop the firewall
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
ip -6 neigh # Display the neighbor table

Attacchi Man-in-the-Middle (MitM) IPv6

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.

Identificazione degli indirizzi IPv6 nel campo

Esplorazione dei Sottodomini

Un metodo per trovare sottodomini che sono potenzialmente collegati a indirizzi IPv6 implica l'uso di motori di ricerca. Ad esempio, impiegare un modello di query come ipv6.* può essere efficace. In particolare, il seguente comando di ricerca può essere utilizzato in Google:

bash
site:ipv6./

Utilizzo delle Query DNS

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.

Probing con Ping6

Dopo aver individuato gli indirizzi IPv6 associati a un'organizzazione, è possibile utilizzare l'utilità ping6 per il probing. Questo strumento aiuta a valutare la reattività degli indirizzi IPv6 identificati e potrebbe anche assistere nella scoperta di dispositivi IPv6 adiacenti.

Riferimenti

tip

Impara e pratica l'Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica l'Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Supporta HackTricks