mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-20 18:14:15 +00:00
130 lines
7.7 KiB
Markdown
130 lines
7.7 KiB
Markdown
{% hint style="success" %}
|
||
Aprenda e pratique Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Aprenda e pratique Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Support HackTricks</summary>
|
||
|
||
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
||
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
||
</details>
|
||
{% endhint %}
|
||
|
||
|
||
# Teoria básica do IPv6
|
||
|
||
## Redes
|
||
|
||
Os endereços IPv6 são estruturados para melhorar a organização da rede e a interação dos dispositivos. Um endereço IPv6 é dividido em:
|
||
|
||
1. **Prefixo da Rede**: Os primeiros 48 bits, determinando o segmento da rede.
|
||
2. **ID da Sub-rede**: Os 16 bits seguintes, usados para definir sub-redes específicas dentro da rede.
|
||
3. **Identificador de Interface**: Os 64 bits finais, identificando exclusivamente 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 multicast para resolução de endereços.
|
||
- **Anúncio de Vizinhança (NA)**: Respostas unicast ao NS ou anúncios espontâneos.
|
||
|
||
O IPv6 também incorpora tipos de endereços especiais:
|
||
- **Endereço de Loopback (`::1`)**: Equivalente ao `127.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 esse intervalo.
|
||
|
||
### Uso Prático do IPv6 em Comandos de Rede
|
||
|
||
Para interagir com redes IPv6, você pode usar vários comandos:
|
||
- **Ping 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:
|
||
```bash
|
||
ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
|
||
ip neigh | grep ^fe80
|
||
|
||
# Alternatively, use alive6 for neighbor discovery
|
||
alive6 eth0
|
||
```
|
||
IPv6 addresses podem ser derivados do endereço MAC de um dispositivo para comunicação local. Aqui está um guia simplificado sobre como derivar o endereço IPv6 Link-local a partir de um endereço MAC conhecido, e uma breve visão geral dos tipos de endereços IPv6 e métodos para descobrir endereços IPv6 dentro de uma rede.
|
||
|
||
## **Derivando Link-local IPv6 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:
|
||
|
||
1. Converta MAC para o formato IPv6: **`1234:5678:9abc`**
|
||
2. Adicione `fe80::` e insira `fffe` no meio: **`fe80::1234:56ff:fe78:9abc`**
|
||
3. Inverta o sétimo bit da esquerda, mudando `1234` para `1034`: **`fe80::1034:56ff:fe78:9abc`**
|
||
|
||
## **Tipos de Endereços IPv6**
|
||
|
||
- **Endereço Local Único (ULA)**: Para comunicações locais, não destinado ao roteamento na internet pública. Prefixo: **`FEC00::/7`**
|
||
- **Endereço Multicast**: Para comunicação de um-para-muitos. Entregue a todas as interfaces no grupo multicast. Prefixo: **`FF00::/8`**
|
||
- **Endereço Anycast**: Para comunicação de um-para-o-mais-perto. Enviado para a interface mais próxima conforme o protocolo de roteamento. Parte do intervalo global unicast **`2000::/3`**.
|
||
|
||
## **Prefixos de Endereço**
|
||
- **fe80::/10**: Endereços Link-Local (semelhante a 169.254.x.x)
|
||
- **fc00::/7**: Unicast Local Único (semelhante a intervalos privados de IPv4 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**
|
||
|
||
### Modo 1: Usando Endereços Link-local
|
||
1. Obtenha o endereço MAC de um dispositivo dentro da rede.
|
||
2. Derive o endereço IPv6 Link-local a partir do endereço MAC.
|
||
|
||
### Modo 2: Usando Multicast
|
||
1. Envie um ping para o endereço multicast `ff02::1` para descobrir endereços IPv6 na rede local.
|
||
```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
|
||
```
|
||
## IPv6 Man-in-the-Middle (MitM) Attacks
|
||
Várias técnicas existem para executar ataques MitM em redes IPv6, como:
|
||
|
||
- Falsificação de anúncios de vizinhos ou roteadores ICMPv6.
|
||
- Usar mensagens de redirecionamento ICMPv6 ou "Pacote Muito Grande" para manipular o roteamento.
|
||
- Atacar o IPv6 móvel (geralmente requer que o IPSec esteja desativado).
|
||
- Configurar um servidor DHCPv6 malicioso.
|
||
|
||
|
||
# Identifying IPv6 Addresses in the eild
|
||
|
||
## Exploring Subdomains
|
||
Um método para encontrar subdomínios que estão potencialmente ligados a endereços IPv6 envolve aproveitar motores de busca. Por exemplo, empregar um padrão de consulta como `ipv6.*` pode ser eficaz. Especificamente, o seguinte comando de busca pode ser usado no Google:
|
||
```bash
|
||
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 endereços IPv6.
|
||
- **ANY**: Uma consulta ampla que retorna todos os registros DNS disponíveis.
|
||
|
||
## Probing com Ping6
|
||
Após identificar endereços IPv6 associados a uma organização, a ferramenta `ping6` pode ser usada para sondagem. Esta ferramenta ajuda a avaliar a capacidade de resposta 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](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)
|
||
|
||
|
||
{% hint style="success" %}
|
||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||
|
||
<details>
|
||
|
||
<summary>Support HackTricks</summary>
|
||
|
||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||
|
||
</details>
|
||
{% endhint %}
|