Bu modülde taramadan bahsedeceğim arkadaşlar. Tarama aşaması hacking döngümüzün ikinci aşamasıdır. Üç türlü tarama vardır :
- Network
- Port
- Zaafiyet
Network taraması hedefimizin networkünde bulunan bütün sistemler ve aygıtları bulmak için kullanılır.
Zaafiyet taraması, hedefimizin açıklarını bulmak için kullandığımız tarama türüdür.
Port taraması bizim en çok kullanacağımız, hedefimizin ayakta olup olmadığını bulmak ve ayakta ise hangi port ve servislerinin açık olduğunu bulmak için kullanılır.
Hedefimizin dnsini veya IPsini bildiğimiz sürece karşı tarafa port taraması yapabiliriz. Tarama artık hedefimiz üzerinde fiziksel olarak birşeylere başladığımız adımdır ve arkadaşlar tarama yapmak normalde yasaktır. Kanuni olarak yaptırımları bulunur.
Hedefimizin açık olup olmadığını bulmak için ping kullanırız. Ping paketleri karşı taraftan engellenmediği ve hedefimiz fiziksel olarak açık olduğu sürece karşıya ulaşacaktır ve cevabına göre hedefimizin açık olup olmadığını öğreniriz.
Normalde pingi kullandığımız zaman 4 tane paket gönderilir. Eğer sürekli ping atmak istersek ping -t parametresi ile sınırsız şekilde ping atarız. Bunu sonlandırmak içinde Control+C tuşlarına basarız.
Peki ping paketlerimiz karşı taraftaki firewall tarafından engelleniyorsa ne yapmamız gerekir?
Firewalking denilen bir yöntem sayesinde firewall üzerinde kurulu olan kuralları bulabiliriz. Bu yöntem yapması gerçekten çok zor olan bir yöntemdir. Çünkü firewall zeki bir aygıttır ve alt etmesi zordur. Gönderdiğimiz paketlerin TTL değerleri vardır. TTL iki şekilde bilinir; Time To Live ( yaşama süresi) ve Time To Leave ( ayrılma süresi ). En çok kullanılan haliyle Time To Live bilinir. TTL değerini düzgün olarak incelersek fiziki uzaklıkları hesap edebiliriz. TTL değeri sayesinde iki hop arasındaki uzaklıkları ortalama olarak bulabiliriz. Firewalking yönteminde firewallın önündeki en son hopun ( bu genelde ISP routerı olur ) TTL değerini hesaplayıp, kendi paketlerimizin TTL değerini en son hopun TTL değeri gibi yaparsak firewall üzerindeki kuralları öğrenerebiliriz. Ancak dediğim gibi bu yöntem çok zordur ve geliştirilen son aygıtlar bu tür saldırı yöntemlerini geçiştirebiliyor.
Tarama yaparken kullanacağımız TCP bayrakları vardır. Bu bayraklar iletişim kurmak yada iletişimi kapatmak gibi bir çok işlevi yerine getirmek için kullanılır. Bu bayraklar :
- Syn : İletişimi başlatmak için kullanılır. Senkronizasyon olarak bilinir.
- Ack : Bilgilendirme bayrağıdır.
- Fin : Finish paketidir. İletişimi kapatmak için kullanılır.
- Rst : Reset paketidir. İletişimi kesmek için kullanılır.
- Urg : Urgent paketidir. Acil mesajlaşma için kullanıldığı bilinir. Genelde ISP tarafında kullanılır.
- Psh : Push paketi. Çok farklı çalışma prensibi olan bir pakettir. Bu paket sayesinde, göndereceğimiz paketleri zorlayarak karşımızdaki aygıt veya hostun hafızasında yer tutmasını sağlarız. Bununla ilgili olarak ayrı bir saldırı tür var. Bu konuyu ilerleyen zamanlarda göstereceğim.
- NULL : Boş paket yani bayraksız pakettir.
Bu paketleri kullanıp tarama yapmamız için öncelikle networkte iletişim kurma yöntemi olarak Three Way Handshake denilen üçlü el sıkışma yöntemini bilmemiz gerekir.
A B
Syn ———————————————–>
<———————————————– Syn/Ack
Ack ———————————————–>
Yukarıdaki grafta üçlü el sıkışmanın çizimini yaptım. Burada iletişim kurmak isteyen A hostu B hostuna syn paketi gönderir. B hostuda bu pakete karşılık olarak syn/ack paketi gönderir. Bu paket “iletişim isteğini gördüm ve bilgim var anlamına gelir, iletişim B hostu tarafından onaylanır”. En son olarakta A hostuda ack paketi göndererek bilgisi olduğunu B hostuna bildirir ve bu sayede iletişim başlar.
Bu bilgiler ışığında şimdi tarama türlerini göstereceğim.
Full Connection Scan : Three Way Handshake yaparak yani karşı hostla iletişim kurarak, hostun açık olup olmadığını öğrenebiliriz. Bu yöntem en sağlıklı tarama türüdür anca yakalanma riski en fazla olandır. CEH sınav sorularından biridir 😉
Syn Stealth :
A B
Syn ——————————————>
<—————————————- Syn/Ack
Rst ——————————————->
Bu yöntem kapıyı çalıp kaçma yöntemi olarak bilinir. Amacımız tam bağlantı kurmak değildir sadece karşı taraftan tepki almak için alınır. Tepki alıyorsak karşı taraf açıktır ancak başarı oranı full connection kadar başarılı olmayabilir. Kapıyı çalıp kaçma yöntemi yüzünde yarı açık yani half open olarak bilinir.
Şimdi söyleyeceğim üç tarama türü portların açık veya kapalı olma durumlarına göre aynı tepkileri verecektir.
XMAS Scan :
A B
Fin,Urg,Psh ——————————>
1- <—————————————- Cevap yoksa port açıktır
2- <—————————————-Rst/Ack paketi geliyorsa port kapalıdır.
Burada bilmemiz gereken en önemli şey, bazı bayraklara port açıksa cevap gönderilmez; bunlar fin,urg,psh, rst ve nulldür. Bu bayraklı paketlere normalde port açıksa cevap gelmez. Fin,urg, psh paketleriyle yapılır.
Fin Scan : XMAS scanle anı şekilde yapılır, hedef hosttan gelen tepkiler aynıdır ancak sadece fin paketiyle yapılır.
NULL Scan : XMAS scanle aynı şekilde yapılır, hedef hosttan gelen tepkiler aynıdır ancak sadece null paketiyle yapılır.