Would you like to react to this message? Create an account in a few clicks or log in to continue.


 
AnasayfaAnasayfa  Latest imagesLatest images  Kayıt OlKayıt Ol  Giriş yapGiriş yap  

 

 Temel Saldırı Teknikleri

Aşağa gitmek 
YazarMesaj
gundi002
OPERATÖR
OPERATÖR
gundi002


Mesaj Sayısı : 19
Kayıt tarihi : 11/03/08

Temel Saldırı Teknikleri Empty
MesajKonu: Temel Saldırı Teknikleri   Temel Saldırı Teknikleri EmptySalı Mart 11, 2008 12:52 am

1.a Fingerprinting

Fingerprinting tanımı aslında karşı taraf hakkında bilgi toplamaktan ibarettir.Bir saldırı yöntemi değildir sadece karşı sistem hakkında bilgi verir ve saldırı için doğru seçimlerin yapılmasına olanak sağlar.Çalışan işletim sistemi, çalışan programlar işletim sistemi versiyonu gibi bilgiler sayesinde karşı sistemin güvenlik açıkları kolayca tespit edilip saldırı uygulanabilir.Bir çok çeşidi ve yöntemi vardır.En basit örneği , FTP Server’larından vermek mümkündür.FTP formatına göre karşı tarafa gönderilen “SYST” mesajı karşı tarafın işletim sistemi hakkında bilgi verir.Örneğin; anonymous olarak ftp.sau.edu.tr adresine bağlanıp, command ekranına SYST yazılırsa sonuç aşağıdaki gibi olacaktır :

Connected to ftp.sau.edu.tr

SYST
215 UNIX Type: L8
Host Type (S): UNIX Standart

Bu sayede karşı tarafta UNIX Standart yüklü bir makinenin olduğu tespit edildi.Bunun dışında telnet aracılığıyla bağlandığımız bir sistem direkt olarak bize işletim sistemini verebilir.Çoğu işletim sistemi üreticisi günümüzde bu bilgiyi telnet üzerinden otomatik olarak vermeye ayarlıyor ve çoğu sistem yöneticisi de bunları kapatmıyor.Aşağıda küçük bir örnek var:

playground~> telnet hpux.u-aizu.ac.jp
Trying 163.143.103.12 ...
Connected to hpux.u-aizu.ac.jp.
Escape character is '^]'.

HP-UX hpux B.10.01 A 9000/715 (ttyp2)

login:

Görüldüğü gibi yaptığımız tek şey telnet aracılığı ile karşı tarafa bağlanmaktı.Sistem bize işletim sistemini versiyon numarasına kadar verdi.Bu yöntemlerin dışında birde http Fingerprinting adı verilen ve adından da anlaşılabileceği gibi http protokolünü kullanan bir yöntem daha var.Bu yöntemde “http” ’de tanımlı “GET” metodunu kullanarak Web Server’ın ne olduğunu öğreniyoruz:

playground> echo 'GET / HTTP/1.0\n' | nc hotbot.com 80 | egrep '^Server:'
Server: Microsoft-IIS/4.0

IIS Web Server kurulu bir sistemde hangi işletim sisteminin yüklü olduğunu tahmin etmek pek zor değil.Bu anlatılan yöntemlerden farklı olarak daha alt seviye bazı yöntemler de mevcut.Bu yöntemler TCP/IP protokolünün işletim sistemleri arasındaki küçük farklarından yararlanarak amacına ulaşıyor.Aşağıda bunlardan bazılarını inceleyelim:


The FIN Probe: Bu teknikte karşı tarafın açık bir portuna bir FIN paketi yolluyoruz(Yani FIN kontrol biti bir olan herhangi bir paket).RFC 973 standart’ına göre karşı tarafın bu pakete hiçbir karşılık vermemesi gerekirken, MS Windows, BSDI, CISCO, HP/UX, MVS, IRIX gibi işletim sistemleri geriye RST paketi yollarlar.Günümüzde bir çok Fingerprinting aracı bu yöntemi kullanmaktadır.

TCP ISN Sampling: Bu teknik işletim sistemlerinin TCP/IP stack’lerinin “initial sequnce number”’ları (ISN) seçme özelliğinden faydalanıyor.Hatırlayacağınız gibi TCP/IP’de bir bağlantı kurulduğu zaman iki tarafta da byte akışının doğru sağlanması için sequence number’lar kullanılıyordu.Her yeni paket için de x kadar arttırılıyordu.Bu yöntemde işletim sistemlerini kategorize edersek: “Random Increments”, “True Random” ve “Time dependant model” olarak üçe ayırabiliriz.İlk modelde iki bağlantı için belirlenen seq. Number’lar arasındaki x artış miktarı her paket için random olarak seçilir ve sürekli bir öncekiyle toplanır.Solaris, IRIX, FreeBSD, Digital UNIX, Cray gibi işletim sistemleri ISN üretmede bu modeli kullanmaktadır.İkinci modelde ise iki bağlantının seq. Number’ları arasında hiçbir bağıntı yoktur, birbirlerinden tamamen bağımsızdırlar.Bu modeli kullanan sistemler arasında Linux 2.0.x Open VMS gibi sistemleri sayabiliriz.Üçüncü modelde ise ISN ‘ler belli bir zaman aralığında sabit bir sayıyla toplanarak elde edilirler.Windows bu üçüncü modeli kullanan bir yapıya sahiptir.

TCP TimeStamp: TCP başlığı içinde yer alan bu bilgiyi işletim sistemleri farklı işlerler.Bazıları bu özelliği desteklemez, bazıları ise belirli peryodlarla bu değeri arttırırlar.Bazı işletim sistemleri ise hep 0 döndürür.

TCP Initial Window:Bu teknikte karşı sistemden dönen paketlerin “Window Size”’ları kontrol edilir ve buna göre değerlendirme yapılır.Bu değerlendirme önemlidir çünkü çoğu işletim sistemi bu değer için sabit bir sayı kullanır.Örneğin AIX işletim sistemi Window Size değeri için hex değer olarak $3F25 sayısını kullanır.Aynı şekilde FreeBSD, OpenBSD ve Windows NT işletim sistemleri bu sayıyı $402E olarak belirlemişlerdir.

ICMP Message Quoting:Bu teknikte ICMP protokolünün “port unreachable” hatasından faydalanıyoruz.Bu hata karşı tarafa bir ICMP paketi gönderildiği ve bu port açık olmadığı zaman geri gelen bir hata mesajıdır.Çoğu sistem IP Header + 8 Byte geri gönderir.Fakat Solaris işletim sistemi 8 Byte’dan daha fazla gönderir, Linux ise Solaris’ten daha fazla gönderir.

Type Of Service:ICMP protokolünde alınan bir port unreachable paketinin ToS değeri incelenirse, bu değerin her işletim sisteminde 0, bir tek Linux’ta $0C olduğu görülmüştür.

TCP Options: TCP paket başlığında “TCP Options” değerini kullanarak işletim sistemi tahmini yapmaktır.Bu yöntemin bir çok avantajı vardır bunlardan birkaçını sıralarsak:

i) Her şeyden önce bu kısım isteğe bağlıdır yani birçok işletim sistemi bu değeri gözardı eder.

ii) Eğer bir Option ayarla***** karşı makineye gönderirseniz, karşı sistemin cevabı o option’ ın desteklenip desteklenmediğini gösterecektir.Bu Option’lar da her işletim sistemine göre değişeceği için bu da bize avantaj sağlar.

iii) Bir çok Option’ı ayarlayıp sadece bir paket göndererek, cevap alabilirsiniz.Yani tek bir paketle karşı tarafın hangi Option’ ları desteklediğini kolayca anlayabilirsiniz.

WindowScale, NOP, Max Segment Size, TimeStamp TCP Options’ın alabileceği değerlerin bazılarıdır.Örneğin bu sayılan özelliklerin hepsi FreeBSD tarafından desteklenmektedir.Bunun yanında Linux 2.0.x sürümleri yukarıdakilerin çok azını destekler.İki işletim sistemi aynı Option özellikleri desteklese bile bunlara verdiği cevaplar faklıdır.Örneğin bir Linux sistemine küçük bir MSS(Max Segment Size) değeri gönderilirse, sistem aynı değeri bize geri gönderecektir.Geri dönen değerler aynı olsa bile sıraları faklıdır.Örneğin Solaris “MSS” değerine “NNTNWME” ile cevap verirken Linux 2.1.122 “MENNTNW” ile cevap verir

1.b Port Scanning

Port Scanning (Port Tarama) adı verilen yöntemde karşı taraf hakkında bilgi toplamayla alakalı bir işlemdir.Bu işlemde aynı Fingerprinting gibi protokol formatına dayanır ve karşı sistemde açık olan portları bulmamızı sağlar.Bu sayede Fingerprinting ’ten elde edemediğimiz bilgileri bulabiliriz.Örneğin karşı tarafın 135 no’lu portu açıksa muhtemel bir Windows İşletim sistemiyle karşı karşıya olduğumuzu varsayabiliriz.Yada bir başka örnek olarak karşı tarafta eğer 80’inci port açıksa bu makinenın da bir HTTP Server olduğunu varsayabiliriz.Port Tarama yönetimde bilgi toplama portların ne işe yaradıklarını ve genel kullanımlarını bilmekle alakalıdır.Bu şekilde karşı sistemin zayıflıkları bile bulunabilir.Aşağıda kendi makinemde denediğim Port tarama işleminin sonuçları görünmekte :

Scanning 127.0.0.1 (localhost), range : 1 -135

[110] Service found at: 110

[110] Could be: pop3

[110] Read:

[135] Service found at: 135

[135] Could be: epmap

[135] No data to read.

Burada kendi makinemde 1 ile 135’inci portlar arasında yaptığım port taraması sonuçları görülmekte.Görüldüğü gibi makinemde 110 ve 135’inci portlar açık durumda bu portların işlevleri ise sırasıyla “pop3” ve “epmap” olarak adlandırılmış.Başka birisi bende port taraması yapıp bu sonuçları aldığında makinemde muhtemel olarak Windows yüklü olduğunu kolayca anlayabilir.Bu örnekteki port tarama işlemi basit olarak şöyle bir senaryoyla anlatılabilir: Belli bir IP adresinin her portuna bağlantı isteği gönderilir.Eğer bağlantı gerçekleşirse port açık, gerçekleşmezse port kapalıdır diyebiliriz.

1.b.a Stealth SYN scan

Port Tarama işleminden bahsettik fakat bu işlemin alt seviyede nasıl yapıldığından sözetmedik.Bu sistem, karşı tarafın istenilen port aralığına bağlanma istekleri göndererek çalışır.Şimdi eski bilgilerimizi tekrar hatırlarsak TCP/IP protokolünde bir TCP bağlantısının gerçekleşmesi için 3 yollu el sıkışma olduğunu biliyoruz.Bu el sıkışmada bağlantı isteyen makine server’a bir SYN paketi gönderir.Bağlantı uygunsa server’da bu makineye bir SYN+ACK paketi yollar.Son olarak ta makine server’a bir ACK paketi yollar ve bağlantı kurulurdu.Stealth SYN Scan tipinde port tarama işlemlerinde son ACK paketi dikkate alınmaz, yani server ‘dan SYN+ACK paketi alındığında, o portun açık olduğu varsayılır ve bu şekilde tarama işlemi hızlandırılır.Bu saldırı yönteminden korunmak neredeyse imkansızdır.Fakat bazı paket filtreleme donanım yada yazılımları sayesinde gelen paketler incelenir ve SYN paketleri hep aynı IP adresinden geliyorsa bloke edilir.Aşağıda nmap adlı bir port scanner programının lokal ağda yaptığı bir taramanın sonuçları yer alıyor:

C:\kexji\nmap-3.75-win32>nmap -v -sS 10.0.0.21

Starting nmap 3.75 ( http://www.insecure.org/nmap ) at 2005-01-02 22:18 GTB Standard Time

Initiating SYN Stealth Scan against T1000 (10.0.0.21) [1663 ports] at 22:18

Discovered open port 3389/tcp on 10.0.0.21

Discovered open port 139/tcp on 10.0.0.21

Discovered open port 445/tcp on 10.0.0.21

Discovered open port 1025/tcp on 10.0.0.21

Discovered open port 135/tcp on 10.0.0.21

The SYN Stealth Scan took 1.47s to scan 1663 total ports.

Host T1000 (10.0.0.21) appears to be up ... good.

Interesting ports on T1000 (10.0.0.21):

(The 1658 ports scanned but not shown below are in state: closed)

PORT STATE SERVICE

135/tcp open msrpc

139/tcp open netbios-ssn

445/tcp open microsoft-ds

1025/tcp open NFS-or-IIS

3389/tcp open ms-term-serv

MAC Address: 00:50:FC:A0:26:AB (Edimax Technology CO.)

Nmap run completed -- 1 IP address (1 host up) scanned in 1.969 seconds

Görüldüğü gibi SYN Scanning lokal ağda 1.5 saniye gibi kısa bir sürede 1600 port taradık.Aynı işlemi normal adi port scanner’la yaptığımızda sonuçları elde etmemiz 3 dakika sürdü.Dikkat edilirse port tarama işlemi bittikten sonra bir de açık portların görevleri gösterildi.Bu sayede karşı tarafta hangi işletim sisteminin yüklü olduğunu tahmin edebiliriz.
Sayfa başına dön Aşağa gitmek
 
Temel Saldırı Teknikleri
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
 :: Linux Server Yönetim-
Buraya geçin: