[TR] Wi-Fi Deauthentication Attacks & Prevention

Anıl Çelik
7 min readAug 9, 2020

Herkese merhaba, ben Anıl Çelik. Bu yazımda, Kablosuz Ağlar üzerinde gerçekleştirilen Deuathentication Saldırıları’ndan (Türkçe’ye “Ağdan Düşürme” olarak çevrilebilir) ve bu saldırılardan korunma yöntemlerinden bahsedeceğim.

Yazıya devam etmeden önce, yazının devamında kullanmakta olacağım bazı kavramlardan ve kısaltmalardan bahsetmek isterim:

  • Station/STA/Client: Kablosuz Erişim Noktası’na bağlı olan cihaz, kısaca istemci (akıllı telefon, bilgisayar, vb.)
  • Access Point/AP: Erişim noktası

Deauthentication Attack Nedir?

Deauthentication Attack, bir AP’e ait ağa bağlı olan client veya client’lara Deauthentication Frame göndererek bu client veya client’ların bağlantısını keserek onları ağdan düşürmeye yarayan atak tipidir. Denial of Service (DoS) saldırıları sınıfında da yer alabilmektedir.

Deauthentication Frame Nedir?

Client ile AP arasındaki bağlantının kesilmesine neden olan paketlerdir. İstemci veya erişim noktası tarafından bağlantı sonlandırılmak istendiğinde bu paketler karşı tarafa gönderilmektedir. Bu paketler tekrarlanabilir ve taklit edilebilir olduklarından dolayı kablosuz ağlara DoS (Denial of Service) / Deauthentication saldırılarında da kullanılmaktadırlar. Management Frame sınıfına ai olan bu framelerin Subtype’ı 0x000C=12 dir.

Deauthentication Frame Yapısı

Management Frame Nedir?

Bir AP ile bir Client arasında kurulan iletişimin yönetilmesinden sorumlu frameler/paketlerdir. Bu framelere örnek olarak önceki yazımda da bahsetmiş olduğum Beacon Paketleri, Probe Request/Response Paketleri, Association Paketleri ve Authentication Paketleri gibi paketler örnek gösterilebilir. Standart bir Management Frame Yapısı aşağıdaki gibi gösterilebilir:

Management Frame Yapısı

Management Frame sınıfına dahil olan toplamda 16 çeşit frame vardır:

Deauthentication Saldırıları Neden Yapılmaktadır?

Deauthentication Saldırılarının yapılmasına birçok sebep örnek gösterilebilir; bunlara basit örnek olarak aşağıdakileri verebiliriz:

  • Bir ağ üzerindeki bir istemcinin/istemcilerin ağa olan bağlantılarını sonlandırmak ve engellemek için yapılabilmektedir.
  • WPA Handshake değerini elde etmek için yapılabilmektedir. Saldırı yapıldığı esnada ağdan düşen ve ağa tekrar bağlanmaya çalışan istemciden elde edilen WPA Handshake değeri ile, ağa ait WPA parola bilgisini bulmaya yönelik bu handshake değeri üzerine bir brute-force saldırısı gerçekleştirilebilir.
  • Gizli bir SSID bilgisini tespit etmek için Deauthentication Saldırısı yapılabilmektedir.

Deauthentication Attack Türleri

Deauthentication Saldırıları iki farklı şekilde yapılabilir; Client-based & Broadcast

  • Client-based Deauthentication Attacks: Bu atak tipinde saldırı spesifik bir istemciyi hedef alarak yapılmaktadır. Amaç, hedef alınan istemcinin ağa olan bağlantısını kesmektir. Saldırının başarı yüzdesi daha yüksektir.

Örnek Saldırı:

Saldırı gerçekleştireceğimiz erişim noktası, 8 numaralı kanalda yayın yapmakta ve “80:13:82:1B:**:**” MAC adresi ile “pronerd-test” SSID değerine (ağ adı) sahip. Ayrıca STATION kısmında görebileceğimiz gibi, bu ağa bağlı olan “DC:90:88:8B:**:**” ve “B8:81:98:68:**:**” MAC adreslerine sahip iki adet cihaz var.

Öncelikle “DC:90:88:8B:**:**” MAC adresine sahip istemciyi bu ağdan düşürmeye çalışalım:

Yukarıdaki figürde görülebileceği gibi, “aireplay-ng” aracını kullanarak “ — deauth 5” parametresi ile “80:13:82:1B:**:**” MAC adresli erişim noktasına bağlı olan “DC:90:88:8B:**:**” MAC adresli istemciye 5 adet deauthentication paketi göndererek bu istemcinin kısa süreli olarak ağdan düşmesine sebebiyet verdik. Aynı şekilde gönderilen Deauthentication Paketlerini Wireshark üzerinden de inceleyebiliriz:

Wireshark’da görüntülediğimiz paketten de görebileceğimiz gibi, gönderilmekte olan Deauthenticaton Frame içerisinde Transmitter Address AP’e ait olan “80:13:82:1B:**:**” MAC Adres değerine, Destination Address ise istemciye ait olan “DC:90:88:8B:**:**” MAC Adres değerine sahip. Figürde en altta görülen “Reason Code” kısmında ise, hem bir problemi çözerken göz atabileceğimiz hem de gönderilmiş olan bir paketin neden gönderildiğine dair bilgi edinebileceğimiz kod bulunmaktadır ve bu deauthentication frameinin station yani istemci tarafından gönderildiğini göstermektedir.

  • Broadcast Deauthentication Attacks: Bu atak tipinde ise, saldırı direkt olarak erişim noktasına yönelik yapılarak erişim noktasına bağlı bütün istemcilerin ağa olan bağlantısının kesilmesi amaçlanmaktadır ancak direkt olarak erişim noktasına atak yapıldığında ağı yavaşlatma ihtimalimiz de olduğu için saldırının başarı oranı düşecektir. Ayrıca, broadcast bir atak gerçekleştirdiğinde istemciler kendilerine gönderilen deauthentication paketlerini drop edebilirler.

Client-based kısmında verilen örneğe ek olarak, şimdi gerçekleştireceğimiz saldırıda “-c” parametresi ile herhangi bir client belirtmeden direkt olarak AP’e yönelik bir saldırı gerçekleştireceğiz:

Gördüğümüz gibi bir broadcast deauthentication saldırısını da gerçekleştirdik. Aynı şekilde gerçekleştirmiş olduğumuz bu saldırıyı da yine Wireshark üzerinden inceleyelim:

Bu sefer de görüldüğü gibi Transmitter Address kısmında yine AP’e ait MAC Adresi bulunmakta fakat Destination Address kısmında Broadcast yayını temsil eden “FF:FF:FF:FF:FF:FF” adresi bulunmakta.

Deauthentication Attack ile Elde Edilebilecek Bilgiler

Yazının önceki bölümlerinde de bahsettiğimiz gibi, Deauthentication Attack birçok farklı amaç için kullanılabilir, bunlardan ilk bahsetmiş olduğumuz bir istemciyi ağdan düşürmek ile ilgili olan örneği detaylı bir şekilde bir önceki başlıkta gösterdik. Şimdi bahsetmiş olduğumuz diğer iki madde olan WPA Handshake değerini elde edip bu değer üzerinden parola bilgisini elde etmek ve Gizli SSID değerlerinin tespiti üzerine örnekler verelim:

  • WPA Handshake Değerinin Elde Edilmesi & Brute-Force Saldırısı

Bir erişim noktasına bağlı olan bir istemciye bir Deauthentication Attack gerçekleştirdiğimizde ve ağdan düşen istemci bu erişim noktasına tekrar bağlanmaya çalıştığında, yine bir önceki yazımda bahsetmiş olduğum 4-way Handshake içerisinde yer alan WPA Handshake değeri elde edilir. Öncelikle handshake değerinin elde edilmeden önceki airodump-ng çıktısına göz atalım:

Şimdi de gerçekleştirilen bir deauthentication attack esnasında elde edilen handshake değerini temsil eden EAPOL paketlerinin yer aldığı çıktıya göz atalım:

Artık burada WPA Handshake değeri elde edildiğinde Notes kısmı altında ilgili istemcinin alanında bir EAPOL mesajı ve çıktının en üstünde de yine hedef AP’e ait WPA Handshake değerinin elde edildiğine dair mesajı görmekteyiz. Elde edilen EAPOL paketlerini ayrıca Wireshark içerisinde görüntüleyelim:

Burada görüldüğü gibi WPA 4-way Handshake aşamasına ait olan 4 aşamada gönderilen mesajlar açık bir şekilde EAPOL protokolü altında listelenmekte.

Şimdi elde ettiğimiz bu handshake değerinin bir brute-force saldırısına açık olup olmadığına yönelik, yani airodump-ng ile elde etmiş olduğumuz “.cap” dosyasının içerisinde bir potansiyel hedef olup olmadığını görmek için aircrack-ng isimli araçtan yararlanalım:

Şimdi de bir wordlist vererek parolayı elde etmeye çalışalım:

Parolayı elde ettik ancak burada unutulmaması gereken şey, gerçek hayatta bir test gerçekleştirdiğinizde hedefinize yönelik parolayı elde edebilmek için ne kadar güçlü bir wordlist kullanırsanız gerçekleştirdiğiniz brute-force saldırısının başarı oranı da o derecede artar. Burada asıl gösterilmek istenen, Deauthentication Saldırısı ile handshake değerinin elde edilmesidir.

Deauthentication Attack ile Gizli SSID Bilgisinin Elde Edilmesi

Öncelikle airodump-ng çıktısında hedef alacağımız Gizli SSID bilgisine sahip olan erişim noktasını tespit edelim:

Artık hedef aldığımız AP’e ait SSID bilgisi gizli olduğu için, ESSID alanı altında SSID bilgisi yerine sadece SSID değerinin uzunluğu yer almakta.

Şimdi bu ağa bağlı olan istemcilerin bu ağa bağlanırken gönderdikleri Probe Request frameleri içerisinden Gizli SSID bilgisini elde etmek için direkt olarak AP’e yönelik bir Broadcast Deauthentication Attack düzenleyelim:

Şimdi az önce “80:13:82:1B:**:**” MAC Adresine sahip erişim noktasına ait Gizli SSID bilgisini Deauthentication Saldırısı gerçekleştirmiş olduğumuz Client’ın ağa tekrar bağlanmasını bekleyerek elde etmeye çalışalım:

Gördüğümüz gibi ağa bağlı olan “DC:90:88:8B:**:**” MAC Adresli istemci gerçekleştirilen Deauthentication Saldırısı sonrası ağa tekrar bağlantı talebinde bulundu ve az önce sadece uzunluk bilgisini görebildiğimiz gizli SSID bilgisinin gerçek değerini “pronerd-hidden” olarak elde ettik.

Preventing Deauthentication Attacks

Deauthentication bir request (istek) değil de bir notification (bildirim) olduğu için bu paketin gönderildiği bir AP veya STATION bu bildirimi geri çeviremez. Deauthentication Saldırıları Deauthentication Frame kullanılarak gerçekleştirildiği için ve bu Deauthentication Frameler de yapısı gereği tekrarlanabilir ve taklit edilebilir paketler oldukları için bu paketlerin gönderilmesinin engellenmesi için SSID değerini gizlemek veya Management Frame Protection (MFP) dışında bir yol yoktur.

Management Frame Protection (MFP) nedir?

MFP, wireless iletişiminde bulunan ve daha önce de bahsetmiş olduğumuz gibi istemci ile erişim noktası arasındaki iletişimin yönetiminden sorumlu olan framelerin güvenliğinin arttırılmasını sağlayan bir özelliktir. MFP tam olarak kullanılabilmesi için destekleyen cihazlarda hem erişim noktası hem de client tarafında bu özelliğin etkinleştirilmesi gerekmektedir.

Infrastructure MFP ve Client MFP olmak üzere 2 çeşit MFP vardır.

Infrastructure MFP: İçerisinde 3 adet component bulundurmaktadır:

  • Management Frame Protection: Etkinleştirildiğinde, Wireless Application Protocol (WAP) tarafından iletilen tüm Management Framelere MIC IE bilgisi eklenerek frame güvenliği sağlanmaktadır.
  • Management Frame Validation: Etkinleştirildiğinde, AP network içerisindeki WAP tarafından iletilen tüm Management Frameleri üzerinde doğrulama işlemi gerçekleştirir.
  • Event Reporting: Erişim Noktası tarafından bir anomali tespit edildiğinde, bu anomali Wireless Lan Controller’a (WLC) rapor edilir.

Client MFP: Basit olarak, Client MFP Management Frameler üzerinde encryption uygular. Client MFP, ağa bağlı olan istemcileri DoS saldırılarından / Deauthentication gelen bu frameleri drop ederek korumaktadır. Eğer bir frame bir client’a ulaştığında encrypt edilen paket doğru bir şekilde decrypt edilmezse frame drop edilmektedir.

Client MFP 3 adet component’a sahiptir:

  • Key Generation and Distribution: Client MFP IEEE 802.11i standardında tanımlanan 3 adet Unicast Management Frame’e ait güvenlik protokollerinin ve mekanizmalarının güvenliğini arttırmayı amaçlamaktadır, bunlar:
  • Disassociation Frame
  • Deauthentication Frame
  • QoS (Quality of Service)
  • Protection and Validation of Management Frames: Yapılan Broadcast saldırıları önlemeye yardımcı olur.
  • Error Reports: Erişim Noktaları tarafından tespit edilen hatalı Management Frame De-Encapsulation işlemlerini raporlar.

Deauthentication Saldırıları ve bu saldırıların önlenmesi ile ilgili paylaşmak istediklerim bu kadardı. Yazımı okuduğunuz için teşekkür ederim.

Bir sonraki yazımda görüşmek üzere.

Kaynaklar:

--

--