MAC Flooding Attack (MAC Taşması Saldırısı)
MAC Flooding Attack, ağ anahtarlarını (switch) hedef alan bir siber saldırı türüdür. Bu saldırı, özellikle yerel ağlarda (LAN – Local Area Network) çalışır ve switch’in normal çalışma mantığını bozarak ağ trafiğini “hub gibi davranmaya” zorlar.
Amaç genellikle:
Ağ trafiğini dinlemek (sniffing)
Güvenliği zayıflatmak
Yanlış yönlendirme davranışı oluşturmak
2. MAC Adresi Nedir?
MAC (Media Access Control) adresi, her ağ cihazına üretici tarafından verilen benzersiz fiziksel kimliktir.
Örnek:
00:1A:2B:3C:4D:5E
Switch’ler bu adresleri kullanarak hangi cihazın hangi portta olduğunu öğrenir ve veri iletimini buna göre yapar.
3. Switch’lerin Çalışma Mantığı
Normalde bir switch:
Gelen paketin kaynak MAC adresini öğrenir
Bu adresi ve bağlı olduğu portu MAC adres tablosuna (CAM Table) kaydeder
Hedef MAC adresine göre doğru porta yönlendirme yapar
Bu sayede:
Trafik sadece ilgili cihaza gider
Ağ verimli ve güvenli çalışır
4. MAC Flooding Attack Nedir?
MAC Flooding Attack, switch’in MAC adres tablosunu sahte veya çok sayıda MAC adresi ile doldurma saldırısıdır.
Saldırgan:
Çok sayıda sahte MAC adresi üretir
Switch’e sürekli trafik gönderir
CAM tablosunun kapasitesini doldurur
5. Saldırının Sonucu Nedir?
Switch’in MAC tablosu dolduğunda:
Switch yeni MAC adreslerini öğrenemez
“Unknown unicast flooding” başlar
Tüm trafik tüm portlara yayılır
Bu durumda switch, artık bir hub gibi davranır.
6. Saldırının Etkileri
MAC Flooding saldırısının sonuçları:
🔴 1. Trafik Dinleme (Sniffing)
Aynı ağdaki diğer kullanıcıların verileri yakalanabilir.
🔴 2. Gizlilik İhlali
Şifreler, oturum bilgileri ve hassas veriler risk altına girer.
🔴 3. Ağ Performans Düşüşü
Ağda gereksiz trafik artar ve gecikme oluşur.
🔴 4. Servis Kesintileri
Bazı cihazlar ağ bağlantısını kaybedebilir.
7. Saldırı Nasıl Tespit Edilir?
Aşağıdaki belirtiler MAC Flooding saldırısını gösterebilir:
Switch MAC tablosunun çok hızlı dolması
Ağda anormal broadcast trafiği
Performansın ani düşmesi
Ağ izleme araçlarında bilinmeyen MAC adresleri
8. Savunma Yöntemleri
🛡️ 1. Port Security (En Etkili Yöntem)
Switch portlarına MAC sınırı koyulur.
Örnek:
Bir porta sadece 1–2 MAC adresi izin verilir
🛡️ 2. MAC Adresi Limitleme
Her port için maksimum MAC sayısı belirlenir.
🛡️ 3. Dynamic ARP Inspection (DAI)
Sahte ağ trafiğini filtreler.
🛡️ 4. DHCP Snooping
Sahte IP–MAC eşleşmelerini engeller.
🛡️ 5. Ağ İzleme Sistemleri
IDS/IPS sistemleri ile anormal trafik tespit edilir.
🛡️ 6. VLAN Segmentasyonu
Ağ küçük parçalara bölünerek saldırı etkisi azaltılır.
9. Gerçek Dünya Kullanım Alanı (Risk Senaryosu)
MAC Flooding genellikle:
Kurumsal LAN ağlarında
Okul ağlarında
Açık Wi-Fi ortamlarında
test veya saldırı amaçlı kullanılabilir.
Özellikle saldırgan, ağ trafiğini dinlemek için bu yöntemi diğer saldırılarla birlikte kullanabilir.
10. Özet
MAC Flooding Attack:
Switch’in MAC tablosunu doldurur
Switch’i hub gibi çalışmaya zorlar
Ağ trafiğini görünür hale getirir
Güvenlik ve gizlilik riskleri oluşturur
Ancak modern ağ cihazları, Port Security gibi yöntemlerle bu saldırıya karşı oldukça iyi korunabilir.
Aşağıda MAC Flooding saldırısının laboratuvar ortamında etik ve güvenli şekilde nasıl simüle edileceğini adım adım anlatıyorum. Bu anlatım gerçek ağa zarar vermeyecek şekilde sadece eğitim ve test (pentest lab) mantığıyla hazırlanmıştır.
🧪 MAC Flooding Attack – Güvenli Laboratuvar Simülasyonu
1. ⚠️ Önemli Etik Uyarı
Bu test:
Sadece izole sanal ağlarda
Kendi kurduğun lab ortamında
Gerçek kurumsal/okul ağlarından tamamen bağımsız sistemlerde
yapılmalıdır.
Gerçek ağlarda izinsiz denemek:
Yasal suçtur
Ağ kesintisine neden olabilir
2. 🧱 Laboratuvar Ortamı Kurulumu
🖥️ Gerekli sistemler:
1 adet attacker (saldırgan) VM
Kali Linux
1 adet switch simülasyonu
GNS3 / EVE-NG / Cisco Packet Tracer (tercihen GNS3)
1–2 adet target (hedef) VM
Ubuntu / Windows
(Opsiyonel) Wireshark analiz sistemi
🧩 Basit topoloji:
[ Kali Linux ]
|
(Switch)
/ \
[PC1] [PC2]
3. 🔧 Kullanılacak Araçlar
Kali Linux içinde:
macof(dsniff paketi)tcpdumpwireshark
Kurulum:
sudo apt update
sudo apt install dsniff
4. ⚙️ Simülasyonun Mantığı
MAC Flooding şu şekilde çalışır:
Switch’e çok sayıda sahte MAC adresi gönderilir
CAM (MAC) tablosu doldurulur
Switch yeni adresleri öğrenemez
Trafik broadcast gibi yayılmaya başlar
5. 🚀 Saldırı Simülasyonu (Lab Ortamı)
🧪 Adım 1 – Ağ durumunu gözlemle
Hedef makinelerde:
ip a
Ping testi:
ping 8.8.8.8
🧪 Adım 2 – Switch MAC tablosunu kontrol et (opsiyonel)
Eğer Cisco simülasyonu varsa:
show mac address-table
🧪 Adım 3 – MAC Flooding başlat
Kali Linux üzerinde:
sudo macof
Bu komut:
Sürekli rastgele MAC adresleri üretir
Switch’e yoğun trafik gönderir
🧪 Adım 4 – Trafik etkisini gözlemle
Aynı anda:
Wireshark:
Broadcast paketleri artar
Bilinmeyen MAC adresleri çoğalır
Hedef makineler:
Ping gecikmeleri
Paket kayıpları
Ağ yavaşlaması
🧪 Adım 5 – Switch davranışını incele
Switch artık:
MAC öğrenemez
Tüm portlara trafik göndermeye başlar
Bu durum:
👉 “Hub gibi çalışma” etkisi oluşturur
6. 📊 Beklenen Sonuçlar
| Durum | Normal | Saldırı Sonrası |
|---|---|---|
| MAC öğrenme | Stabil | Bozulur |
| Trafik yönlendirme | Doğru port | Tüm portlara yayılır |
| Performans | Hızlı | Yavaş |
| Güvenlik | Yüksek | Düşer |
7. 🛡️ Savunmayı Test Etme (Önemli Bölüm)
Aynı lab içinde şu korumaları açıp tekrar test edebilirsin:
🔒 Port Security (Cisco örnek)
switchport port-security
switchport port-security maximum 2
switchport port-security violation restrict
🧪 Sonuç:
Port security aktifse:
MAC flooding etkisi durur
Port otomatik bloklanır
Saldırı başarısız olur
8. 📡 Wireshark ile analiz
Filtre:
eth.addr
veya:
eth.dst == ff:ff:ff:ff:ff:ff
Gözlenecekler:
Broadcast patlaması
Anormal MAC çeşitliliği
Tek kaynaktan çok paket
9. 🧠 Öğrenme Özeti
Bu simülasyonda öğrendiğin şeyler:
Switch MAC öğrenme mantığı
CAM table yapısı
Layer 2 saldırı yüzeyi
Port security’nin önemi
Trafik analiz yöntemleri
10. 🔐 Sonuç
MAC Flooding saldırısı:
Modern ağlarda eski ama öğretici bir saldırı modelidir
Genellikle eğitim ve pentest ortamlarında kullanılır
Gerçek sistemlerde güçlü switch güvenlikleri ile engellenebilir
🧪 macof Kullanımı – Ayrıntılı Eğitim Makalesi (MAC Flooding Aracı)
1. Giriş
macof, Linux tabanlı sistemlerde kullanılan ve MAC Flooding saldırısını simüle etmek için geliştirilmiş bir ağ test aracıdır. Genellikle dsniff paketi içinde bulunur.
Bu araç, eğitim amaçlı olarak:
Switch’lerin MAC öğrenme davranışını test etmek
Layer 2 güvenlik açıklarını göstermek
Port Security gibi savunmaları denemek
için kullanılır.
⚠️ Önemli: macof gerçek ağlarda kullanıldığında ciddi ağ kesintilerine yol açabilir. Bu yüzden yalnızca izole laboratuvar ortamlarında kullanılmalıdır.
2. macof Nedir?
macof, rastgele MAC ve IP adresleri üretip ağ üzerinden çok hızlı şekilde paket gönderir.
Bu sayede:
Switch MAC tablosu dolar (CAM table overflow)
Switch yönlendirme yapamaz hale gelir
Ağ trafiği yayılır (broadcast etkisi)
3. Kurulum
macof, genellikle dsniff paketinin içinde gelir.
🔧 Debian / Ubuntu / Kali Linux:
sudo apt update
sudo apt install dsniff
Kurulumdan sonra kontrol:
macof -h
4. macof Temel Çalışma Mantığı
macof şu işlemleri yapar:
Rastgele source MAC adresi üretir
Rastgele destination MAC adresi üretir
Rastgele IP paketleri oluşturur
Ağa sürekli paket gönderir
Bu süreç saniyede binlerce sahte adres üretebilir.
5. Temel Kullanım
En basit kullanım:
sudo macof
Bu komut:
Varsayılan ağ arayüzünü kullanır
Sürekli sahte Ethernet frame üretir
Switch CAM tablosunu doldurmayı hedefler
6. Seçenekler (Options) – Eğitim Amaçlı Açıklama
macof bazı parametrelerle davranışını değiştirebilir:
📌 Interface seçimi
sudo macof -i eth0
👉 Belirli bir ağ kartı üzerinden trafik üretir.
📌 Paket sayısı sınırlama
sudo macof -n 1000
👉 Belirli sayıda paket gönderip durur (test için daha güvenli)
📌 Source/Destination port ayarı
sudo macof -s 12345 -d 80
👉 TCP/UDP portlarını sabitler (analiz için kullanılır)
📌 Hız kontrolü (daha kontrollü test)
sudo macof -i eth0 -n 500
👉 Daha düşük ölçekli simülasyon sağlar
7. Laboratuvar Kullanım Senaryosu
🧱 Topoloji:
Kali (macof) → Switch → Target PC’ler
🎯 Amaç:
Switch MAC tablosunun dolmasını gözlemlemek
Trafik davranışını analiz etmek
Savunma mekanizmalarını test etmek
8. Etki Analizi
macof çalıştığında gözlemlenen etkiler:
📉 Switch Üzerinde:
CAM table hızla dolar
Yeni MAC adresleri öğrenilemez
Flooding (broadcast) başlar
🖥️ Hedef makinelerde:
Ping gecikmesi
Paket kaybı
Ağ yavaşlaması
📡 Wireshark’ta:
Çok sayıda farklı MAC adresi
Anormal broadcast trafiği
Tek kaynaktan yoğun paket akışı
9. Tespit Yöntemleri
macof saldırısı şu şekilde tespit edilebilir:
🔍 1. MAC Tablo anomalisi
Çok kısa sürede yüzlerce MAC öğrenilmesi
🔍 2. Broadcast artışı
ff:ff:ff:ff:ff:ff trafiği yükselir
🔍 3. IDS/IPS uyarıları
Layer 2 flooding alert
10. Savunma Yöntemleri
🛡️ Port Security (en etkili yöntem)
Port başına MAC limiti koyar
Aşım olursa port kapatılır
🛡️ MAC Limitleme
Örn: 1–2 MAC adresi/port
🛡️ VLAN Segmentasyonu
Ağ küçük parçalara bölünür
🛡️ Storm Control
Broadcast / multicast trafiği sınırlar
11. macof’un Güvenli Eğitim Kullanımı
Eğitim ortamında doğru kullanım şekli:
✔️ Küçük ölçekli test (100–1000 paket)
✔️ İzole sanal ağ
✔️ Wireshark ile analiz
✔️ Savunma mekanizmalarını karşılaştırma
12. Özet
macof:
MAC Flooding saldırısını simüle eden bir araçtır
Layer 2 güvenlik açıklarını göstermek için kullanılır
Switch’in CAM tablosunu doldurarak ağ davranışını değiştirir
Doğru şekilde kullanıldığında güçlü bir eğitim aracıdır
Bir siber güvenlik müfredatında veya laboratuvar ortamında öğrencilere Veri Bağlantı Katmanı (Layer 2) zafiyetlerini anlatırken kullanabileceğiniz yapılandırılmış bir eğitim makalesi aşağıdadır.
Siber Güvenlik Laboratuvarı: MAC Flooding (MAC Taşması) Saldırısı ve Analizi
MAC Flooding (MAC Taşması), ağ altyapısının temel yapı taşlarından olan ağ anahtarlarını (switch) hedef alan, OSI Modelinin 2. katmanında (Veri Bağlantı Katmanı) gerçekleştirilen bir saldırı türüdür. Bu saldırının temel amacı, ağ anahtarını manipüle ederek ağdaki trafiği izlenebilir (sniffing) hale getirmektir.
1. Temel Kavramlar: Ağ Anahtarları ve CAM Tablosu
Saldırının mantığını kavramak için öncelikle bir ağ anahtarının veriyi nasıl yönlendirdiğini anlamak gerekir.
Ağ anahtarları, cihazları birbirine bağlar ve gelen veri paketlerini (frame) sadece hedeflenen cihaza gönderir. Bunu yapabilmek için CAM (Content Addressable Memory - İçerik Adreslenebilir Bellek) tablosu adı verilen dinamik bir veritabanı kullanırlar.
Öğrenme Süreci: Bir cihaz ağa bağlandığında ve veri gönderdiğinde, switch bu cihazın MAC adresini ve bağlı olduğu fiziksel port numarasını CAM tablosuna kaydeder (Örn:
00:1A:2B:3C:4D:5E -> Port 1).Yönlendirme: Switch'e bir paket geldiğinde, hedef MAC adresini CAM tablosunda arar. Eşleşme bulursa, paketi sadece o porta iletir. Bu, ağ trafiğini güvenli ve performanslı kılar.
2. Saldırının Anatomisi
CAM tablolarının donanımsal bir kapasitesi vardır (örneğin, 8.000 veya 16.000 kayıt). MAC Flooding saldırısı, bu kapasite sınırını istismar eder.
Sahte Paket Üretimi: Saldırgan, (örneğin Kali Linux üzerinde
macofgibi araçlar kullanarak) saniyede on binlerce rastgele, sahte kaynak MAC adresi ve IP adresi içeren veri paketi üretir.Tablonun Doldurulması: Bu sahte paketler switch'e ulaştığında, switch iyi niyetli bir şekilde her bir yeni MAC adresini öğrenmeye çalışır ve bunları CAM tablosuna yazar.
Kapasite Aşımı: Saniyeler içinde switch'in CAM tablosu tamamen dolar.
3. Sonuç: "Fail-Open" Durumu (Hub Moduna Geçiş)
Bir switch'in CAM tablosu dolduğunda, cihazın belleği çökmek yerine güvenlik açısından riskli ama ağın çalışmaya devam etmesini sağlayan bir karar alır. Bu duruma "Fail-Open" denir.
Tablo dolduğunda, switch ağdaki meşru cihazların MAC adreslerini kaydedemez veya nereye göndereceğini bilemez.
Bu durumda switch, gelen bir paketi hedef porta yönlendirmek yerine, paketi geldiği port hariç tüm portlara yayınlar (broadcast).
Yani, akıllı bir yönlendirici olan switch, aptal bir çoklayıcı olan Hub gibi davranmaya başlar.
Bu noktada saldırganın amacı gerçekleşmiş olur. Wireshark veya tcpdump gibi bir ağ izleme aracı kullanan saldırgan, normalde kendisine gelmemesi gereken, ağdaki diğer cihazlar arasındaki tüm trafiği (şifresiz parolalar, oturum çerezleri, e-postalar) görmeye ve kaydetmeye başlar.
4. Savunma ve Sıkılaştırma (Blue Team Yaklaşımı)
Bir ağ yöneticisinin bu tür saldırılara karşı alabileceği temel önlemler şunlardır:
Port Security (Port Güvenliği): Switch arayüzünde yapılandırılabilecek en etkili yöntemdir. Bir porta bağlanabilecek maksimum MAC adresi sayısı sınırlandırılır (örneğin, 1 veya 2). Bu sınır aşıldığında port otomatik olarak kapatılabilir (
err-disabledurumu) veya yeni MAC adresleri reddedilerek trafik düşürülebilir.802.1x Kimlik Doğrulaması: Ağ portuna bağlanan cihazların bir RADIUS sunucusu üzerinden kimlik doğrulaması yapmasını zorunlu kılar.
Dynamic ARP Inspection (DAI) ve IP Source Guard: Sahte MAC ve IP adreslemelerini önlemek için DHCP Snooping veritabanını kullanarak ağ trafiğini doğrular.
Laboratuvar ortamındaki Red Team / Blue Team tatbikatlarında, öğrencilerin Layer 2 zafiyetlerini uygulamalı olarak test edebilmesi ve savunma mekanizmalarını geliştirebilmesi için Kali Linux üzerinde macof aracı oldukça pratik ve etkili bir seçenektir.
macof, ağ anahtarının (switch) CAM tablosunu saniyeler içinde doldurmak üzere tasarlanmış, dsniff araç setinin bir parçası olan küçük bir C programıdır. Rastgele MAC adresleri üreterek yerel ağa (LAN) yoğun miktarda paket basar.
1. Kurulum ve Hazırlık
Kali Linux'un güncel sürümlerinde macof genellikle yüklü gelir. Ancak yüklü değilse, dsniff paketini kurarak elde edebilirsiniz:
sudo apt update
sudo apt install dsniff
2. Temel Kullanım Parametreleri
Araç oldukça basittir ve genellikle çok fazla parametre gerektirmeden çalıştırılır. Temel sözdizimi şöyledir:
macof [-i arayüz] [-s kaynak_IP] [-d hedef_IP] [-e hedef_MAC] [-x kaynak_port] [-y hedef_port]
-i(Interface): Saldırının yapılacağı ağ arayüzünü (örneğineth0veyawlan0) belirtir.-s(Source IP): İsteklerin geliyormuş gibi görüneceği kaynak IP adresini belirler (Rastgele bırakılması tavsiye edilir).-d(Destination IP): Paketlerin gönderileceği hedef IP adresini belirler.-e(Target MAC): Hedef MAC adresini belirler.
3. Tatbikat Senaryoları (Red Team Uygulamaları)
Öğrencilerle yapılacak ağ güvenliği simülasyonlarında aşağıdaki komut yapıları kullanılabilir:
A. Doğrudan Ağ Üzerinde Taşkın Yaratmak (En Yaygın Kullanım)
Sadece ağ arayüzünü belirterek, araca tamamen rastgele kaynak/hedef IP ve MAC adresleriyle paket üretme talimatı verilir. Bu komut çalıştırıldığı anda switch'in işlemcisi (CPU) yorulmaya ve CAM tablosu dolmaya başlar.
sudo macof -i eth0
(Komut çalıştırıldığında ekranda hızla akan rastgele IP ve MAC adreslerini görebilirsiniz. Durdurmak için CTRL+C kullanılır.)
B. Belirli Bir Hedefe Yönelik Taşkın (Kontrollü Test)
Eğer laboratuvardaki belirli bir hedef cihazın (örneğin bir sunucu veya router) davranışını veya loglarını izlemek istiyorsanız, trafiği sadece o hedefe yönlendirebilirsiniz.
sudo macof -i eth0 -d 192.168.1.100
4. Tespit ve Analiz (Blue Team Görevleri)
Büyük final simülasyonlarında savunma tarafındaki (Blue Team) öğrencilerin bu saldırıyı tespit edebilmesi için izleyebilecekleri adımlar şunlardır:
Ağ Trafiği Analizi (Wireshark): Ağda bir anda binlerce farklı MAC adresinden gelen, genellikle anlamsız TCP SYN veya ARP paketleri görülür. Öğrenciler
eth.srcveya ARP filtreleri kullanarak bu anormalliği yakalayabilir.Switch Log Analizi: Ağ cihazı (eğer yönetilebilir bir switch ise) loglarında arka arkaya "MAC address flapping" veya "CAM table full" uyarıları üretir. CPU kullanımının aniden %100'e yaklaşması da önemli bir göstergedir.
Performans Düşüşü: Ağdaki meşru cihazların bağlantı hızlarında ciddi bir yavaşlama ve paket kayıpları (packet loss) gözlemlenir.
Bu aracı çalıştırırken saniyeler içinde milyonlarca paket üretilebileceğinden, testlerin tamamen izole edilmiş, okulun veya kurumun ana ağına bağlı olmayan fiziksel veya sanal laboratuvar anahtarları (switch) üzerinde yapılması kritik önem taşır.
Yorumlar