Dörtlü El Sıkışma (Four Way Handshake)
WPA ve WPA2 şifre korumalı ağlarda; istemci ve erişim noktası arasındaki her oturum için PTK (Pairwise Transient Key) adı verilen bir anahtar oluşturulur ve bu iki taraf (istemci ve erişim noktası) arasındaki tüm trafik bu anahtar ile şifrelenir. PTK oluşturulması sırasında temel olarak 5 veri kullanılır:
- SSID Anounce: AP’den gelen tek kullanımlık rastgele bir sayı
- SNounce: İstemciden gelen tek kullanımlık rastgele bir sayı
- Erişim Noktasının MAC Adresi
- İstemcinin MAC Adresi
- Ağ Parolası
WPA/WPA2 kullanılan bir ağın parolası bilinse bile bir istemcinin trafiğini deşifre etmek için oturumun başlangıcındaki el sıkışmaya ihtiyaç duyulmasının sebebi de budur.
WPA şifre kırma işlemi için sadece ilk iki paketin yakalanması da yeterli olacaktır. Bu sebeple sahte AP yönteminde 3. ve 4. paketlerin eksikliği bir engel oluşturmamaktadır.
Parola Kırma Saldırısı
PTK’yı oluşturmak için ağ anahtarı hariç bütün değerler elde edildiğinde ağ anahtarı yerine bir değer koyulup PTK oluşturulur ve el sıkışmasındaki MIC (Message Integrity Check) kullanılarak doğruluğu kontrol edilir. Bu açıklamadan sonra adım adım aşağıdaki işlemler yapılır.
1) Kablosuz ağ kartı sanal sisteme tanıtılması gerekir. Bu amaçla aşağıdaki adımlar izlenir.
VM > Removable Devices > Ağ Kartı Adı > Connect
Ağ kartını tanıtma işlemi gerçekleştikten sonra, aynı adımlar izlendiğinde Disconnect sekmesi ile karşılaşılacaktır. Böylece kablosuz ağ kartı, sanal sistem tarafından algılanmış olur ve kablosuz ağ adaptörüne ait yeni bir arayüz (“wlan0” gibi) eklenmiş olur.
iwconfig
2) Ağ kartı tanımlandıktan sonra, kablosuz yayınların dinlenebilmesi için bu ağ adaptörü “monitor” moda çekilir. Monitor moda alındıktan sonraki yeni bir arayüz (“wlan0mon”) oluşur.
airmon-ng start wlan0
3) Monitör moddaki “wlan0mon” arayüzünün yeni bir MAC adresi alması gereklidir. Bu amaçla öncelikle bu arayüz devre dışı bırakılır.
ifconfig wlan0mon down
Sonrasında MAC adresi rastgele olacak şekilde değiştirilir.
macchanger -r wlan0mon
4) Böylece ortamdaki kablosuz ağlar dinlenebilir.
airodum-ng wlan0mon
Ortamda bir çok yayın bulunduğu görülmektedir. Bu yazıda, “test-wifi” adlı yayının ortak parolası ele geçirilecektir.
5) Dörtlü el sıkışma sırasında erişim noktasına bağlanan bir istemcinin paketi yakalanacaktır. Bu amaçla “test-wifi” yayını bir istemci bağlantı isteği gönderene dek dinlenir.
airodump-ng -c 6 -w wpacrack –bssid 00:0A:F5:95:28:1C –ivs wlan0mon
Böylece 6. kanaldan yayın yapan ve MAC adresi 00:0A:F5:95:28:1C olan “test-wifi” yayını dinlenerek “wpacrack” adlı pakete kaydedilecektir.
6) Eğer herhangi bir istemci uzun süre bağlanmazsa, bağlı olan istemciler düşürülür. Bu amaçla, broadcast olarak Deauth paketi gönderilir.
aireplay-ng -o 100 -e test-wifi wlan0mon
Düşen istemci erişim noktasına tekrardan bağlanmak istediğinde; erişim noktası ile dörtlü el sıkışma gerçekleştirilecektir. Bu el sıkışmaya ait ağ trafiği airodump-ng aracı ile yakalanacaktır.
Eğer sağ üstteki gibi “WPA handshake:” ifadesinden sonra bir MAC adresi ile karşılaşılırsa, dörtlü el sıkışma yakalanmış demektir.
7) Yakalanan ve “wpacrack” adlı dosyaya kaydolan el sıkışma paketi, bir sözlük yardımı ile deşifre edilmeye çalışılacaktır. Bu amaçla özel sözlük dosyaları kullanılabileceği gibi, Kali içerisindeki sözlükler de kullanılabilir.
locate rockyou
8) Yakalanan ve “wpacrack-01.ivs” dosyasına kaydedilen trafik “/usr/share/hashcat/rules/rockyou-30000.rule” gibi bir sözlük ile açılmaya çalışılacaktır.
aircrack-ng -w /usr/share/hashcat/rules/rockyou-30000.rule wpacrack-01.ivs
Eğer sözlük dosyasındaki parolalardan birisi ile paket deşifre edilebiliyorsa, ortak anahtar ele geçirilmiş demektir.
KEY NOT FOUND hatası alıyorum. Deauth işlemini “aireplay-ng –deauth 10 -a BSSID -c STATION wlan0mon” olarak yaptığım için acaba tam eşleşme sağlanmıyor olabilir mi? Yoksa birden fazla client için handshake mi yakalamak gerekiyor? Yani asıl sorum şu: parola bulunana kadar her client teker teker denenmeli mi?