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
505246db89
commit
ef5aa7a2c5
@ -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}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user