Kablosuz Ağ Bağlanma Aşamaları
Authentication(Kimlik doğrulama): Bir kullanıcı sisteminin AP’ye kimlik doğrulayarak ağa dahil olmasının ilk adımdır. Bu adımda iletilen frameler şifrelenmemektedir(Çünkü management framelerden birisidir). 2 çeşit kimlik doğrulama tanımlanmıştır: Open ve Shared Key.
-
Open System Authentication: Bu tip kimlik doğrulamada istemciden içinde MAC adresinin olduğu bir istek gider ve AP’den isteğin kabul veya reddediğine dair bir cevap dönülür.
-
Shared Key Authentication: Kimlik doğrulama için ortak olarak bilinen bir anahtar(parola) kullanılır. Önce istemci AP’ye bir bağlantı isteğinde bulunur. AP kullanıcıya challenge text gönderir. İstemci bilinen anahtar bilgisiyle bu metini şifreler ve AP’ye gönderir. AP şifreli metini alır ve üzerinde belirlenen asıl anahtarla bu metinin şifresini çözer. Eğer şifresi çözülmüş olan metin, kullanıcıya ilk olarak gönderilen challenge text ile aynıysa parola doğru demektir. Kullanıcıya kimlik doğrulama için kabul veya ret içeren cevap dönülür.
Association(Ağa kayıt olma):
İstemciler kimlik doğrulama adımını geçtikten sonra AP tarafından ağa kayıt edilmelidir(association). Bu işlem olmadan istemciden gelen/giden frameler AP tarafından yoksayılır. Bir istemci aynı anda sadece bir ağa kayıt olabilir ve kayıt işlemi sadece iletişim AP üzerinden gerçekleştiği Infrastructure modda gerçekleşir.
İstemci association için bir istek gönderir, AP isteği değerlendirir ve olumlu yada olumsuz cevap döner. Eğer cevap olumluysa association cevabı içinde istemciyi daha sonra tanımak için atanan bir ID bulunur(Association ID(AID)).
Linux Sistemlerden Kablosuz Ağlara Bağlantı
Linux sistemler kablosuz ağ yapılandırması için zengin seçeneklere sahiptir. Her Linux dağıtımının kendi grafik arabirimli yapılandırması olduğu gibi tüm Linux dağıtımları için geçerli komutları kullanmak da her zaman hazır seçenek olarak durmaktadır.
Bir kablosuz ağ cihazının neler yapabileceğini düşünelim; öncelikle bulunduğu çevredeki çalışır vaziyette bulunan erisim noktalarını görmek isteyecektir, bulduğu erişim noktalarından birini seçerek bağlanmak ve gerekli IP yapılandırmasını girmesi gerekecektir, ya da erişim noktası tarafından verilen hazır bilgileri kullanacaktır. Eğer erişim noktasında güvenlik amaçlı şifreleme kullanılmışsa kullanılan protokole(WEP/WPA) uygun anahtarın da doğru şekilde girilmesi gerekir.
Kapsama alanında bulunan Erişim Noktalarını(Access Point) keşfetmek için “iwlist” komutu uygun parametreler ile kullanılır.
Linux makinemizdeki wireless Ethernet arabiriminin eth1 olduğunu varsayarsak çevremizdeki AP’leri aşağıdaki komut ile görebiliriz.
root@byte: ~# iwlist eth1 scan
eth1 Scan completed :
Cell 01 – Address: 00:05:60:D5:CE:76
ESSID:”Byte Test”
Mode:Master
Frequency:2.417GHz
Quality:0/10 Signal level:-70 dBm Noise level:-256 dBm
Encryption key:off
Bit Rate:1Mb/s
Bit Rate:2Mb/s
Bit Rate:5.5Mb/s
Bit Rate:11Mb/s
Cell 02 – Address: 00:04:2B:52:15:58
ESSID:”Sebil Net”
Mode:Master
Frequency:2.467GHz
Quality:0/10 Signal level:-22 dBm Noise level:-256 dBm
Encryption key:on
Bit Rate:1Mb/s
Bit Rate:2Mb/s
Bit Rate:5.5Mb/s
Bit Rate:11Mb/s
|
Peki hangi arabirimimizin kablosuz ağ adaptörü olduğunu nasıl anlarız? Bunun için de iwconfig komutu parametresiz kullanılırsa Linux bilgisayarımızda bulunan ağ adaptörleri inceleyerek hangilerinin kablosuz ağ adaptörü olduğunu bize söyleyecektir.
Bulunan erişim noktalarından herhangi birine bağlanmak için iwconfig komutunu kullanıyoruz.
root@byte: ~# iwconfig eth1 essid “Byte Test”
root@byte: ~# ifconfig eth1 up
root@byte: ~# ifconfig eth1 192.168.1.2 netmask 255.255.255.0
|
ya da otomatik IP aldırmak için
root@byte: ~# dhclient eth1
root@byte~ # dhcpcd -n eth1
|
komutları kullanılabilir.
Yapılandırılmış arabirime ait özellikleri görmek istersek;
root@byte: ~# iwconfig eth1
eth1 IEEE 802.11-DS ESSID:”Byte Test”
Mode:Managed Frequency:2.457GHz Access Point: 00:05:60:D5:CE:76
Bit Rate:2Mb/s Tx-Power=15 dBm Sensitivity:1/3
RTS thr:off Fragment thr:off
Encryption key:on
Power Management:off
Link Quality:46/92 Signal level:-51 dBm Noise level:-94 dBm
Rx invalid nwid:0 invalid crypt:0 invalid misc:0
|
komutunu vermemiz yeterlidir.
Bağlanmak istediğimiz erisim noktası WEP kullanacak şekilde ayarlandıysa bunu da parametre olarak belirtmeliyiz.
root@byte: ~# iwconfig eth1 key 12345768901234567890123465
|
WPA Korumalı Ağlara Linux Sistemler Üzerinden Bağlanmak
iwlist ve iwconfig araçları WEP ile korunan AP’lere bağlanmak için kullanılır. WPA tipinde bir AP’ye bağlanmak için wpa_supplicant aracı kullanılır. Çoğu Linux dağıtımında yüklü gelir. Eğer yüklü değilse;
root@kali:~# apt-get install wpasupplicant
|
WPA ile ilgili bilgiler bir yapılandırma dosyası içinde saklanır. Bu dosyaya yazmak için wpa_passphrase aracı kullanılır.
root@kali:~# wpa_passphrase BGA Bga123456 > wpa.conf
|
Yukarıdaki komutta BGA yerine bağlanmak istediğiniz erişim noktasının SSIDsi ve Bga123456 yerine WPA anahtarı yazılır. Cevap aşağıdaki gibi wpa.conf dosyasına yazılır.
network={
ssid=”BGA”
#psk=”Bga123456″
psk=646fa82263e0f2aec5759ff3f1b409e4cde4557a68d64c45df5904ced2c4af0d
}
|
Ancak yukarıdaki komutta WPA parolası komut geçmişinde yeralacağı için güvenli değildir. Bunun yerine sadece wpa_passphrase SSID_ismi şeklinde kullanılırsa imleç aşağı iner bizden anahtarı girmemizi bekler.
root@kali:~# wpa_passphrase BGA > wpa.conf
# reading passphrase from stdin
Bga123456
network={
ssid=”BGA”
#psk=”Bga123456″
psk=f0fa6500777f065586521a4e4244f2ee123af6303f70b1b75ebb127c0c8f81be
}
|
Yapılandırma dosyasına gerekli bilgiler yazıldıktan sonra şimdi wpa_supplicant aracıyla ağa bağlanılabilir. Komutun genel hali şu şekildedir:
wpa_supplicant -D[driver] -i[arayüz] -c[/wpa_supplicant.conf dosyasının tam yolu]
|
Driver seçenekleri wpa_supplicant yazıp entera basıldığında aşağıdaki gibi listelenir. Hangi driver çeşidi olduğu bilinmiyorsa wext kullanılabilir.
drivers:
wext = Linux wireless extensions (generic)
nl80211 = Linux nl80211/cfg80211
wired = Wired Ethernet driver
none = no driver (RADIUS server/WPS ER)
|
Arayüz iwconfig komutu sonucunda çıkan kablosuz adaptörün bağlı olduğu arayüzü ifade eder. Genelde wlan0, wlan1 gibi değerler alır.
wpa.conf dosyası başka bir yol belirtilmemişse üzerinde çalıştığımız dizine yazılmıştır.
Örnek bağlanma komutu şu şekildedir.
wpa_supplicant -Dwext -iwlan1 -c/root/wpa.conf -B
|
Sorun yaşanıyorsa /etc/network/interfaces dosyası herhangi bir metin editörüyle(vi, nano gibi) açılır ve aşağıdaki satırlar yazılır.
iface wlan1 inet dhcp
wpa-conf /root/wpa.conf (yapılandırma dosyasının tam yolu)
auto wlan1
|
Aşağıdaki komutlar işletilir.
ifconfig wlan1 down
ifconfig wlan1 up
/etc/init.d/networking restart
|
Tekrar denenir.
wpa_supplicant -Dwext -iwlan1 -c/root/wpa.conf -B
|
IP almak için;
dhclient wlan1
|
Kablosuz Ağ Güvenlik Testleri için Ortam oluşturma
Kablosuz ağlarda güvenlik konusu pratiği zor olan bir konudur. Bunun temelde iki sebebi vardır. Birincisi kablosuz ağ adaptörleri sürücü eksikliğinden genelde Windows altında test yapacak fonksiyonlara sahip değildir. Bu gibi testler için Linux kullanılması çok daha pratik olacaktır. Diğer bir konu da başkalarının kablosuz ağları üzerinden yapılacak testler etik olmayacağı için kendi kablosuz ağ ortamınızda çalışmalar yapmanız gerektiğidir. Eğer kullanılan Erişim Noktası(Access Point) paylaşımlı ise yapacağınız testlerden diğer kullanıcılar etkilenecektir.
Bu durumda son çare olarak yeni bir donanım almak gerekmektedir. Diğer bir yöntem de bir adet USB üzerinden çalışan kablosuz ağ adaptorü alıp Vmware içerisinden bu adaptörü kullanmaktır. Böylece hem mobil bir AP’e sahip olunup, hem de kablosuz ağlarda güvenlik testi yaparken Windows’un kısıtlayıcı özelliklerine takılmadan Linux üzerinden istenilen işlemler yapılabilir. Böylece istediğinizde sanal bir AP’ye istediğinizde de Linux altında test yapmak için kullanabileceğiniz kablosuz bir ağ adaptörüne ulaşmış olacaksınız.
Vmware ile Kablosuz Ağ adaptörlerini Kullanma
Gerçek işletim sisteminde kullanılan kablosuz ağ kartlarını, Vmware altında da aynı özelliklerde kullanmak ne yazık ki mümkün olmaz. Vmware’den arabirim modunu bridge, NAT yapılarak kablosuz ağ kartınızın yararlandığı bağlantı Vmware makineye sağlanabilir fakat bu Vmware üzerinde kablosuz bir ağ kartı olarak algılanmaz. Sıradan bir ethernet kartı gibi Vmware’in kendi sürücülerini kullanarak işlem yapılır. Bu durumda kablosuz ağlara bağlanıp analiz yapma imkanımız yoktur. Ancak USB ile bağlanılan bir kablosuz ağ kartı ile bu işlem yapılabilir. Gercek sisteminizin Windows, Vmware’deki sisteminiz Linux ise USB kablosuz ağ kartını Vmware altında gercek özellikleri kullanabilmek icin Vmware sürümü 6.x, Vmware player kullaniyorsaniz guncel surumu olmalıdır. Bundan sonrası Vmware’in menulerinden USB cihazi Vmware’e kablosuz kart olarak tanıtmak ve sürücünün sağladığı wireless özelliklerini kullanmaya kalıyor.
Not: Vmware’in kullanacağı USB kablosuz kartını gerçek işletim sisteminin tanıması gerekmez.
Windows’ta:
OSX’te: