☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! - Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) - Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) - **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** - **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
# Teoria básica do IPv6 ## Redes Em um endereço IPv6, os **primeiros 48 bits são o prefixo de rede**. Os **próximos 16 bits são o ID da sub-rede** e são usados para definir sub-redes. Os últimos **64 bits são o identificador de interface** (também conhecido como ID de interface ou ID de dispositivo, é para dispositivos). Se necessário, os bits normalmente reservados para o ID do dispositivo podem ser usados para mascaramento adicional de sub-rede. Não há ARP no IPv6. Em vez disso, há **ICMPv6 NS (Neighbor Solicitation) e NA (Neighbor Advertisement)**. O **NS** é usado para resolver um endereço, então ele envia pacotes **multicast**. O **NA** é **unicast** e é usado para responder ao NS. Um pacote NA também pode ser enviado sem a necessidade de um pacote NS. **0:0:0:0:0:0:0:1** = 1 (`::1` para abreviar) - Este é o equivalente a 127.0.0.1 no IPv4. **Endereços Link-local:** Estes são endereços privados que não devem ser roteados na internet. Eles podem ser usados localmente por LANs privadas ou temporárias para compartilhamento e distribuição de arquivos entre dispositivos na LAN. Outros dispositivos em sua LAN local que usam esse tipo de endereço podem ser encontrados enviando um ping para o endereço multicast ff02::01\ **FE80::/10** - Faixa de endereço unicast local de link. ```bash ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1 ip neigh | grep ^fe80 #Or you could also use alive6 eth0 ``` Se você **sabe o endereço MAC de um host na mesma rede** que você (você pode simplesmente pingar o endereço ipv4 dele e visualizar a tabela arp para encontrar o endereço MAC), você pode calcular o endereço Link-local dele para se comunicar com ele.\ Suponha que o **endereço MAC** seja **`12:34:56:78:9a:bc`** 1. Para notação IPv6: **`1234:5678:9abc`** 2. Adicione `fe80::` no início e insira `fffe` no meio: **`fe80::`**`1234:56`**`ff:fe`**`78:9abc` 3. Inverta o sétimo bit da esquerda, de 0001 0010 para 0001 0000: `fe80::1`**`0`**`34:56ff:fe78:9abc` 4. `fe80::1034:56ff:fe78:9abc` **Endereço local único:** Este tipo de endereço ipv6 também não é destinado a ser roteado na internet pública. O local único é uma substituição do endereço de site local, que permite a comunicação dentro de um site enquanto é roteável para várias redes locais.\ **FEC00::/7** – O intervalo de endereços locais únicos. **Endereço Multicast:** Isso também pode ser referido como Um-para-Muitos. Pacotes endereçados ao endereço multicast são entregues a todas as interfaces identificadas pelo endereço multicast. Os tipos de endereço multicast são facilmente notáveis porque normalmente começam com FF.\ **FF00::/8** – O intervalo de endereços multicast. **Anycast:** Esta forma de endereço ipv6 é semelhante ao endereço multicast com uma pequena diferença. O endereço anycast também pode ser referido como Um para o Mais Próximo. Ele pode ser usado para endereçar pacotes destinados a várias interfaces; mas geralmente envia pacotes para a primeira interface que encontra, conforme definido na distância de roteamento. Isso significa que ele envia pacotes para a interface mais próxima, conforme determinado pelos protocolos de roteamento.\ **20000::/3** – O intervalo de endereços unicast global. fe80::/10--> Link-Local Único (169.254.x.x) \[fe80:0000:0000:0000:0000:0000:0000:0000,febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff]\ fc00::/7 --> Local-unicast único (10.x.x.x, 172.16.x.x, 192.168.x.x) \[]\ 2000::/3 --> Unicast Global\ ff02::1 --> Multicast Todos os Nós\ ff02::2 --> Multicast Nós do Roteador ## **Adivinhe o IPv6 de uma máquina** **Forma 1** Os endereços IPv6 de fe80::/10 são baseados no MAC. Se você tem o IPv6 de um dispositivo dentro de uma rede e deseja adivinhar o IPv6 de outro dispositivo da rede, pode obter seu endereço MAC usando um ping (dentro da tabela arp). **Forma 2** Você pode enviar um ping6 para o multicast e obter o endereço IPv6 dentro da tabela arp. ```bash service ufw stop #Stop firewall ping6 -I ff02::1 #You could also make: ping6 -I ff02::1 if you want to make a ping to a specific IP Address ip -6 neigh alive6 use auxiliary/scanner/discovery/ipv6_neighbor_router_advertisement; set INTERFACE eth1; run ``` # IPv6 MitM Homem no meio com anúncio de vizinho ICMPv6 falsificado. * Homem no meio com anúncio de roteador ICMPv6 falsificado. * Homem no meio usando redirecionamento ICMPv6 ou ICMPv6 muito grande para implantar rota. * Homem no meio para atacar o IPv6 móvel, mas requer que o ipsec seja desativado. * Homem no meio com servidor DHCPv6 falso. # Descobrindo endereços IPv6 na rede ## Subdomínios Você pode usar o Google e outros navegadores para procurar subdomínios como "ipv6.\*" ```bash site:ipv6./ ``` ## DNS Também é possível tentar procurar por endereços IPv6 usando "**AXFR**" (transferência de zona), "**AAAA**" (IPv6) ou até mesmo "**ANY**" (todos) registros no DNS. ## Ping6 Uma vez que alguns dispositivos IPv6 de uma organização tenham sido encontrados, você pode tentar usar o `ping6` para verificar endereços próximos. # Referências * [http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html](http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html) * [https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904](https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904)
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! - Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) - Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) - **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.** - **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.