// CLASSIFIED // OFFENSIVE OPS // YETKİLİ PERSONEL DIŞINA ÇIKMAZ //
SYS ONLINE
SES --------
UPLINK SECURE
COORD --.----°N ---.----°W
----.--.--
--:--:-- UTC
MUCAHIC
// Offensive Operations Division, EST. 2026
HARDWARE BLOG · NOTLAR ESP32 802.11 / Wi-Fi RF

Hardware Hacking Notları #1:
ESP32 ile 802.11 Protokolünü Manipüle Etmek

Black Hat Asia'da bir sunum, sonra ev laboratuvarı. ESP32 ile Wi-Fi yönetim çerçevelerinin dinlenmesi (Sniffing), taklit edilmesi (Spoofing) ve mevcut bağlantıların koparılması (Deauth) , protokolün RF ve hardware seviyesinde nasıl konuştuğunu, açıkça nereden çıktığını anlatan saha notu.

Operatör
OP-0042 / MUCAHIC
Yayın
2025.11.22
Okuma
~ 9 DK
Dosya ID
MU-001-ESP32

Her şey, geçenlerde Black Hat Asia konferansındaki "Protocol State Machine Manipulation" üzerine bir sunuma denk gelmemle başladı.

Sektörde işin ofansif tarafında çalıştığım için odağım her zaman sistemlerin mantıksal açıklarını bulmak üzerine. Ancak o sunumu izlerken fark ettim ki; biz genelde uygulama katmanına (L7) odaklansak da, asıl kritik zafiyetler bazen "alt katta", yani donanım ve RF (Radyo Frekansı) seviyesinde yatıyor.

"Neden protokollerin mantığını donanım seviyesinde manipüle etmiyorum?" dedim ve kendime ufak bir ev laboratuvarı kurmaya karar verdim. Bu yazıda, ufak bir donanımla 802.11 (Wi-Fi) protokolünün nasıl dinleneceğini (Sniffing), taklit edileceğini (Spoofing) ve bağlantıların nasıl koparılacağını (Deauth) teknik derinliğiyle inceleyeceğiz.

Wi-Fi 101: Havada Neler Uçuşuyor?

Bir şeye saldırmadan önce, nasıl çalıştığını anlamak gerekir. Halk arasında "Wi-Fi" olarak bilinen teknoloji, mühendislik dünyasında IEEE 802.11 standardı olarak geçer. Bu standartta veriler "Frame" (Çerçeve) adı verilen paketler halinde taşınır. Bir güvenlik araştırmacısı olarak bizi ilgilendiren 3 temel çerçeve tipi vardır:

Normalde evimizdeki modemler, varlıklarını duyurmak için "Beacon Frame" adı verilen yönetim paketlerini saniyede yaklaşık 10 kez havaya saçarlar. İşin kritik noktası şudur: Bu paketler tamamen şifresizdir.

WPA3 ile korunan bir ağınız olsa bile, modeminiz "Ben buradayım, adım X, özelliklerim Y" diye cleartext olarak bağırmak zorundadır.

Neden Şifrelenmiyor? (802.11w)

Çoğu kişi "Bu paketler neden şifreli değil?" diye sorabilir (yalnız değilimdir umarım :). IEEE, bu açığı kapatmak için 802.11w (Protected Management Frames - PMF) standardını geliştirdi. Ancak, legacy support sorunu yüzünden çoğu modern cihazda PMF hala isteğe bağlı olarak gelir. Bizim saldırımız tam olarak bu "Uyumluluk" boşluğunu hedef alıyor.

1. Donanım Tercihi: ESP32

İşe başlarken ilk tercihim herkesin bildiği Arduino veya Raspberry Pi olmadı. Tercihimi ESP32'den yana kullandım. Sebebi basit: Bu küçük canavarın içinde hem Wi-Fi hem de Bluetooth donanımları gömülü geliyor.

Ama asıl tercih sebebim dual core mimarisine sahip olması. Bu yapı siber güvenlik araştırmaları için büyük nimet; çünkü bir çekirdek Wi-Fi yığınını ayakta tutup protokolü yönetirken, diğer çekirdek tamamen benim yazdığım analiz ve saldırı kodlarını koşturabiliyor. Bu sayede cihaz kilitlenmeden yüksek hızda veri işleyebiliyoruz.(bu konuda bu özelliği aktif olarak kullanmasam da ileri de yapacağım projelerde kullanmayı düşünüyorum)

2. Gözlem: Raw Data Analizi

İlk hedefim, modemlerin varlıklarını duyurmak için yayınladığı "Beacon Frame" yapılarını incelemekti. ESP32'nin esp_wifi kütüphanesini kullanarak cihazı dinleme moduna aldım. C++ kodu ile yakalanan paketlerin hex dökümünü aldığımda, protokolün aslında ne kadar "geveze" ve şeffaf olduğunu gördüm.

Yakalanan Beacon Frame hex dökümü
// Yakalanan Beacon Frame, hex dump

Yukarıdaki hex bloğunda protokolü çıplak gözle okuyabiliyoruz:

Ufak bir not: Kullandığım donanım sadece 2.4 GHz destekliyor. Yakaladığım ağın adında "5G" geçmesi, modemin Dual-Band yayın yaptığını ve 2.4 GHz bandında da aynı ismi yayınladığını gösteriyor.

Buraya kadar her şey "Pasif İzleme" idi. Peki ya biz konuşmaya başlarsak?

3. Saldırı: Beacon Spoofing

Analiz aşamasında Beacon paketinin yapısını (80 00 ile başla, MAC adresi koy, İsim koy...) çözdüğümüze göre, bu paketin aynısını biz de oluşturabiliriz. Cihazın "Packet Injection" yeteneğini kullanarak, tamamen kod ile oluşturduğum sahte Beacon paketlerini havaya enjekte ettim. Ortamda aslında olmayan modemleri, varmış gibi göstererek telefonların Wi-Fi listesini manipüle etmeyi denedim. Sonuç? Bilgisayarımın Wi-Fi listesi saniyeler içinde benim oluşturduğum sahte ağlarla doldu.

Sahte beacon paketleriyle dolan Wi-Fi listesi
// Beacon Spoofing, havaya saçılan sahte ağlar

4. Saldırı V2: Deauthentication

Sadece sahte ağ yayınlamakla kalmayıp, var olan bağlantılara da müdahale edebiliriz. Yazdığımız kodla, modemin MAC adresini taklit ederek hedef cihazlara Deauth Frame gönderdik. Ancak bu saldırının başarılı olması için iki kritik teknik detayın bir araya gelmesi gerekir:

Fiziksel Katman: Frekans (Kanal) uyumu

Saldırıya geçmeden önce RF (Radyo Frekansı) fiziğinde kritik bir kuralı hatırlamalıyız: "Aynı frekansta değilseniz, konuşamazsınız." Wi-Fi (2.4 GHz) spektrumu 13 farklı kanala bölünmüştür. Eğer hedef modem 6. Kanaldan yayın yapıyorsa ve bizim saldırı cihazımız (ESP32) 1. Kanalda bekliyorsa, gönderdiğimiz paketler modeme asla ulaşmaz; boşluğa sıkmış oluruz. Bu yüzden hazırladığımız kod "körlemesine" saldırmaz. Önce bir keşif (Recon) döngüsü çalıştırır, hedef modemin hangi kanalda olduğunu tespit eder, radyosunu o frekansa kilitler (Frequency Locking) ve ancak ondan sonra saldırıyı başlatır.

Hedef modemin kanalına kilitlenmiş ESP32 çıktısı
// Frequency Locking, hedef kanala kilitlenme

Protokol Katmanı: Reason Code 0x07

Frekansı eşledikten sonra gönderdiğimiz saldırı paketinin içine 0x07 değerinde bir "Reason Code" (Sebep Kodu) gömdük. IEEE 802.11 standardında bu kod: "Class 3 frame received from nonassociated STA" anlamına gelir.

Türkçesi şudur: Modem (taklit ettiğimiz cihaz), telefona der ki: "Sen bana veri gönderiyorsun ama ben senin kim olduğunu unuttum, sistemimde kaydın yok. Derhal bağlantıyı kes ve tekrar bağlanmaya çalış."

Telefon bu "resmi" uyarıyı alınca, güvenlik protokolü gereği bağlantıyı anında düşürür (Drop). Laboratuvar ortamında yaptığım testte, hedef cihazların internet bağlantısının koptuğunu ve tekrar bağlanamadığını (DoS) gözlemledim.

Deauth saldırısı sonrası bağlantısı kopan hedef cihaz
// Deauthentication, bağlantısı düşürülen hedef

Sonuç

Bu çalışmada, laboratuvar ortamında ucuz bir kartla protokollerin sınırlarını zorladım. Hazır araçlar kullanmak yerine işin mutfağına girerek; trafiği dinledik (Sniffing), sahte sinyallerle ortamı yanılttık (Spoofing) ve bağlantı süreçlerine müdahale ettik (Deauth).

Benim için bu proje, donanım güvenliği ve gömülü sistemler dünyasına attığım ilk adımdı. Amacım, bu alanda derinleşmek ve protokollerin çalışma mantığını en alt seviyede kavramak.

// RAPOR SONU, MUCAHIC / OP-0042 / 2025.11.22