BGA Cyber Security – Siber Güvenlik Çözümleri

Krack Zafiyetinde Saldırı Tespiti ve Önlemler

Krack zafiyetine karşı saldırı tespiti ve alınabilecek önlemler ile karşınızdayız. KRACK, ismini “Key Reinstallation Attacks” kelimelerinin kısaltılması ile alan ve WPA2 protokolünü hedefleyen bir saldırıdır. Bu saldırıda saldırgan kişi kablosuz ağın parolasını ele geçirmeden içerideki trafiği okuyabilmektedir.

Saldırıdan Kimler Etkilenir?

İlgili zayıflığın protokolün kendisinde olmasından dolayı WPA/WPA2 kullanan tüm kablosuz ağların saldırıdan etkilenmesi beklenmektedir.

KRACK Zafiyeti Nasıl Çalışır?

Saldırgan tarafından hedef kablosuz ağ ile aynı SSID ye sahip olan ve farklı kanalda çalışan sahte bir ağ oluşturulur. Kullanıcı gerçek ağa bağlanmak istediğinde saldırganın gönderdiği paketler (CSA beacon) nedeniyle sahte ağa bağlanır. Ardından şifreleme protokolündeki zafiyet ile şifreleme anahtarı değiştirilir ve kullanıcı aktiviteleri görüntülenir.

 

krack zafiyeti istek

Kullanıcı gerçek AP e bağlanma isteği gönderir.

Saldırgan CSA Beacon Injection saldırısı başlatır.

CSA Beacon paketleri sonrası kullanıcı sahte AP e yönlendirilmiş olur.

Kablosuz Ağı Saldırıya Karşı Test Etmek

Zafiyeti keşfeden Mathy Vanhoef, kablosuz ağların saldırıdan etkilenip etkilenmeyeceğini kişilerin saldırıya maruz kalmadan önce test edebilmesi için bir script hazırlamış ve Github’da paylaşmıştır. Paylaşılan script ile test edilen AP in trafiği okunamaz, sadece zafiyetten etkilenip etkilenmediği test edilir.

Bknz: Bu scriptte kablosuz ağın “FT Reassociation” isteğinin yeniden iletiminin veya tekrarlanmasının işleme alınıp alınmayacağı kontrol edilir. Eğer AP (Access Point) yeniden iletilen FT Reassociation isteğini işleme tabi tutmuyorsa veya çift anahtarını (pairwise key) yeniden yüklemiyorsa AP in zafiyetten etkilenmediği çıkarımı yapılır.

Testin Gerçekleştirilmesi

Bu bölümdeki test “TP LINK TL-WN722N” ürünü ve “Ubuntu 14.04” ortamında gerçekleştirilmiştir. Test için aynı ağa bağlı 3 AP kurulmuştur. Farklı ürün ve ortamlarda da testin gerçekleştirilmesi mümkündür. İlk olarak sisteme araştırmacının oluşturmuş olduğu scriptler indirilir.

git clone

Teste başlamadan önce sistemin Wi-Fi özelliğinin kapatılması gerekmektedir. Ardından aşağıdaki komut ile scriptin halen Wi-Fi kullanabilmesi sağlanır.

sudo rfkill unblock wifi

Daha sonra “disable-hwcrypto.sh” çalıştırılarak donanım şifreleme devre dışı bırakılır.

./disable-hwcrypto.sh

Sistem yeniden başlatıldıktan sonra “wpa_supplicant” ile kablosuz ağa bağlanmak için konfigürasyon dosyası hazırlanır.Bu konfigürasyon dosyasında test edeceğimiz kablosuz ağın bilgilerini barındıracağız.

Örnek konfigürasyon dosyası // network.conf

ssid: Test edeceğimiz AP in yayın adı.
key_mgmt: Fast Transaction özelliği üzerinden test yapılacağı için bu bölümün FT-PSK olması gerekmektedir.
psk: AP in parolası

Buraya kadar gelinen kısmın doğruluğunu tespit etmek için “wpa_supplicant” ile ağa bağlantı kurmaya çalışılır.

sudo wpa_supplicant -D nl80211 -i wlan0 -c network.conf

-D ile driver
-i ile kablosuz ağ kartı
-c ile hazırlanan konfigürasyon dosyası seçilir.

Komutun ardından bağlantı gerçekleşti ise bir sonraki adıma geçilebilir. Eğer bağlantı kurulamazsa gerçekleştirilen adımlar tekrar gözden geçirilir. Bağlantı kurulamamasının nedeni kablosuz ağın FT (Fast Transaction) yi desteklemiyor olması olabilir.

Yukarıdaki görsel bağlantının sağlıklı bir şekilde kurulduğunu gösterir.

Bir sonraki adımda wpa_supplicant, “krack-ft-test.py” scripti ile birlikte çalıştırılır ve böylece ilgili testi gözlemleyebilmemiz için sanal monitör oluşturulur.

sudo ./krack-ft-test.py wpa_supplicant -D nl80211 -i wlan0 -c network.conf

-D Driver
-i Kablosuz ağ kartı
-c Konfigürasyon dosyasını temsil eder.

sudo ./krack-ft-test.py wpa_supplicant -D nl80211 -i wlan0 -c network.conf

Bağlantıdan sonra “wpa_cli” ile aynı ağa bağlı olan farklı bir AP e geçiş yapılır.

sudo wpa_cli -i wlan0

-i ile ağ kartı seçilir.
“status” komutu ile mevcut durum gözlenir.

Ağ kartının bağlı olduğu AP e ait bilgiler.

“scan_results” komutu ile taranan diğer AP ler görüntülenir.

Ortamdaki kablosuz ağların bilgileri.

Ve “roam” komutu ile diğer AP e geçiş gerçekleştirilir.

 

roam 02:00:00:00:00:02

roam komutunun devamında geçilecek olan AP in MAC adresi girilir.

Geçiş işlemi gerçekleştirildikten sonra farklı bir terminal üzerinden ağ üzerinde trafik oluşturulur.

ping 10.0.0.102

Trafik oluşturulduğunda “krack-ft-test.py” scriptinin çalıştığı terminalde kablosuz ağın güvenlik açıklığı ile alakalı durumu gözükmektedir.

Böylelikle test edilen AP in saldırılardan etkilenebileceğini görülür.

Krack Zafiyeti Saldırı Tespiti

Kismet geliştiricileri yazılımın son verisoyonuna KRACK saldırısının tespiti için bazı özellikler eklemişlerdir.

Bunlar:

Kismet’in son versiyonuna Github adresinden ulaşılabilir.

Bknz: https://github.com/kismetwireless/kismet

Örnek Saldırı Tespiti

Kismet belirtilen kablosuz ağ kartı ile çalıştırılarak ortamdaki paketleri dinleyerek anormal bir davranış gerçekleştiğinde uyarı oluşturur.

kismet -c wlan1

-c parametresi ile kablosuz ağ kartı seçilir.

Kismet çalıştırıldıktan sonra “http://localhost:2501” adresine gidilerek ortamdaki kablosuz ağlar hakkında bilgi edinilebilir ve oluşturulan uyarılar görüntülenebilir.

localhost:2501

Bir uyarı oluştuğunda sağ üstte bulunan zil kırmızı renge dönüşür.

Ortamda sahte AP oluşturulduğunda oluşan uyarı

Saldırıyı Hafifletmek İçin Yapılabilecekler

Yazar: Ömer Günal

Exit mobile version