[LinuxFocus-icon]
Ev  |  Eri�imd�zeni  |  ��indekiler  |  Arama

Duyumlar | Belgelikler | Ba�lant�lar | LF Nedir
Bu makalenin farkl� dillerde bulundu�u adresler: English  Castellano  Deutsch  Francais  Nederlands  Portugues  Russian  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

[Foto del Autor]
taraf�ndan Danilo Lujambio


��erik:

 

Nmap ile �grenme

[nmap]

�eviri : Erdal MUTLU

�zet:



A� g�venli�i i�in taray�c�lar�n �nemi neden bu kadar fazlad�r? Bunun nedeni, sisteme sald�racak ki�ilerin vazge�ilmez ara�lar� olduklar�ndand�r. Bir sald�rgan�n sisteme sald�rmadan �nce yapt��� haz�rl�klar a�a��daki gibidir :



Sistem g�venligine �nem veren sistem y�neticilerin, niyetleri iyi olmayanlarin sistem a�iklarini kesfetmeden �nce kendi sistemlerinde a�ik olup olmadigini s�rekli denetlemeleri �ok �nemlidir.

Bu is i�in yazilmis bir�ok tarayici vardir. Ancak bu makalede nmap adli tarayicidan s�z edecegiz. Nmap g�venlik ara�lari ve tarayicilari arasinda en yeterli olanidir.

Nmap sayesinde sistem y�neticileri ag �zerinde tarama yaparak, hangi sunucularin hangi hizmetleri sunduklarini �grenebilmektedirler. Bunun i�in nmap bir�ok teknik kullanmaktadir. Bu makalede bunlardan sinirli sayidakiler �zerinde �alisma yapacagiz. Bu arada TCP protokol�n�n bazi konularini g�zden ge�irecegiz veya �gretecegiz.

Bu makalenin stratejisi, sistemler hakkinda bilgi toplamak ve bunun paralelinde hedef sistem �zerinde tarama yapilacak yollari bulmak i�in, nmap programinin en �ok kullanilan seklini g�stermek olacaktir.

Nmap programini www.insecure.org adresinden edinmek m�mk�nd�r. Programi elde ettikten sonra asagidaki komutlari �alistirin:

tar zxvf nmap-2.30BETA17.tgz
cd ...../nmap-2.30BETA17/
./configure
make
make install
ve b�ylece progarmi y�klemis olacaksiniz.

Nmap programinin �iktilari genellikle hedef bilgisayardaki "ilgin�" (a�ik) olan portlarin bir listesi olmaktadir. Sunulan hizmetin adi, durumu ve hangi protokol oldugu bu portlardan �grenmek m�mk�nd�r.

 

TCP ile tarama yapmak, TCP'nin ��l� elsikisma (-sT se�enegi)

Nmap ile tarama yapmanin en basit yolu -sT se�enegi ile olmaktadir. Bu y�ntem TCP protokol�ndeki baglanti kurma y�ntemine dayandirilmaktadir ve buna ��l� elsikisma adi verilmektedir. [1] nin adimlari kabaca asagidaki gibidir :

  1. Sunucu baglanti kabul etmek i�in hazir olmak zorundadir (genellikle socket, bind ve listen fonksiyonlari yardimiyla).
  2. Istemci connect() fonksiyonu yardimiyla aktif baglanti kurmaya baslamaktadir. Bu, istemcinin g�nderecegi verilerin baslangi� sira numarasini haberdar etmek i�in sunucuya SYN paketi g�ndermektedir. SYN genellikle IP basligi - TCP basligi ve belki de bazi TCP se�enekleri i�ermektedir.
  3. Sunucu aldigi SYN'ye karsilik SYN'in ve sira numarasinin da i�erildigi (ayni TCP paketinde) bir ACK onaylama paketini istemciye g�ndermelidir.
  4. Istemci sunucudan aldigi SYN'yi ACK ile onaylamalidir.


Bu sekilde tarama yapmanin iki avantaji vardir:

ancak �ok b�y�k bir dezavantaji vardir. Taramayi tespit etmek �ok basit bir islemdir ve kolayca s�zge�ten ge�irilerek �nlenebilir.

Nmap programinin -sT se�eneginin neler yaptigini hedef bilgisayarda tcpdump komutu yardimiyla g�recegiz. Nmap 192.168.255.20 IP numarali bilgisayardan, house2.xxx.xxx.xxx bilgisayarina y�neltilmis olarak Ethernet ag �zerinden �alistirilmaktadir.

1) 08:24:18.393108 192.168.255.20.1024 house2.xxx.xxx.xxx.653: S 2632227152:2632227152(0) win 16060 < mss 1460,sackOK,timestamp 232602[|tcp] (DF)
2) 08:24:18.393167 house2.xxx.xxx.xxx.653 192.168.255.20.1024: R 0:0(0) ack 2632227153 win 0
3) 08:24:18.393227 192.168.255.20.1025 house2.xxx.xxx.xxx.6141: S 2644226118:2644226118(0) win 16060 < mss 1460,sackOK,timestamp 232602[|tcp] (DF)
4) 08:24:18.393258 house2.xxx.xxx.xxx.6141 192.168.255.20.1025: R 0:0(0) ack 2644226119 win 0
5) 08:24:18.453343 192.168.255.20.1298 house2.xxx.xxx.xxx.pop3: S 2640612362:2640612362(0) win 16060 < mss 1460,sackOK,timestamp 232608[|tcp] (DF)
6) 08:24:18.453542 house2.xxx.xxx.xxx.pop3 192.168.255.20.1298: S 1658259980:1658259980(0) ack 2640612363 win 16060 < mss 1460,sackOK,timestamp 243353[|tcp] (DF)
7) 08:24:18.458667 192.168.255.20.1298 house2.xxx.xxx.xxx.pop3:. ack 1 win16060<nop,nop,timestamp 232609 243353 (DF)
8) 08:24:18.461280 192.168.255.20.1298 house2.xxx.xxx.xxx.pop3: F 1:1(0) ack 1 win 16060 < nop,nop,timestamp 232609 243353 (DF)

Satir numaralari anlatimi basitlestirmek amaciyla eklenmistir. 1. satir saldirinin geldigi 192.168.255.20 IP numarali bilgisayarin SYN paketini 1024 nolu porttan house2.xxx.xxx.xxx adli bilgisayarin 653 nolu portuna g�nderdigini g�rmekteyiz. Bunun SYN oldugunu port numarasindan (653) sonra gelen S harfinden anlamaktayiz. Bu ��l� elsikisma y�ntemindeki 2. adimi g�stermektedir.
2. satirda hedef bilgisayar 653 portunda herhangi bir s�recin (proccess) olmadigini belirten RESET (1024 port numarasindan sonra gelen R harfine dikkat ediniz) paketini g�ndermektedir. 3. ve 4. satirlar 1. ve 2. satirlarin benzeridir. Tek fark 653 portu yerine 6141 nolu porta baglanilmak istenilmesidir.
5. satir 192.168.255.20 bilgisayarinin hedef bilgisayarinin POP3 (110) portuna nasil SYN paketi g�nderdigini ve hedef bilgisayarin buna karsilik almis oldugu sira numarasini (2640612362) ACK paketi ile birlikte 1 arttirarak (yani 2640612363 yaparak) ve 1658259980 sira numarasi ile birlikte geri g�nderdigini g�rmekteyiz. house2 bilgisayarin g�ndermis oldugu paketlerdeki SYN ve ACK bitlerin aktif olduklarina dikkat ediniz. Bu 6. satirda ve yukarida belirtigimiz ��l� elsikisma y�nteminin 3. adiminda g�r�lmektedir.
7. satirda 192.168.255.20 bilgisayarinin en son paketi aldiginin isareti olan ACK paketini g�ndererek g�rmekteyiz. Bu da ��l� elsikisma y�nteminin 4. adimini olusturmaktadir.
8. satir ise, baglantinin sona erdirildiginin isaretidir. 192.168.255.20 IP'li bilgisayar FIN g�ndererek baglantiyi sona erdirmektedir (pop3 den sonraki F'ye dikkat ediniz).

Bu sekilde nmap programinin hedef bilgisayarinin 110 (pop3) nolu portunun a�ik oldugunu nasil yakaladigini g�rmekteyiz.

Yukarida da belirtildigi gibi bu sekilde yapilan tarama y�ntemini /var/log/messages dosyasina 5-8. satirlarindakine karsilik yazmis oldugu (bu tabii syslog.conf'taki ayarlara baglidir) asagidaki satirlardan anlasilmaktadir:

May 6 08:24:01 house2 in.pop3d[205]: connect
from [email protected]


 

SYN kullanilarak tarama yapmak (yari a�ik, -sS se�enegi)

Bu tarama sekli nmap programini -sS se�enegi ile �alistirildiginda olmaktadir. Kullanilan teknik, "yari baglanti" (: biz bir SYN g�nderiyoruz ve eger ACK alirsak, hedef bilgisayarin bu portunun aktif oldugunu tespit etmekteyiz. Sonunda RESET g�ndererek baglantiyi kapatmaktayiz.) a�maktan ge�mektedir. Eger, ACK yerine RST (RESET) alirsak, hedef bilgisayarin bu portunun kapali oldugu sonucuna varabiliriz. Bu tarama y�nteminin dezavantaji root haklarina sahip olmayi gerektirmesidir. Ancak, karsi tarafin sizi farketmesi zorlasmaktadir.

Nmap programin yaptiklarini yukaridakine benzer bir analiz ile inceleyelim.Yine tcpdump programindan yararlanacagiz ve satirlari anlatim kolayligi a�isindan numaralandiracagiz.

1) 22:25:45.856936 192.168.255.20.40175 house2.tau.org.ar.946: S 1292785825:1292785825(0) win 3072
2) 22:25:45.857078 house2.tau.org.ar.946 192.168.255.20.40175: R 0:0(0) ack 1292785826 win 0


1. ve 2. satirlari bir �nceki b�l�mde yer alan 1. ve 2. satirlarina benzemektedir. Tek fark, SYN paketi 192.168.255.20 bilgisayari tarafindan bu kez hedef bilgisayarin (house2) 946 nolu portuna g�nderilmis olmasidir. Buna karsilik house2 bilgisayari bu portun kapali oldugunu belirten RST paketini g�ndermistir.

3) 22:25:45.970365 192.168.255.20.40175 house2.tau.org.ar.pop3: S 1292785825:1292785825(0) win 3072
4) 22:25:45.976022 house2.tau.org.ar.pop3 192.168.255.20.40175: S 185944428:185944428(0) ack 1292785826 win 16080 < mss 536 (DF)
5) 22:25:45.979578 192.168.255.20.40175 house2.tau.org.ar.pop3: R 1292785826:1292785826(0) win 0

3., 4. ve 5. satirlar house2 bilgisayarinin 110 (pop3) nolu portunun a�ik oldugunun kesfedildiginin isaretleridir. ��l� elsikisma y�nteminde de z�zedildigi gibi, bu baglanti tamamlanmis bir baglanti degildir. SYN paketine karsilik ACK paketini house2'den aldigi anda (4. satir) nmap programi, RESET paketini geri g�ndermektedir. B�ylece baglantiyi yarida kesmektedir.

house2 bilgisayari �zerinde yapilan bu tarama, /var/log/messages dosyasina daha �nce de belirtildigi gibi yansimamistir.

 

FIN kullanilarak tarama yapmak

Bu tarama y�ntemi, hedef bilgisayarlarin kapali olan portlara FIN paketi g�nderildiginde RST ile cevap verme ger�egine dayandirilmaktadir. B�ylece, a�ik olan portlarin listesini, cevap almadigimiz portlardan olusturabiliriz. Microsoft y�kl� bilgisayarsayarlarinda bu y�ntem ge�erli olmamaktadir. ��nk�, Microsoft TCP protokolun� standartlara uygun olarak uygulamamistir.

-sF, -sX ve -sN olmak �zere nmap'in kullandigi �� benzer y�ntem vardir. Biz burada -sF se�enegini inceleyecegiz.

1) 06:50:45.643718 192.168.255.20.35600 casahouse.tau.org.ar.864: F 0:0(0) win 2048
2) 06:50:45.643865 house2.tau.org.ar.864 192.168.255.20.35600: R 0:0(0) ack 0 win 0

1. ve 2. satirlarda FIN paketinin hedef bilgisayardaki hareketleri g�r�lmektedir. FIN 1. satirda (864 port numarasindan sonraki F dikkat ediniz) paketine karsilik 2. satirda hedef bilgisayar RST (2. satirdaki 35600 den sonraki R harfine dikkat ediniz.) paketini g�ndermistir. B�ylece nmap programi hedef bilgisayardaki 864 portunun kapali oldugunu anlamaktadir.

3) 06:50:47.933227 192.168.255.20.35600 > house2.tau.org.ar.pop3: F 0:0(0) win 2048
4) 06:50:48.251147 192.168.255.20.35601 > house2.tau.org.ar.pop3: F 0:0(0) win 2048

3. ve 4. satirlar house2 bilgisayarindaki pop3 portunu �rnek olarak g�stermektedir. 3. satirda hedef bilgisayara FIN g�nderilmis, ancak cevap alinamamistir. 4. satir ise, bir s�rpriz, nmap programi porttan cevap alamayinca bir FIN paketi daha g�ndermistir, ancak sonu� olarak buna da cevap alamayacaktir. Bunun nedeni ise pop3 portunun a�ik olmasidir.

 

Tcpdump programinin faydali �zelligi

"��l� elsikisma tarama y�ntemi" b�l�m�nde tarama yapildiginda arkasinda iz biraktigini, yani sistem loglarinda kayit tutuldugunu g�rd�k. Daha sonra ise, -sS ve -sF se�enekleri kullanilmasiyla geride hi�bir iz kalmadigini da g�rd�k. Bu sekilde yapilan saldirilari g�zleyebilmek i�in tcpdump programindan yararlanabiliriz. Ancak, tcpdump programinin b�y�k bir dezavantaji, �ok sayida veri �retmesidir ve bunun i�in �ok fazla yere ihtiya� vardir. Ayrica, bu verileri incelemek de olduk�a zor ve zaman alici bir islemdir. Burada, olusan verileri aza indirmek ve incelemeyi kolaylastirici hale getirmek i�in, filtre �zelligi tasiyan bazi ifadeler kullanilmistir.

Ifadelerin kolayca anlasilmasini saglamak i�in TCP'nin [2] paket yapisi g�sterilmistir.

 

TCP (RFC 793)

0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|          Source Port          |        Destination Port       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                         Sequence Number                       |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                      Acknowledgement Number                   |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Offset |  Reserver |U|A|P|R|S|F|             Window            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|           Checksum            |         Urgent Pointer        |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                  Options                      |    Padding    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                              Data                             |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Sekilden de g�r�ld�g� gibi, 13. byte SYN, FIN vs. parametrelerin bulundugu yeri g�stermektedir. Bu bilgiden hareketle ve ve (&) operat�r� ile, bu parametreleri yakalayacak ifadeler i�in maskeler olusturabiliriz. Buna g�re

tcpdump ' tcp[13] & 7 != 0 and dst 192.168.255.20 ' > /tmp/out7

ifadesi, aktif olan R,S ve F bitlerin (00000111 maskesi yardimiyla) yer aldigi 192.168.255.20 (tabi bu IP tespit edildikten sonra) bilgisayarindan gelen paketleri yakalamamizi saglamaktadir.



tcpdump ' tcp[13] & 1 != 0 and dst 192.168.255.20 ' > /tmp/out1

kullanilarak, nmap programinin -sF se�enegi ile �alistirilmasi halinde, aktif olan FIN bitlerinin (00000001 maskesi yardimiyla) yer aldigi paketleri yakalayabiliriz.

tcpdump ' tcp[13] & 2 != 0 and dst 192.168.255.20 ' > /tmp/out2

ifadesi yardimiyla da, nmap programini -sS se�enegi ile kullanilmasi durumunda aktif olan SYN bitlerinin yer aldigi paketleri yakalayabiliriz.

En son anlatilan (-sS se�enegi) grubu tarama y�ntemi i�in, [3]'de kullanilabilecek �esitli programlar verilmistir.

 

Sonu�

Nmap gibi programlar sistem g�venligini saglamada �ok faydali rol oynamaktadir. Bunlar sayesinde sisteme saldiracak kisilerin g�z�yle ag �zerinde inceleme yapilabilmektedir. Nmap programinin kullandigi se�eneklerden �ok az bir kismi �zerinde durduk. Ancak umariz ki bu bilgi ag �zerinde tarama yapma konusunda sizlere yardimci olmustur.

 

Referanslar

[1] W. Richard Stevens Unix Network Programming Volume 1
[2] RFC 793
[3] nmap programiyla birlikte gelen belgelere bakiniz.

 

Bu yaz� i�in g�r�� bildiriminde bulunabilirsiniz

Her yaz� kendi g�r�� bildirim sayfas�na sahiptir. Bu sayfaya yorumlar�n�z� yazabilir ve di�er okuyucular�n yorumlar�na bakabilirsiniz.
 talkback page 

G�rsely�re sayfalar�n�n bak�m�, LinuxFocus Edit�rleri taraf�ndan yap�lmaktad�r
© Danilo Lujambio, FDL
LinuxFocus.org

Buray� klikleyerek hatalar� rapor edebilir ya da yorumlar�n�z� LinuxFocus'a g�nderebilirsiniz
�eviri bilgisi:
es -> -- Danilo Lujambio
es -> en Iván Rojas Aguilar
es -> en Javier Palacios
en -> en Lorne Bailey
en -> tr Erdal MUTLU

2001-07-23, generated by lfparser version 2.17