18 Şubat 2014 Salı

Yerel Ağ Üzerinde Gerçekleştirilen Saldırılar

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.





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!







Saldırganın son gördüğü : 
user: [email protected] 
pass: ohMyPass!








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