From ef5aa7a2c5c00d37dbfa14ff6b6581b50bbdbd85 Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 20 Aug 2025 10:33:07 +0000 Subject: [PATCH] Translated ['src/generic-methodologies-and-resources/pentesting-network/ --- .../pentesting-network/pentesting-ipv6.md | 54 ++++++++++++++----- 1 file changed, 41 insertions(+), 13 deletions(-) diff --git a/src/generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md b/src/generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md index 6d2719adf..4c4a057b3 100644 --- a/src/generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md +++ b/src/generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md @@ -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}}