7.4 KiB
{% hint style="success" %}
Aprenda e pratique AWS Hacking: HackTricks Treinamento AWS Red Team Expert (ARTE)
Aprenda e pratique GCP Hacking: HackTricks Treinamento GCP Red Team Expert (GRTE)
Apoie o HackTricks
- Verifique os planos de assinatura!
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.
Teoria Básica do IPv6
Redes
Os endereços IPv6 são estruturados para melhorar a organização de redes e a interação de dispositivos. Um endereço IPv6 é dividido em:
- Prefixo de Rede: Os primeiros 48 bits, determinando o segmento de rede.
- ID de Sub-rede: Seguintes 16 bits, usados para definir sub-redes específicas dentro da rede.
- Identificador de Interface: Os últimos 64 bits, identificando de forma única um dispositivo dentro da sub-rede.
Enquanto o IPv6 omite o protocolo ARP encontrado no IPv4, ele introduz o ICMPv6 com duas mensagens principais:
- Solicitação de Vizinhança (NS): Mensagens de multicast para resolução de endereços.
- Anúncio de Vizinhança (NA): Respostas unicast para NS ou anúncios espontâneos.
O IPv6 também incorpora tipos de endereços especiais:
- Endereço de Loopback (
::1
): Equivalente ao127.0.0.1
do IPv4, para comunicação interna dentro do host. - Endereços Link-Local (
FE80::/10
): Para atividades de rede local, não para roteamento na internet. Dispositivos na mesma rede local podem se descobrir usando este intervalo.
Uso Prático do IPv6 em Comandos de Rede
Para interagir com redes IPv6, você pode usar vários comandos:
- Ping em Endereços Link-Local: Verifique a presença de dispositivos locais usando
ping6
. - Descoberta de Vizinhança: Use
ip neigh
para visualizar dispositivos descobertos na camada de link. - alive6: Uma ferramenta alternativa para descobrir dispositivos na mesma rede.
Abaixo estão alguns exemplos de comandos:
ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
ip neigh | grep ^fe80
# Alternatively, use alive6 for neighbor discovery
alive6 eth0
Derivando o Link-local IPv6 a partir do Endereço MAC
Dado um endereço MAC 12:34:56:78:9a:bc
, você pode construir o endereço IPv6 Link-local da seguinte forma:
- Converter o MAC para o formato IPv6:
1234:5678:9abc
- Adicionar
fe80::
e inserirfffe
no meio:fe80::1234:56ff:fe78:9abc
- Inverter o sétimo bit da esquerda, alterando
1234
para1034
:fe80::1034:56ff:fe78:9abc
Tipos de Endereços IPv6
- Endereço Único Local (ULA): Para comunicações locais, não destinado ao roteamento público na internet. Prefixo:
FEC00::/7
- Endereço de Multicast: Para comunicação de um para muitos. Entregue a todas as interfaces no grupo de multicast. Prefixo:
FF00::/8
- Endereço de Anycast: Para comunicação de um para o mais próximo. Enviado para a interface mais próxima de acordo com o protocolo de roteamento. Parte do intervalo unicast global
2000::/3
.
Prefixos de Endereço
- fe80::/10: Endereços Link-Local (semelhante a 169.254.x.x)
- fc00::/7: Único Local-Unicast (semelhante aos intervalos IPv4 privados como 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 Roteadores
Descobrindo Endereços IPv6 dentro de uma Rede
Forma 1: Usando Endereços Link-local
- Obter o endereço MAC de um dispositivo dentro da rede.
- Derivar o endereço IPv6 Link-local a partir do endereço MAC.
Forma 2: Usando Multicast
- Enviar um ping para o endereço de multicast
ff02::1
para descobrir endereços IPv6 na rede local.
service ufw stop # Stop the firewall
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
ip -6 neigh # Display the neighbor table
Ataques de Man-in-the-Middle (MitM) em IPv6
Existem várias técnicas para executar ataques MitM em redes IPv6, tais como:
- Falsificação de anúncios de vizinho ou roteador ICMPv6.
- Utilização de mensagens de redirecionamento ICMPv6 ou "Packet Too Big" para manipular o roteamento.
- Atacar o IPv6 móvel (geralmente requer que o IPSec esteja desativado).
- Configurar um servidor DHCPv6 falso.
Identificação de Endereços IPv6 na rede
Explorando Subdomínios
Um método para encontrar subdomínios potencialmente vinculados a endereços IPv6 envolve o uso de mecanismos de busca. Por exemplo, empregar um padrão de consulta como ipv6.*
pode ser eficaz. Especificamente, o seguinte comando de pesquisa pode ser usado no Google:
site:ipv6./
Utilizando Consultas DNS
Para identificar endereços IPv6, certos tipos de registros DNS podem ser consultados:
- AXFR: Solicita uma transferência completa de zona, potencialmente revelando uma ampla gama de registros DNS.
- AAAA: Busca diretamente por endereços IPv6.
- ANY: Uma consulta ampla que retorna todos os registros DNS disponíveis.
Sondagem com Ping6
Após identificar os endereços IPv6 associados a uma organização, a utilidade ping6
pode ser usada para sondagem. Essa ferramenta ajuda a avaliar a responsividade dos endereços IPv6 identificados e também pode auxiliar na descoberta de dispositivos IPv6 adjacentes.
Referências
- 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
{% hint style="success" %}
Aprenda e pratique Hacking AWS:Treinamento HackTricks AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: Treinamento HackTricks GCP Red Team Expert (GRTE)
Suporte ao HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.