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:5E

  • Ağ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:

  1. Cihaz A ağdan veri ister

  2. Switch bu isteği MAC adresine göre yönlendirir

  3. 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

ÖzellikMAC 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.


  1. 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).

Python:
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:

  1. Hazırlık (Mavi Takım): Savunma tarafındaki öğrenciler, Pardus laboratuvar makinelerinden birinde bu betiği sudo python3 spoof_detector.py komutuyla çalıştırarak ağı dinlemeye başlar.

  2. Saldırı (Kırmızı Takım): Diğer bir makinedeki saldırgan takım, macchanger aracı veya doğrudan ifconfig/ip link komutları 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 bir arpspoof saldırısı başlatır.

  3. 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.log dosyası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

Bu blogdaki popüler yayınlar

Android Telefon/Tablet Ekranını Pardus ETAP 23 Yüklü Akıllı Tahtaya Yansıtma

Pardus Etap 23’de Unutulmuş Etap Yetkili Parolasını Sıfırlama

Pardus Etap 23 Yazıcı Kurulumu