Kali Linux Sniffing & Spoofing (Koklama ve Aldatma) saldırıları Hack dünyasının vazgeçilmezleri arasında. Bu yazıda ise Kali Linux içerisinde bulunan Sniffing ve Spoofing araçların listeleyeceğiz. Ayrıca Sniffing ve Spoofing kavramlarına da göz atacağız…
Konu Başlıkları
Sniffing & Spoofing Kavramları nedir?
Kali Linux üzerinde bulunan Sniffing & Spoofing başlığı Koklama ve Aldatma anlamına gelir. Türkçe’ye bu şekilde doğrudan çevrilir. Koklama ve Aldatma kavramlarının bilgi güvenliği alanında nasıl kullanıldığını öğrendiğimizde bu kavramları daha iyi anlıyor olacağız.
Sniffing (Koklama) Nedir?
Sniffing, veri akışını dinlemeye dayanır. Network üzerindeki veri akışını dinlemek ve bu veriyi çözümleyip ele geçirmeyi hedefler. Veri trafiği içerisindeki istenen paketleri ele geçirmenin bir yolu da o ağı dinlemek, yani koklamaktır. Kali Linux üzerindeki Sniffing araçları ise tüm bu koklama işlerini yapabilmenizi sağlar.
Sniffing kendi arasında Pasif Sniffing ve Aktif Sniffing olarak ikiye ayrılır. Pasif Sniffing, çoğaltıcı olan ağlarda (HUB) kullanılır. Ağdaki veri birden fazla bilgisayara servis edildiği için ağ üzerindeki paketleri koklamak daha kolaydır. HUB yani çoğaltıcı kullanan ağlarınızda çoğaltıcınızın da firewall’ınıza dahil edildiğinden emin olun. Aktif Sniffing ise switch olan sistemler için tercih edilen koklama yöntemidir. Switch çalışma prensibi sebebiyle veriyi sadece gerekli MAC adresine gönderir. Saldırganlar ise bunu istismar etmek için bir çok MAC adresini istemci olarak gösterip Swirch’in kafasını karıştırır. Bu sayede Switch HUB (çoğaltıcı) gibi davranmaya başlar ve bu tüm portlardan veri çıkacağı anlamına gelir.
Teoride Aktif Sniffing, Pasif Sniffing yöntemine benzetildikten sonra Pasif Sniffing aşamaları tekrar devreye sokulur. Tüm portlardan alınan veriler çözümlenir ve koklama (Sniffing) aktif ve pasif olarak gerçekleşmiş olur. Ağımızdaki veri trafiğinin güvenliğini bu verileri şifreleyerek sağlayabiliriz. Bu hamle verilerimizin ele geçirilmesini engellemese bile bu verilerin şifrelenmesini ve okunamaz hale getirmesini sağlayacaktır. Ağımızın Sniffing zaafiyetini analiz etmek ve önlem almak için ise Kali Linux üzerinde Sniffing Tools’u kullanırız.
Spoofing (Aldatma) nedir?
Spoofing yani aldatma saldırısı, güvenli görünen bir kaynaktan güvenli görünen bir paket göndererek alıcının kandırılması mantığına dayanır. Bu saldırı network üzerinde gerçekleştiği için IP yapılandırması barındırır ve bu sebeple IP Spoofing adını da taşır.
Hedef sistemler üzerinde IP Spoofing yapabilmek için hping gibi yazılımlar kullanılmaktadır. hping gibi yazılımlar istenilen özelliklerde IP paketleri üretmektedir. Bu IP Paketleri de Nmap gibi ağ keşif yazılımları ile analiz edilen ağların zaafiyetlerine göre üretilmektedir.
IP Spoofing teoride tüm ağ protokollerinde işe yarar. Fakat pratikte UDP kullanan sistemlerde uygulanabilirken TCP tercih edilmiş sistemlerde uygulanamaz. (TCP örnekleri HTTP, HTTPS, SSH, SMTP, FTP…)
Bunun sebebi TCP’nin veri transferi için üçlü el sıkışmayı zorunlu kılıyor olmasıdır. TCP temelli sistemlerde başlık bilgisi içerisindeki sıra numaraları tahmin edilemez ve karmaşık olarak üretilir. TCP Başlık değerleri örnek olarak şu şekildedir;
Transmission Control Protocol, Src Port: 51917 (51917), Dst Port: https (443), Seq: 1197810500, Ack: 1016160500, Len: 52 Source port: 51917 (51917) Destination port: https (443) [Stream index: 0] Sequence number: 1197810500 [Next sequence number: 1197810552] Acknowledgement number: 1016160500 Header length: 20 bytes Flags: 0x18 (PSH, ACK) 000. …. …. = Reserved: Not set …0 …. …. = Nonce: Not set …. 0… …. = Congestion Window Reduced (CWR): Not set …. .0.. …. = ECN-Echo: Not set …. ..0. …. = Urgent: Not set …. …1 …. = Acknowledgement: Set …. …. 1… = Push: Set …. …. .0.. = Reset: Not set …. …. ..0. = Syn: Not set …. …. …0 = Fin: Not set Window size value: 15524 [Calculated window size: 15524] [Window size scaling factor: -1 (unknown)] Checksum: 0x4b0e [validation disabled] [Good Checksum: False] [Bad Checksum: False] [SEQ/ACK analysis] [This is an ACK to the segment in frame: 70] [The RTT to ACK the segment was: 0.179202000 seconds] [Bytes in flight: 52] …
TCP Başlığı yapısal olarak hemen aşağıdaki resimdeki gibidir.
Resimde TCP başlığının içerdiği verilerin yapısı görülmektedir. Buradaki veriler istemci tarafından oluşturulur ve sunucu tarafından yorumlanır. Bu yorum sonrasında sunucu istemciye talep gönderir. İstemci bu talebi karşılayan veriyi tekrar sunucuya gönderir ise sunucu ile TCP bağlantısı sağlanmış olur. Bu sürece üçlü el sıkışma denir.
TCP – Üçlü El Sıkışma Nedir?
Yukarıda özetinden bahsettiğim üçlü el sıkışma adından anlaşılacağı gibi üç adımda oluşan bir güvenlik katmanıdır. İlk adımı ve son adımı istemci tarafından gerçekleştirilir. Ortadaki adım ise sunucu tarafından gerçekleşir. Bu iletişimi hemen aşağıdaki görsel ile betimleyelim;
(Görselde A tarafı istemciyi, B tarafı ise sunucuyu temsil ediyor olacak.) Görselde İstemci (A) tarafından gönderilen SYN bayrağı aktif edilmiş paketin sıra numarası 711 olarak belirtildiği görülüyor.
Birinci Adım – Sıra numarası 711 olan paket SYN bayrağı aktif edilmiş olarak Sunucuya (B) teslim edilir.
İkinci Adım – Sunucu (B) bu paketi alır ve sonraki paketi hazırlar. Daha sonra bu paketin SYN ve ACK bayraklarını aktif eder. Bu yeni paketin ACK numarasını, önceki paketin sıra numarasının +1 fazlası olarak ayarlarlar. Yani resimde istemci tarafından 711 sıra numarasıyla oluşturulan paketi alıp +1 artırarak 712 ACK numaralı yeni paketi oluşturur. Bu yeni pakete rastgele olarak sıra numarası da ekler. Resimde 641 olarak belirtilen bu sıra numarası istemciden cevap geldiği anda gelen talebin sunucu tarafından işleneceği sırayı belirler.(cevap gelirse sıra numarası +1 artırılacaktır) Kısaca, bu aşamada sunucu istemciye ACK ve SYN bayrağını aktif ettiği 641 sıra numaralı, 712 ACK numaralı paketi gönderir.
Üçüncü Adım – Sunucunun gönderdiği 641 sıra numaralı, 712 ACK numaralı paketi alan istemci, bu paketteki bilgilere göre yeni bir paket oluşturur. Bu paketin ACK numarası (şekilde) sunucunun talep ettiği gibi 712 olacaktır. Gelen paketin sırası baz alınacak, +1 artırılarak 642 olacak ve ACK bayrağı aktif edilerek sunucuya tekrar gönderilecektir. Bu sayede ikinci adımda sunucunun talep ettiği özelliklere sahip paket hazırlanmış olacak ve iletişim gerçekleşecektir.
Üçlü el sıkışmanın mantığını kavramak ve TCP Paketlemesi daha iyi anlamak için Kali Linux Üzerinde Wireshark Kullanımı konusunda biraz araştırma yapmak faydalı olabilir.
Kali Linux Sniffing & Spoofing Araçları
Network üzerindeki Sniffing ve Spoofing zaafiyetlerini analiz etmek için ise bu konunun asıl yazılma amacı olan Kali Linux Sniffing & Spoofing araçlarını kullanmak en kolay yöntem olacaktır. Yazının başlarında da belirttiğim gibi düzenli olarak güncellenmesi ve açık kaynaklı olması sebebiyle yeni metodlara karşı hazırlıklı olmak için Kali Linux bu konudaki ilk tercihimiz olmaktadır.
Kali Linux üzerindeki Sniffing & Spoofing araçları ise şunlardır;
- Burp Suite
- DNSChef
- fiked
- hamster-sidejack
- HexInject
- iaxflood
- inviteflood
- iSMTP
- isr-evilgrade
- mitmproxy
- ohrwurm
- protos-sip
- rebind
- responder
- rtpbreak
- rtpinsertsound
- rtpmixsound
- sctpscan
- SIPArmyKnife
- SIPp
- SIPVicious
- SniffJoke
- SSLsplit
- sslstrip
- THC-IPV6
- VoIPHopper
- WebScarab
- Wifi Honey
- Wireshark
- xspy
- Yersinia
- zaproxy
Buradaki paket ve uygulamaların amacı sniffing & spoofing zaafiyetlerine karşı önlem almak için yaygın olarak kullanılmaktadır. Bu yazıda bahsi geçen tüm hamleler bu araçlar ile kolaylıkla yapılabilir. Önlemleri sistem üzerinde aldıktan sonra network daha da güvenli hale getirilebilir.
Önerilen Video:
https://www.youtube.com/watch?v=oC-1HUI7McE