ARP
Cache Poisoning ve Ettercap ile Ağ Üzerindeki Log-In Bilgilerinin
Çalınması
Kamuya
açık ve genellikle güvenliği düşük olabilen bir ağ üzerinden
internete bağlandığımızda başımıza gelebilecek kimlik
hırsızlığı olaylarındandır.
Kötü
niyetli bir kişi, hepimizin bulunduğu mekanlarda bulunup bizimle
aynı ağda internete bağlanabilir. Örnek verecek olursak
üniversite kampüsleri, hava alanları, kafeteryalar(starbucks lar
:)), kütüphaneler ve hatta iş yerimizdeki ağlar. Saldırgan bu
ağlardaki tüm kullanıcılara veya hedef seçtiği belirli kişilere
arp cache poisoning saldırısı uygulayarak; sosyal ağ(ki
bugünlerde hepimizin olmazsa olmazı) şifrelerimizi, mail hesap
giriş bilgilerimizi ve hatta internet bankacılığı giriş
bilgilerimizi çalabilir !
Temel
olarak arp cache poisoning bir MITM(man in the middle)saldırsıdır.
Peki
bu saldırı nasıl yapılır ?
1.
Hedefin belirlenmesi: Saldırgan
normal bir kullanıcı gibi wireless veya ethernet üzerinden ağa
bağlanır. Daha sonra ağın adresleme mekanizmasını
inceler(ifconfig).
Buradan subnet, kendi Ipsi, router Ipsi gibi bilgileri elde ederek ağ
üzerinde nmap ile
ağdaki diğer kullanıcıları bulmak için bir tarama yapar.
Örneğin
burada saldırganın IP adresi 192.168.0.18 dir. Hedef olarak da
192.168.0.17 yi seçtiğini düşünelim.
2.
ARP Cache Poisoning saldırısı: Saldırganın
bir sonraki adımı arp(adress resolution protocol) ü zehirlemek ve
internet ile kurban arasında bir köprü oluşturmaktır.
Bunun
için 2 komut yeterlidir:
# arpspoof
-t 192.168.0.1 192.168.0.17
# arpspoof
-t 192.168.0.17 192.168.0.1
Not:
192.168.0.1 router ın gateway adresidir. Bu iki komut da 2 farklı
terminal penceresinde saldırı boyunca açıktır.
Saldırının başarılı olabilmesi için önemli koşullardan birisi
# echo 1 > /proc/sys/net/ipv4/ip_forward
komutu ile işletim sisteminin "forwarding" özelliğinin açılmasıdır.
Saldırgan, hedef aldığı kurbanın bütün trafiğine istediği şekilde müdahale edebilecektir. Burada nasıl bir müdahale olabilir? Kurban'ın bütün trafiğini kesebilir, bütün trafiği istediği yere yönlendirebilir, bütün tarifi içinde değişiklik yapabilir, bütün trafiği okuyabilir.
Buradaki senaryomuzda, saldırganın amacı kurbanın login bilgilerini almak olsun. Bu işlem için ettercap kullanılcaktır.
Arpcache bilgisi zehirlenmiş olan kurban, herhangibir HTTP form üzerinde bilgi girişi yaparsa, bu bilgiler saldırgan tarafından ele geçirilecektir. Peki kurban HTTPS üzerinden bir login formu kullanırsa, bu bilgiler nasıl elde edilecek? Unutmayalım ki, saldırgan ortadaki adam (MITM) durumundadır ve SSL protokolü, istemci ile sunucu arasında tamamen şifreli konuşma sağlamaktadır. Dolayısı ile SSL tarfiğinde saldırgan bu hali ile HTTPS login form bilgilerine erişemeyecektir.
Peki SSL'de araya nasıl girilecek?
3. SSLSTRIP ile ssl konuşmanın engellenerek araya girilmesi:
SSLstrip, HTTP'den HTTPS'e redirect edilen isteklerde, istemci tarafının bu redirection'ı almadan HTTP konuşmaya devam etmesini amaçlamakta, sunucunun SSL trafiği SSLstrip yani saldırgan üzerinde sonlanmaktadır.
Bu işlemi gerçekleştrimek için, saldırgan SSLStrip'i çalıştırıp, bütün HTTP tarfiğini SSLStrip'in dinlediği port olan 10000'e redirect etmesi gerekmektedir. Bu işlem iptables aracılığı ile gerçekleştirilebilir:
# python sslstrip.py
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 10000
Bu adımdan sonra, kurbanın girdiği bürün HTTP trafiği sslstrip tarafından işlenmektedir ve HTTPS redirection'lar kurbana hiç gitmemektedir. Böyle bir senaryoda kurban ile saldırgan HTTP, saldırgan ile hedef sunucu HTTPS konuşmakta, açık tarafik saldırgan tarafından görülebildiği için, kurbanın form giriş bilgileri çalınabilmektedir.
Saldırganın buradaki beklentisi, kurbanın giriş yapacağı siteye http üzerinden veya direk browser a gmail.com, facebook.com yazarak girdiğini varsaymasıdır. Aksi taktirde sslstrip ile araya girmesi başarısız olur. Sslstrip backtrack üzerinde /pentest/web/sslstrip/ dizininde bulunmaktadır. Saldırgan tarafından python sslstrip.py komutu ile çalıştırılabilir.
SSLstrip, HTTP'den HTTPS'e redirect edilen isteklerde, istemci tarafının bu redirection'ı almadan HTTP konuşmaya devam etmesini amaçlamakta, sunucunun SSL trafiği SSLstrip yani saldırgan üzerinde sonlanmaktadır.
Bu işlemi gerçekleştrimek için, saldırgan SSLStrip'i çalıştırıp, bütün HTTP tarfiğini SSLStrip'in dinlediği port olan 10000'e redirect etmesi gerekmektedir. Bu işlem iptables aracılığı ile gerçekleştirilebilir:
# python sslstrip.py
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 10000
Bu adımdan sonra, kurbanın girdiği bürün HTTP trafiği sslstrip tarafından işlenmektedir ve HTTPS redirection'lar kurbana hiç gitmemektedir. Böyle bir senaryoda kurban ile saldırgan HTTP, saldırgan ile hedef sunucu HTTPS konuşmakta, açık tarafik saldırgan tarafından görülebildiği için, kurbanın form giriş bilgileri çalınabilmektedir.
Saldırganın buradaki beklentisi, kurbanın giriş yapacağı siteye http üzerinden veya direk browser a gmail.com, facebook.com yazarak girdiğini varsaymasıdır. Aksi taktirde sslstrip ile araya girmesi başarısız olur. Sslstrip backtrack üzerinde /pentest/web/sslstrip/ dizininde bulunmaktadır. Saldırgan tarafından python sslstrip.py komutu ile çalıştırılabilir.
4.
Ettercap ile kimliklerin toplanması: Saldırgan, kurbanın bir
yere log-in olmasını bekler, bu sırada backtrack altında bulunan
ettercap i çalıştırır. Saldırgan,
# ettercap -Tzq
komutu yardımı ile ya da user interface şeklinde ettercap i çalıştırıp hedef IP yi seçerek şifreleri toplayabilir. Kurbanın browser'a gmail.com yazmak gibi bir hatada bulunup giriş yaptığı bir senaryoda, saldırgan arka planda sürekli çalışan ettercap'den login bilgilerini sevinçle okur!
# ettercap -Tzq
komutu yardımı ile ya da user interface şeklinde ettercap i çalıştırıp hedef IP yi seçerek şifreleri toplayabilir. Kurbanın browser'a gmail.com yazmak gibi bir hatada bulunup giriş yaptığı bir senaryoda, saldırgan arka planda sürekli çalışan ettercap'den login bilgilerini sevinçle okur!
Burada bu saldırının çalışmasının temel şartı ilk bağlantının HTTP olarak yapılması, çoğumuzun browserlarımızdaki adres çubuğuna gmail.com veya facebook.com şeklinde yazarak bu sitelere girmesidir. Daha sonra bu siteler kendi yönlendirmelerini yapacak ve HTTPS sayfalarından log-in olacaksınızdır. Ama saldırgan yeterince erken davrandıysa HTTP -> HTTPS yönlenmesini keser ve konuşmayı HTTP olarak devam ettirir. Kurbanın gözüne çarpacak tek şey, yeterince dikkatli ise adres çubuğudaki HTTP ifadesi olabilecektir.
Hiç yorum yok :
Yorum Gönder