Translate

8 Haziran 2014 Pazar

ICMP Keşif ("Reconnaissance") Saldırıları - II

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.
İlk yazıda anlatılan üç  keşif saldırısı sonrasında, bu ikinci yazıda geriye kalan dört farklı keşif saldırısından söz edilecektir.

Ters Eşleme (“Inverse Mapping”) 

Ters eşleme yöntemiyle, güvenlik duvarı arkasında bulunan sunucuların veya tüm bir ağın tespit edilmesi mümkün olabilmektedir.
Bu keşif saldırısı yöntemi, ICMP mesajları için dinamik filtreleme / durum denetimli ("stateful") engelleme uygulanmayan ve ICMP sorgu mesajları engellenmemiş güvenlik duvarları için geçerli olmaktadır. Bu durumda güvenlik duvarı arkasındaki bir iç ağın, sahip olduğu tahmin edilen bir IP adres aralığı için, "ICMP Echo Reply" mesajları gönderilebilmektedir. İç ağdan "ICMP Echo Request" mesajı gönderilmediği halde, güvenlik duvarı durum bilgisini tutmadığı için, "ICMP Echo Reply” mesajları engellenmeden güvenlik duvarından geçebilirler. Güvenlik duvarını geçen "ICMP Echo Reply " mesajları arasından hedef IP adresinde bir sunucu bulunmayan mesajlar için, iç ağdaki bir yönlendirici tarafından "ICMP Host Unreachable" mesajı gönderilir. Saldırgan gönderilen bütün bir IP aralığındaki adreslerden, "ICMP Host Unreachable” mesajı gelen adresleri elde eder. Bu sayede, "ICMP Host Unreachable" mesajı gönderilmeyen IP adreslerinde çalışan sunucular bulunduğu tespit edilerek, güvenlik duvarı arkasında bulunan iç ağ ortaya çıkarılabilir.
Ters eşleme yöntemiyle sunucu tespitinin yapılamaması için, durum denetimli ("stateful") güvenlik duvarı kullanılmıyorsa, dışarıdan içeriye ("inbound")  gelen "ICMP Echo Reply" mesajı gibi ICMP sorgu cevap mesajları engellenmelidir. Ayrıca, iç ağda yer alan sunucuların tespitinde kullanılan "ICMP Host Unreachable" hata mesajının içeriden dışarıya ("outbound") gönderilmesine izin verilmemelidir.

Erişim Kontrol Listesi ("Access Control List") Tespiti

ICMP hata mesajlarını kullanarak, yönlendirici veya sunucu gibi filtreleme yapabilen cihazlarda bulunan erişim denetim listelerinin tespit edilmesi mümkün olmaktadır.
Bu yöntem, IP paketi başlığı içinde yer alan, toplam uzunluk ("Total Length") alanının gerçek değerinden daha büyük bir değer ile değiştirilmesi ilkesine dayanmaktadır. Toplam uzunluk alanı değiştirilen paket hedef sunucuya ulaştığında,  hedef sunucu tarafından paket açılacaktır. Fakat toplam uzunluk değerine göre olması gereken ama gerçekte olmayan alandaki veriye ulaşılamaması sonucunda, hedef sunucu tarafından "ICMP Parameter Problem Code 2" mesajı oluşturulacak ve saldırgana yollanacaktır. Gönderilen paketin karşılığında, ICMP parametre sorunu mesajının alınması, saldırgana pakette kullanılan protokol ve servisin filtreleme cihazı tarafından engellenmediğini göstermektedir. Başlık kısmı değiştirilen IP paketi içinde, ICMP veya daha üst seviye protokoller olan TCP veya UDP protokolleri sarmalanmış olabilir.
Bu işlemin, tüm olası protokol ve servis kombinasyonları ile bütün bir ağ için tekrarlanması durumunda, filtreleme cihazında yer alan erişim listelerinin tamamını elde etmek mümkün olabilmektedir.
Filtreleme cihazlarına girilmiş olan erişim denetim listelerinin bu yolla tespitinin engellenmesi için, "ICMP Parameter Problem" hata mesajlarının içeriden dışarıya gönderilmesine izin verilmemeli ve güvenlik duvarı tarafından engellenmelidir.

Protokol/Port Taraması

ICMP "Protocol/Port Unreachable" mesajlarını kullanarak, hedef sunucu üzerinde hangi protokol veya portların kullanıldığını tespit etmek mümkündür.
Bu yöntemde, IP başlığı içinde yer alan sekiz bitlik protokol alanın tüm kombinasyonları (toplamda 256 değişik protokol) kullanılarak hazırlanan paketler hedef sunucuya gönderilir, cevap olarak "ICMP Port/Protocol Unreachable" mesajı gelen protokol veya portların kapalı olduğu, cevap gelmeyenlerin ise açık olduğu anlaşılabilmektedir. Bu sayede, hedef sunucunun kullanımda olan açık protokol veya portlarının bir listesi elde edilebilmektedir.
Sunuculara gönderilen IP paketindeki protokol alanının bütün kombinasyonları kullanılarak, açık olan port ve protokollerin tespit edilememesi için, "ICMP Port/Protocol Unreachable" hata mesajlarının içeriden dışarıya gönderilmesi engellenmelidir.

İşletim Sistemi Tanıma ("OS Fingerprinting")

Farklı işletim sistemi geliştiricilerinin, ağ trafiğini yönetme anlamında  birbirlerine göre az da olsa farklı yolları benimsemiş olmaları sebebiyle, aktif veya pasif olarak hedef sunucunun işletim sisteminin tespit edilmesi mümkün olmaktadır.

Aktif Tanıma

İşletim sisteminin aktif olarak tanınması, hedef sunucuya doğrudan ICMP hata/sorgu mesajları gönderilmesi ve sonrasında gelen cevapların analiz edilmesi ile gerçekleştirilir. Dönen ICMP mesajlarının başlık kısmındaki belirli alanlar, işletim sistemlerine göre farklılık gösterebildiğinden dolayı, bir veya birden fazla mesaj alış verişi ile işletim sistemlerinin tespit edilmesi mümkün olabilmektedir (Herhangi bir cevabın dönmemesi de tanıma işleminde kullanılır). Gönderilen farklı türdeki ICMP mesajlarına dönülen/dönülmeyen cevapların işletim sistemlerine göre değişebilmesi sayesinde, aşağıdaki örneklerdeki gibi hedef sistemlerin işletim sistemleri ve bu işletim sistemlerinin versiyonları tespit edilebilmektedir.
icmp_lin.jpg
Şekil - 2 Linux işletim sistemleri için ICMP mesajlarıyla tanıma
icmp_win.jpg
 Şekil - 3 Windows işletim sistemleri için ICMP mesajlarıyla tanıma

Pasif Tanıma

Pasif tanıma, hedef sunucuya doğrudan ICMP mesajları göndermek yerine, hedef sunucunun ağ trafiğinin dinlenmesi sonucu elde edilen bilgilerin (gelen/giden ICMP mesajlarının) analiz edilmesiyle gerçekleştirilir. Pasif tanımanın aktif tanımaya göre pozitif yönleri olarak; herhangi bir ağ trafiği oluşturmadığından zor fark edilebilmesi, tüm trafiğin kaydedilmesinden dolayı daha fazla mesajın incelenebilmesi, trafik analizinin çevrimdışı olarak yapılabilmesi, iç veya dış ağın farklı noktalarının dinlenerek (ağı dinleyen sensörler yardımıyla), farklı ağ trafik bilgilerine erişilebilmesi gibi özellikleri sayılabilir.
ICMP mesajları kullanılarak aktif tanıma yöntemiyle işletim sisteminin tespit edilmesinin engellenmesi, pasif tanıma yöntemine göre daha kolay olabilmektedir. Aktif tanıma yöntemi, sunucuya gönderilen ICMP mesajlarına dönen cevapların analiziyle yapıldığı için, internetten içeriye ICMP istek mesajları gelmesi ve içeriden dışarıya ICMP cevap ve hata mesajlarının gönderilmesi engellenmelidir. İç ağda aktif tanıma işleminin yapılamaması için de, iç ağdaki güvenlik duvarı ve sunucu/istemcilerde yer alan kişisel güvenlik duvarı üzerinden, yönetim amaçlı ayrılan sunucular dışındaki bütün sunucuların/istemcilerin ICMP mesajları göndermesi ve bu sunuculara ICMP cevap ve hata mesajı dönülmesi engellenmelidir.
ICMP mesajları kullanılarak pasif tanıma yöntemiyle işletim sisteminin tespit edilmesi, ağ trafiğinin dinlemesi yoluyla yapıldığı için engellenmesi oldukça zor olmaktadır. En etkili yöntem, ağ trafiğini dinleme işlemini yapan ağ dinleyicisinin ("sniffer") tespit edilip devre dışı bırakılması olacaktır. Fakat bunun yapılamaması durumunda, iç ağda ve içeriden dışarıya/dışarıdan içeriye ICMP trafiğinin en alt düzeyde tutulup, mümkün olan durumlarda engellenmesi yoluyla pasif tanıma işleminin zor hale getirilmesi , hatta engellenmesi mümkün olabilmektedir. 

Hiç yorum yok:

Yorum Gönder

Yorumunuz için teşekkür ederiz..