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

This commit is contained in:
Translator 2025-08-20 10:33:07 +00:00
parent 505246db89
commit ef5aa7a2c5

View File

@ -12,15 +12,15 @@ IPv6 adresleri, ağ organizasyonunu ve cihaz etkileşimini geliştirmek için ya
2. **Alt Ağ Kimliği**: Ağ içindeki belirli alt ağları tanımlamak için kullanılan sonraki 16 bit.
3. **Arayüz Tanımlayıcı**: Alt ağ içindeki bir cihazı benzersiz şekilde tanımlayan son 64 bit.
IPv6, IPv4'te bulunan ARP protokolünü hariç tutarken, iki ana mesajla **ICMPv6**'yı tanıtır:
IPv6, IPv4'te bulunan ARP protokolünü atarken, iki ana mesajla **ICMPv6**'yı tanıtır:
- **Komşu İsteği (NS)**: Adres çözümü için çoklu yayın mesajları.
- **Komşu İlanı (NA)**: NS'ye veya kendiliğinden ilanlara tekil yanıtlar.
- **Komşu İlanı (NA)**: NS'ye veya kendiliğinden ilanlara yanıt olarak tekil yanıtlar.
IPv6 ayrıca özel adres türlerini de içerir:
- **Döngü Geri Adresi (`::1`)**: IPv4'teki `127.0.0.1` ile eşdeğer, ana bilgisayar içindeki iletişim için.
- **Bağlantı Yerel Adresleri (`FE80::/10`)**: Yerel ağ etkinlikleri için, internet yönlendirmesi için değil. Aynı yerel ağdaki cihazlar bu aralığı kullanarak birbirlerini keşfedebilir.
- **Döngü Geri Adresi (`::1`)**: IPv4'ün `127.0.0.1`'ine eşdeğer, ana bilgisayar içindeki iletişim için.
- **Bağlantı Yerel Adresleri (`FE80::/10`)**: Yerel ağ etkinlikleri için, internet yönlendirmesi için değil. Aynı yerel ağdaki cihazlar bu aralığı kullanarak birbirlerini keşfedebilirler.
### Ağ Komutlarında IPv6'nın Pratik Kullanımı
@ -38,7 +38,7 @@ ip neigh | grep ^fe80
# Alternatively, use alive6 for neighbor discovery
alive6 eth0
```
IPv6 adresleri, yerel iletişim için bir cihazın MAC adresinden türetilebilir. Bilinen bir MAC adresinden Link-local IPv6 adresini türetmek için basitleştirilmiş bir kılavuz ve bir ağ içinde IPv6 adreslerini keşfetme yöntemleri ile IPv6 adres türlerine kısa bir genel bakış aşağıda verilmiştir.
IPv6 adresleri, yerel iletişim için bir cihazın MAC adresinden türetilebilir. Bilinen bir MAC adresinden Link-local IPv6 adresini türetme ve bir ağ içindeki IPv6 adres türleri ile IPv6 adreslerini keşfetme yöntemlerine dair kısa bir genel bakış.
### **MAC Adresinden Link-local IPv6 Türetme**
@ -90,7 +90,7 @@ IPv6 ağlarında MitM saldırılarını gerçekleştirmek için birkaç teknik b
### Alt Alan Adlarını Keşfetme
IPv6 adresleriyle potansiyel olarak bağlantılı alt alan adlarını bulmanın bir yöntemi, arama motorlarından yararlanmaktır. Örneğin, `ipv6.*` gibi bir sorgu deseni kullanmak etkili olabilir. Özellikle, Google'da şu arama komutu kullanılabilir:
IPv6 adresleriyle potansiyel olarak bağlantılı alt alan adlarını bulmak için bir yöntem, arama motorlarını kullanmaktır. Örneğin, `ipv6.*` gibi bir sorgu deseni kullanmak etkili olabilir. Özellikle, Google'da şu arama komutu kullanılabilir:
```bash
site:ipv6./
```
@ -104,13 +104,13 @@ IPv6 adreslerini tanımlamak için belirli DNS kayıt türleri sorgulanabilir:
### Ping6 ile Sondaj Yapma
Bir organizasyona ait IPv6 adresleri belirlendikten sonra, `ping6` aracı sondaj yapmak için kullanılabilir. Bu araç, belirlenen IPv6 adreslerinin yanıt verme yeteneğini değerlendirmeye yardımcı olur ve ayrıca komşu IPv6 cihazlarını keşfetmeye de yardımcı olabilir.
Bir organizasyonla ilişkili IPv6 adresleri belirlendikten sonra, `ping6` aracı sondaj yapmak için kullanılabilir. Bu araç, belirlenen IPv6 adreslerinin yanıt verebilirliğini değerlendirmeye yardımcı olur ve ayrıca komşu IPv6 cihazlarını keşfetmeye de yardımcı olabilir.
## IPv6 Yerel Ağ Saldırı Teknikleri
Aşağıdaki bölümler, **aynı /64 segmenti içinde** global bir ön ek bilmeden gerçekleştirilebilecek pratik katman-2 IPv6 saldırılarını kapsamaktadır. Aşağıda gösterilen tüm paketler **link-local** olup yalnızca yerel anahtardan geçer, bu da onları çoğu ortamda son derece gizli kılar.
Aşağıdaki bölümler, **aynı /64 segmenti içinde** herhangi bir global ön ek bilmeden gerçekleştirilebilecek pratik katman-2 IPv6 saldırılarını kapsamaktadır. Aşağıda gösterilen tüm paketler **link-local** olup yalnızca yerel anahtardan geçer, bu da onları çoğu ortamda son derece gizli kılar.
### Stabil Bir Laboratuvar İçin Sistem Ayarlamaları
### Stabil Bir Laboratuvar için Sistem Ayarlamaları
IPv6 trafiği ile oynamadan önce, kendi testlerinizle zehirlenmemek ve büyük paket enjeksiyonu/sniffing sırasında en iyi performansı almak için kutunuzu güçlendirmeniz önerilir.
```bash
@ -195,7 +195,7 @@ argp.add_argument('-t','--time',type=int,default=0,help='Duration (0 = infinite)
a = argp.parse_args()
sniff(iface=a.interface,prn=handler,timeout=a.time or None,store=0)
```
Sonuç: birkaç saniye içinde tam bir **link-local topoloji** (MAC ⇄ IPv6) elde edilir, aktif taramalara dayanan IPS/IDS sistemlerini tetiklemeksizin.
Sonuç: birkaç saniye içinde tam bir **link-local topoloji** (MAC ⇄ IPv6) elde edilir, IPS/IDS sistemlerini aktif taramalara dayalı olarak tetiklemeksizin.
### Yönlendirici Reklamı (RA) Sahteciliği
@ -227,7 +227,34 @@ 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
```
### RDNSS (DNS) Spoofing via RA
#### Router Advertisement Flags (M/O) & Default Router Preference (Prf)
| Flag | Anlamı | İstemci Davranışı Üzerindeki Etkisi |
|------|---------|----------------------------|
| **M (Yönetilen Adres Yapılandırması)** | `1` olarak ayarlandığında, host **DHCPv6** kullanarak IPv6 adresini almalıdır. | Tüm adresleme DHCPv6'dan gelir *mitm6* tarzı zehirleme için mükemmel. |
| **O (Diğer Yapılandırma)** | `1` olarak ayarlandığında, host yalnızca *diğer* bilgileri (DNS, NTP, …) almak için **DHCPv6** kullanmalıdır. | Adres hala SLAAC üzerinden, ancak DNS DHCPv6 ile ele geçirilebilir. |
| **M=0 / O=0** | Saf SLAAC ağı. | Sadece RA / RDNSS hileleri mümkündür DHCPv6 istemciler tarafından gönderilmeyecek. |
| **M=1 / O=1** | Karışık ortam. | Hem DHCPv6 hem de SLAAC kullanılır; sahtecilik için yüzey en büyüktür. |
Bir pentest sırasında, meşru RA'yı bir kez inceleyebilir ve hangi vektörün uygulanabilir olduğuna karar verebilirsiniz:
```bash
sudo tcpdump -vvv -i eth0 'icmp6 && ip6[40] == 134' # capture Router Advertisements
```
Dump'ta `flags [M,O]` alanını arayın - tahmin yapmaya gerek yok.
RA başlığı içindeki **Prf** (Router Preference) alanı, *birden fazla* geçit mevcut olduğunda sahte yönlendiricinizin ne kadar çekici göründüğünü kontrol eder:
| Prf değeri | İkili | Anlamı |
|------------|-------|--------|
| **Yüksek** | `10` | Müşteriler bu yönlendiriciyi herhangi bir *Orta*/*Düşük* olanlardan tercih eder |
| Orta (varsayılan) | `01` | Neredeyse her meşru cihaz tarafından kullanılır |
| Düşük | `00` | Sadece daha iyi bir yönlendirici yoksa seçilir |
Scapy ile paket oluştururken bunu `prf` parametresi aracılığıyla ayarlayabilirsiniz, yukarıda gösterildiği gibi (`prf=0x1` → Yüksek). **Yüksek Prf**, **kısa bir aralık** ve **sıfırdan büyük bir ömür** birleştirildiğinde, sahte geçidinizin son derece kararlı olmasını sağlar.
---
### RDNSS (DNS) Spoofing RA Üzerinden
[RFC 8106](https://datatracker.ietf.org/doc/html/rfc8106), bir RA içinde **Recursive DNS Server (RDNSS)** seçeneği eklemeye izin verir. Modern işletim sistemleri (Win 10 ≥1709, Win 11, macOS Big Sur, Linux systemd-resolved, …) bunu otomatik olarak güvenilir kabul eder:
```python
@ -249,7 +276,7 @@ ICMPv6NDOptRDNSS(dns=[args.dns],lifetime=args.lifetime))
send(ra,iface=args.interface,loop=1,inter=args.interval)
```
Müşteriler, belirli bir süre boyunca DNS'inizi çözümleyici listelerine **ekleyecek**, değer süresi dolana kadar veya `lifetime=0` geri dönüşü göndermediğiniz sürece tam DNS kaçırma imkanı tanıyacaktır.
Müşteriler, verilen süre boyunca DNS'inizi çözümleyici listelerine **ekleyecek**, değer süresi dolana kadar veya `lifetime=0` geri dönüşü göndermediğiniz sürece tam DNS kaçırma imkanı tanıyacaktır.
### DHCPv6 DNS Spoofing (mitm6)
@ -265,7 +292,7 @@ sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning
### Savunmalar
* **RA Guard / DHCPv6 Guard / ND İncelemesi** yönetilen anahtarlarda.
* Sadece meşru yönlendiricinin MAC adresinin RA göndermesine izin veren Port ACL'leri.
* Sadece meşru yönlendiricinin MAC adresinin RAs göndermesine izin veren Port ACL'leri.
* **Düşük kaliteli yüksek oranlı RAs** veya ani **RDNSS değişiklikleri** için izleme.
* Uç noktalarda IPv6'yı devre dışı bırakmak, genellikle modern hizmetleri bozup kör noktaları gizleyen geçici bir çözümdür - bunun yerine L2 filtrelemeyi tercih edin.
@ -276,5 +303,6 @@ sudo mitm6 -i eth0 --no-ra # only DHCPv6 poisoning
- [RFC 8106 IPv6 ND DNS Yapılandırması](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)
- [Yerel Ağda IPv6 Saldırılarına Pratik Rehber](https://habr.com/ru/articles/930526/)
{{#include ../../banners/hacktricks-training.md}}