|
ICMP mesajlarını değiştirip, mesajın başlık (“header”) kısmında bulunan belirli alanlarda oynamalar yaparak veya bu mesajları asıl amaçları dışında kullanarak, hedef olarak seçilen sistemlere keşif (“reconnaissance”) saldırıları düzenlenebilir.
Keşif saldırılarının amacı, yapılacak asıl saldırılar öncesinde, hedef sistemler hakkında gerekli bilgileri elde etmek ve bu bilgileri kullanarak hedef sistemlere etkin saldırılar düzenlemektir.
Bu ilk yazıda üç ve takip edecek olan ikinci yazıda ise dört olmak üzere, toplamda ICMP mesajları kullanılarak yapılabilecek 7 farklı keşif saldırısından söz edilecektir.
ICMP Nedir?
ICMP (Internet Control Message Protocol) protokolü, IP protokol takımının bir parçasıdır. Hedef ve özellikleri RFC 792'de belirtilmiştir. ICMP protokolünün temelde iki çeşit görevi bulunmaktadır. Bu görevler;
-
Sürekli hata durumlarının bildirilmesi ve
-
Ağ ile ilgili genel özellikleri saptamak üzere, istek ve cevap mesajlarıyla ağın araştırılmasıdır.
Bu sebeple, ICMP mesaj çeşitleri de yerine getirdikleri görevleri yansıtacak şekilde ikiye ayrılmaktadır;
-
ICMP Hata Mesajları (Örneğin; "Destination Unreachable", "Source Quench", "Redirect", vs.)
-
ICMP Sorgu Mesajları (Örneğin; "Echo Request & Reply", "Timestamp Request & Reply", vs.)
ICMP mesajları, IP paketleri içinde gönderilseler de, bu ICMP’nin daha üst seviye bir protokol olduğu için değil, IP'nin bir iç parçası olduğu içindir. ICMP mesajları aşağıdaki şekildeki gibi sarmalanarak gönderilirler.
Şekil-1 ICMP Mesajları gönderimi
ICMP Keşif Saldırıları
ICMP mesajlarını değiştirip, mesajın başlık (“header”) kısmında bulunan
belirli alanlarda oynamalar yaparak veya bu mesajları asıl amaçları
dışında kullanarak, hedef olarak seçilen sistemlere keşif
(“reconnaissance”) saldırıları düzenlenebilir. Keşif saldırılarının
amacı, yapılacak asıl saldırılar öncesinde, hedef sistemler hakkında
gerekli bilgileri elde etmek ve bu bilgileri kullanarak hedef sistemlere
etkin saldırılar düzenlemektir. Bu yazıda toplamda yedi çeşit keşif
türü incelenecektir;
-
Sunucu Tespiti
-
Ağ Topolojisinin Tespiti
-
Güvenlik Duvarı Kuralları Tespiti ("Firewalk")
-
Ters Eşleme (“Inverse Mapping”)
-
Erişim Kontrol Listesi ("Access Control List") Tespiti
-
Protokol/Port Taraması
-
İşletim Sistemi Tanıma (“OS Fingerprinting”)
1. Sunucu Tespiti
ICMP mesajları kullanılarak sunucu tespiti yapılması iki farklı yöntemle
mümkün olmaktadır. Bu yöntemler; gönderilen ve alınan mesajlar olarak
aynı olmakla birlikte, mesaj içeriğindeki hedef sunucu adresleri olarak
farklılık göstermektedir.
ICMP/Ping Taraması ("ICMP/Ping Sweep")
ICMP mesaj çeşitlerinden "Echo Request" mesajı gönderilip, cevap olarak
"Echo Reply" mesajı alınarak (daha bilinen bir şekilde "ping"
komutuyla), yerel ağ veya İnternet üzerinden erişilebilir ve çalışmakta
olan sunucuların tespit edilmesi mümkün olmaktadır. Bu yöntemde, ICMP
mesajı doğrudan hedef sunucunun IP adresine gönderilir. Bu işlemin tek
bir IP adresi yerine, belirli bir IP adres aralığı için yapılması ve bu
aralıktaki sunucuların tespit edilmesi mümkün olmaktadır.
ICMP Yayınlama ("Broadcast ICMP")
Bu yöntem, her bir sunucunun IP adresine tek tek "ICMP Echo Request"
mesajı göndermekle uğraşmak yerine, hedef ağın yayın ("broadcast")
adresine bir tek "ICMP Echo Request" mesajı gönderilerek
gerçekleştirilir. Bu sayede, toplu olarak ağdaki canlı sunucuların
mesajı gönderen bilgisayara/saldırgana "ICMP Echo Reply" mesajları
göndermesi sağlanılarak, tüm bir ağdaki çalışan sunucuların tespit
edilmesi mümkün olmaktadır. Bu şekilde, tek bir mesajla tüm ağdaki
çalışan sunucuların tespiti yapılabilmektedir.
Tüm kolaylığına rağmen, bazı Unix (Linux Kernel 2.2.x ve 2.4.x) ve Unix
benzeri işletim sistemleri (Solaris 2.5.1, 2.6, 2.7 ve HP-UX v10.20)
dışındaki diğer bir çok işletim sisteminin yayın adresinden gelen
mesajlara cevap göndermemesi sebebiyle, bu tespit yöntemi yaygın olarak
kullanılamamaktır (Örneğin, Windows işletim sistemi).
ICMP mesajları kullanarak sunucu tespiti yapılmasını engellemek üzere, dışarıdan içeriye ("inbound") doğru başta "ICMP Echo Request" mesajı olmak üzere, "Timestamp Request", "Address Mask Request" ve "Information Request" gibi ICMP sorgu mesajlarının gelmesi engellenmelidir. Tam olarak durum denetimli ("stateful") çalışan bir güvenlik duvarı kullanılmıyorsa, dışarıdan içeriye gelen "ICMP Echo Reply" mesajı gibi ICMP sorgu cevap mesajlarının, sunucu tespitine imkan verecek şekilde başka ICMP hata mesajlarının oluşmasını tetikleyebildiği için engellenmesi önerilmektedir. İçeriden dışarıya ("outbound") doğru ise, "ICMP Echo Reply" başta olmak üzere, "Timestamp Reply" ve "Address Mask Reply" mesajlarının gönderilmesi engellenmelidir. İnternetten kurumun yayın ("broadcast") ve ağ ("network") adreslerine erişime izin verilmemelidir.
Sunucu tespiti dışarıdan yapılabileceği gibi, iç ağda zararlı yazılım ("malware") bulaşarak ele geçirilmiş bir istemci/sunucu yoluyla içeriden de yapılabilir. Bu sebeple, iç ağda yönetim amaçlı bir veya birkaç sunucu dışındaki sunucu/istemci bilgisayarların ICMP sorgu mesajları göndermesi ve bu mesajlara cevap dönülmesi, iç ağdaki güvenlik duvarı üzerinden ve sunucu/istemcilerde yer alan kişisel güvenlik duvarı üzerinden engellenmelidir.
2. Ağ Topolojisinin Tespiti
Hedef sunucunun ağ topolojisindeki yerinin tespitinde "traceroute"
(Windows işletim sistemleri için "tracert") komutu kullanılmaktadır. Bu
komutun gerçekleştiriminde (Windows işletim sistemi için), "ICMP Echo
Request" mesajları ve ICMP paketi içerisinde yer alan TTL (Time-to-Live)
alanı kullanılır. TTL değeri, paketin hedefe giderken yol boyunca
uğradığı her bir yönlendirici tarafından bir azaltılarak bir sonrakine
iletilir. Bu iletim sırasında TTL değeri sıfıra ulaşır ise, paket
düşürülür ve gönderen sunucuya "ICMP Time Exceeded" mesajı gönderilerek
paketin hedefe ulaşamadan düşürüldüğü bildirilir. Bu komut ile yapılan
ise, hedefe giderken yol boyunca, ilk olarak TTL değeri bir olan ICMP
paketinin gönderilmesi ve sonrasında ise ICMP paketindeki TLL değerinin
sırayla birer arttırılarak yollanması, böylece her bir adımdaki
sunucudan dönecek "ICMP Time Exceeded" mesajlarıyla yol üzerindeki
sunucuların tespit edilebilmesidir.
Hedef sistemin bulunduğu ağ topolojisi bilgisinin elde edilmesi ise,
anlatılan yöntemin bir ağdaki bütün bilgisayarlar için
gerçekleştirilmesi sonucu olabilmektedir.
Bu yolla ağ topolojisinin tespitini engellemek üzere, içeriden dışarıya "ICMP Time Exceeded" hata mesajının gönderilmesi engellenmelidir ("ICMP Time-to-Live Exceeded in Transit"). Aynı şekilde iç ağda yönetim amaçlı bir veya birkaç sunucu dışındaki sunucu/istemci
bilgisayarlarına "ICMP Time Exceeded" hata mesajı gönderilmesi, iç ağdaki güvenlik duvarı üzerinden ve sunucu/istemcilerde
yer alan kişisel güvenlik duvarı üzerinden engellenmelidir.
3. Güvenlik Duvarı Kuralları Tespiti ("Firewalk")
Paket filtreleyen bir güvenlik duvarı üzerindeki açık olan portların
tespit edilmesi, ağ topolojisinin tespitinde kullanılan yöntemin daha
ileri götürülmesiyle mümkün olmaktadır. Bu sayede, güvenlik duvarı
üzerindeki kurallar tespit edilebilmektedir.
Bu işlem, iki aşamada yapılmaktadır. İlk aşamada, saldırganla güvenlik
duvarı arasındaki sunucu/yönlendiricilerin ("hop") sayısı "traceroute"
yapılarak tespit edilir. İkinci aşama olan tarama aşamasında ise,
güvenlik duvarı arkasındaki bilinen bir sunucuya, TTL değeri güvenlik
duvarından bir büyük olan TCP veya UDP segmentleri gönderilir. Bu işlem
sonrası cevap olarak "ICMP Time Exceeded" mesajı geliyorsa, bu segmentin
güvenlik duvarını geçebildiği anlaşılır (Segmentler güvenlik duvarını
geçtikten sonra TTL değerleri sıfıra düşeceğinden dolayı). Cevap olarak
herhangi bir mesajın geri dönmediği durumda ise segmentin güvenlik
duvarı tarafından engellendiği sonucu çıkarılır. Bu işlemin olası bütün
TCP/UDP port kombinasyonları için gerçekleştirilmesi durumunda, güvenlik
duvarı üzerindeki açık olan portlar tespit edilebilir.
Güvenlik duvarı kurallarının tespiti genellikle dışarıdan yapıldığı için, içeriden dışarıya doğru
"ICMP Time Exceeded" hata mesajının gönderilmesi engellenmelidir ("ICMP
Time-to-Live Exceeded in Transit").
Referanslar
[1] SANS Institute, ICMP Attacks Illustrated, 2001
[2] Ofir Arkin, ICMP Usage in Scanning, Haziran 2001
[3] KoonYaw Tan, Intrusion Detection FAQ: How can attacker use ICMP for reconnaissance?, http://www.sans.org/security-resources/idfaq/icmp_misuse.php (Ağustos 2010'da erişildi)
Favori olarak ekle (0) | Görüntüleme sayısı: 1272
Sadece kayıtlı kullanıcılar yorum yazabilir. Lütfen sisteme giriş yapın veya kayıt olun. |