MAC Spoofing (MAC Sahteciliği)
Bilgisayar ağlarında her cihazın kendine ait bir kimliği vardır. Bu kimliklerden biri MAC adresi (Media Access Control Address) olarak adlandırılır. MAC adresi, bir cihazın ağ kartına üretim aşamasında verilen ve genellikle değişmez kabul edilen benzersiz bir numaradır.
Ancak bazı durumlarda saldırganlar bu adresi değiştirerek kendilerini başka bir cihaz gibi gösterebilir. İşte bu işleme MAC Spoofing (MAC Sahtekârlığı) denir.
🧠 MAC Adresi Nedir?
MAC adresi:
48 bit uzunluğundadır
Genellikle şu formatta yazılır:
00:1A:2B:3C:4D:5EAğdaki cihazların birbirini tanımasını sağlar
Switch’ler ve yerel ağ (LAN) sistemleri tarafından kullanılır
📌 Önemli nokta:
MAC adresi IP adresi gibi değişken değildir; donanım seviyesine bağlıdır.
⚠️ MAC Spoofing Nedir?
MAC Spoofing, bir cihazın kendi gerçek MAC adresini değiştirerek ağda başka bir cihaz gibi görünmesidir.
Saldırgan bunu şu amaçlarla yapabilir:
Kimlik gizleme
Ağ erişim kısıtlamalarını aşma
Başka bir cihazın yetkilerini taklit etme
Ağ trafiğini yanıltma
🎯 MAC Spoofing’in Amaçları
1. 🔓 Yetkisiz Ağ Erişimi
Bazı ağlar sadece belirli MAC adreslerine izin verir. Saldırgan bu adresi taklit ederek ağa girebilir.
2. 🕵️ Kimlik Gizleme
Saldırgan gerçek cihaz kimliğini gizlemek için MAC adresini değiştirir.
3. 📡 Trafik Manipülasyonu
Ağdaki başka bir cihazın MAC adresi taklit edilerek veri trafiği yönlendirilebilir.
4. 🚫 Güvenlik Sistemlerini Atlatma
MAC filtreleme kullanan basit güvenlik sistemleri kandırılabilir.
🧪 MAC Spoofing Nasıl Çalışır? (Mantık)
Ağ içinde cihazlar şu şekilde çalışır:
Cihaz A ağdan veri ister
Switch bu isteği MAC adresine göre yönlendirir
Eğer saldırgan MAC adresini değiştirirse:
Sistem onu başka bir cihaz sanır
Veri yanlış hedefe yönlenebilir
⚙️ Saldırının Riskleri
MAC Spoofing tek başına çok güçlü bir saldırı gibi görünmese de şu riskleri doğurabilir:
❗ Ağ güvenliğinin zayıflaması
❗ Yetkisiz sistem erişimi
❗ Veri dinleme (sniffing) riskinin artması
❗ Kimlik karışıklığı (IP–MAC eşleşme hataları)
🧱 MAC Spoofing’e Karşı Savunma Yöntemleri
🔐 1. Port Security (Switch Güvenliği)
Ağ switch’leri belirli MAC adreslerini portlara kilitleyebilir.
🔐 2. 802.1X Kimlik Doğrulama
Sadece MAC değil, kullanıcı kimliği de doğrulanır.
🔐 3. Dinamik ARP Denetimi (DAI)
Sahte MAC–IP eşleşmelerini engeller.
🔐 4. Ağ İzleme Sistemleri
Anormal MAC değişimleri tespit edilir.
🔐 5. Log Analizi
Aynı MAC’in farklı portlarda görünmesi şüpheli kabul edilir.
🧩 Basit Bir Senaryo (Eğitim Amaçlı)
Bir okul ağında:
Öğrenci bilgisayarlarına internet kısıtlıdır
Sadece öğretmen bilgisayarlarının MAC adreslerine tam erişim vardır
Bir saldırgan:
Öğretmenin MAC adresini taklit eder
Sisteme “öğretmen bilgisayarı” gibi görünür
Daha geniş ağ erişimi elde eder
📌 Bu durum MAC filtrelemenin tek başına güvenlik için yeterli olmadığını gösterir.
🧪 Güvenli Laboratuvar Ortamında Öğrenme (Teorik)
Eğitim ortamında MAC spoofing genellikle:
Sanal makineler (VMware / VirtualBox)
İzole ağlar
Yerel test switch simülasyonları
üzerinde savunma testleri şeklinde öğretilir.
📌 Amaç saldırı yapmak değil:
MAC değişimini gözlemlemek
Ağ davranışını analiz etmek
Savunma sistemlerinin nasıl tepki verdiğini anlamaktır
📊 MAC Spoofing vs IP Spoofing
| Özellik | MAC Spoofing | IP Spoofing |
|---|---|---|
| Katman | Veri Bağlantı (Layer 2) | Ağ Katmanı (Layer 3) |
| Değişkenlik | Donanım kimliği taklidi | IP adresi taklidi |
| Etki alanı | Yerel ağ (LAN) | İnternet dahil geniş ağ |
| Tespit | Orta zorluk | Daha zor |
🧭 Sonuç
MAC Spoofing, modern ağ güvenliğinde kimlik sahteciliği temelli bir saldırı türüdür. Tek başına büyük bir saldırı gibi görünmese de diğer tekniklerle birleştiğinde ciddi güvenlik açıklarına yol açabilir.
Bu nedenle:
Sadece MAC adresine dayalı güvenlik sistemleri yetersizdir
Çok katmanlı güvenlik yaklaşımı gerekir
Ağ izleme ve kimlik doğrulama sistemleri kritik öneme sahiptir
🔒 Özet
MAC adresi cihaz kimliğidir
Spoofing = bu kimliği taklit etmek
Amaç genelde erişim ve gizlenmedir
En iyi çözüm: çok katmanlı güvenlik
Siber Güvenlikte Gizlenme Sanatı: MAC Spoofing (MAC Sahteciliği)
Ağ üzerinde iletişim kuran her cihazın, üretici tarafından ağ arayüz kartına (NIC) gömülü benzersiz bir fiziksel adresi vardır. MAC (Media Access Control) adresi olarak bilinen bu değer, yerel ağdaki (LAN) veri iletiminin temelini oluşturur. Ancak siber güvenlik dünyasında hiçbir değer değiştirilemez değildir. MAC Spoofing, cihazın donanımsal kimliğini yazılımsal olarak maskeleyerek ağ üzerinde farklı bir kimlikle gezinme işlemidir.
MAC Spoofing Nasıl Çalışır?
Fiziksel MAC adresi (Burned-In Address) donanıma kazınmış olsa da, işletim sistemleri ağ trafiğini yönlendirirken RAM üzerinde tutulan yazılımsal MAC adresini referans alır. Saldırganlar, ağ sürücülerine müdahale ederek işletim sisteminin ağa sunduğu bu adresi geçici olarak değiştirirler. Sistem yeniden başlatıldığında donanımsal adrese geri dönülse de, aktif oturum boyunca cihaz tamamen farklı bir kimliğe bürünmüş olur.
Kırmızı Takım Perspektifi: Saldırganlar Neden MAC Sahteciliğine Başvurur?
Saldırı senaryolarında MAC Spoofing tek başına yıkıcı bir eylem olmaktan ziyade, daha büyük operasyonların kapısını aralayan stratejik bir adımdır.
Ağ Filtrelerini Aşma: Kurumsal ağlarda sıklıkla sadece belirli MAC adreslerine sahip cihazların internete veya iç ağa erişmesine izin verilir. Saldırgan, ağda yetkili olan bir cihazın MAC adresini kopyalayarak (cloning) bu kısıtlamaları bypass edebilir.
Kimlik Gizleme ve İz Kaybettirme: Bir ağa sızıp zafiyet taraması yaparken veya veri sızdırırken, gerçek donanım adresini gizlemek dijital ayak izini silmenin en temel yollarından biridir.
Oturum Çalma (Session Hijacking): Özellikle halka açık Wi-Fi ağlarında, hedef kullanıcının MAC adresi taklit edilerek kullanıcının aktif oturumları ve erişim hakları ele geçirilebilir.
Ortadaki Adam (MitM) Saldırılarına Hazırlık: ARP Zehirlenmesi (ARP Spoofing) gibi ağ trafiğini dinlemeye yönelik saldırılarda, trafiği kendi üzerine çekmek isteyen cihazın kimliğini sürekli olarak manipüle etmesi gerekebilir.
Mavi Takım Perspektifi: Savunma ve Sıkılaştırma Stratejileri
Ağ altyapısını bu tür kimlik sahteciliklerine karşı korumak, katmanlı bir güvenlik yaklaşımı gerektirir.
Port Güvenliği (Port Security): Ağ anahtarlarında (Switch) her bir porta bağlanabilecek maksimum MAC adresi sayısını sınırlamak ve bilinmeyen MAC adresleri bağlandığında portu otomatik olarak kapatmak en etkili ilk savunma hattıdır.
802.1X Kimlik Doğrulaması: Ağa dahil olmak isteyen cihazların sadece MAC adresine değil, kullanıcı adı, parola veya dijital sertifikalar gibi daha güçlü kimlik doğrulama mekanizmalarına (RADIUS/TACACS+) tabi tutulmasını sağlar.
Dinamik ARP Denetimi (DAI): Ağ anahtarlarının geçersiz veya sahte ARP paketlerini tespit edip engellemesini sağlayarak, MAC sahteciliği üzerinden yapılabilecek MitM saldırılarının önüne geçer.
Ağ İzleme ve IDS/IPS Kullanımı: Ağ üzerinde aynı anda birden fazla portta beliren veya sürekli değişen MAC adreslerini tespit edecek loglama ve anomali analiz sistemleri kurmak hayati önem taşır.
sınıf öğrencilerinin Büyük Final simülasyonunda Mavi Takım'ın (Blue Team) log analizi ve olay müdahale raporlamaları (Incident Response) için kullanılabilecek, Python ile yazılmış bir tespit betiği.
Bu betik, ağdaki ARP trafiğini scapy kütüphanesi ile dinler, IP ve MAC adresi eşleşmelerini bellekte tutar ve aynı IP adresinden farklı bir MAC adresi geldiğinde bir anomali (MAC Spoofing / ARP Zehirlenmesi) yakalayarak bunu spoof_alerts.log dosyasına yazar.
Python ile MAC Spoofing Tespit Betiği (ArpWatch Alternatifi)
Bu kodun çalışabilmesi için sistemde scapy kütüphanesinin kurulu olması gerekir (pip install scapy veya sudo apt install python3-scapy).
from scapy.all import sniff, ARP
import datetime
import sys
# IP ve MAC adreslerini eşleştireceğimiz yerel tablo (Sözlük)
ip_mac_table = {}
LOG_FILE = "spoof_alerts.log"
def log_alert(message):
"""Zaman damgası ile log dosyasına uyarı yazar ve ekrana basar."""
timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
log_entry = f"[{timestamp}] ALARM: {message}\n"
# Kırmızı Takım / Mavi Takım simülasyonu için ekrana da uyarı basıyoruz
print(f"\033[91m{log_entry.strip()}\033[0m")
# Olay müdahale raporlaması için dosyaya kayıt
with open(LOG_FILE, "a") as f:
f.write(log_entry)
def process_packet(packet):
"""ARP paketlerini analiz eder ve kimlik sahteciliğini tespit eder."""
# Sadece ARP yanıtlarını (op=2, is-at) işliyoruz
if packet.haslayer(ARP) and packet[ARP].op == 2:
src_ip = packet[ARP].psrc
src_mac = packet[ARP].hwsrc
# IP daha önce kaydedilmiş mi kontrol et
if src_ip in ip_mac_table:
# Kayıtlı MAC adresi ile ağdan gelen yeni MAC adresi eşleşmiyor mu?
if ip_mac_table[src_ip] != src_mac:
alert_msg = (f"Olası MAC Spoofing! "
f"IP: {src_ip} | "
f"Kayıtlı Eski MAC: {ip_mac_table[src_ip]} | "
f"Gelen Yeni MAC: {src_mac}")
log_alert(alert_msg)
# Tabloyu yeni (belki de sahte) MAC ile güncellemiyoruz,
# böylece saldırı sürdükçe log üretmeye devam eder.
else:
# Ağda ilk defa görülen IP ve MAC eşleşmesini güvenli kabul edip tabloya ekle
ip_mac_table[src_ip] = src_mac
def start_sniffing(interface="eth0"):
"""Belirtilen ağ arayüzünde paket dinlemeyi başlatır."""
print(f"[*] {interface} arayüzünde ARP izleme başlatıldı...")
print("[*] Dinleniyor... Tespit edilen anomaliler 'spoof_alerts.log' dosyasına kaydedilecek.\n")
print("-------------------------------------------------------------------------------")
try:
# Sadece ARP paketlerini dinle ve 'process_packet' fonksiyonuna gönder
sniff(iface=interface, store=False, prn=process_packet, filter="arp")
except PermissionError:
print("Hata: Ağ paketlerini dinleyebilmek için betiği 'sudo' yetkisi ile çalıştırmalısınız.")
sys.exit(1)
if __name__ == "__main__":
# Pardus/Linux laboratuvar ortamındaki aktif arayüzünüzü (ör: eth0, wlan0) belirleyin
hedef_arayuz = "eth0"
start_sniffing(interface=hedef_arayuz)
Senaryo ve Laboratuvar Uygulaması
Öğrenciler için bu betiğin çalışma mantığını laboratuvar ortamında şu şekilde kurgulayabilirsiniz:
Hazırlık (Mavi Takım): Savunma tarafındaki öğrenciler, Pardus laboratuvar makinelerinden birinde bu betiği
sudo python3 spoof_detector.pykomutuyla çalıştırarak ağı dinlemeye başlar.Saldırı (Kırmızı Takım): Diğer bir makinedeki saldırgan takım,
macchangeraracı veya doğrudanifconfig/ip linkkomutları ile ağ arayüzünün MAC adresini değiştirir ve ardından ağdaki diğer cihazlara (örneğin ağ geçidine) yönelik birarpspoofsaldırısı başlatır.Log Analizi ve Raporlama: Savunma makinesinde Python betiği saniyeler içinde "Olası MAC Spoofing!" uyarılarını üretmeye başlar. Mavi Takım,
spoof_alerts.logdosyasındaki zaman damgalarını ve saldırganın IP/MAC adreslerini analiz ederek saldırıyı dökümante eder ve Olay Müdahale (Incident Response) raporunu tamamlar.
Yorumlar