Sizma testlerindeki ilk adim erisilebilir olan sunucu sistemlerin tespit edilmesidir. Bunun icin gerceklestirilebilecek olan farkli yontemler bulunmaktadir. En cok kullanilan yontemlerden bir taneside hedef sistemlere ping komutu yardimi ile icmp-echo request paketleri gonderip, hedef sistem gelecek cevaba gore hedef sistemin erisilebilir olup olmadiginin belirlenmesi adimidir. Bunun icin ister linux/unix veya microsoft tabanli isletim sistemlerinde bulunan ping komutu yardimi ile bu adim gerceklestirilebilir ya da istege gore gelistirilecek yazilim yardimi ilede bu adim gerceklestirilebilir.
# ping -c 1 www.google.com
PING www.google.com (173.194.70.105): 56 data bytes
64 bytes from 173.194.70.105: icmp_seq=0 ttl=48 time=786.049 ms
--- www.google.com ping statistics ---
1 packets transmitted, 1 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 786.049/786.049/786.049/0.000 ms
ping komutu ile www.google.com hedefine gonderilen icmp paketlerine iliskin tcpdump ciktisi ise asagidaki gibi olmaktadir. Goruldugu gibi echo request paketi gonderiliyor ve karsiliginda ise echo reply paketi alinarak hedef sistemin erisilebilirligi kontrol edilmis oluyor. ping istegine dair ayrinti asagida goruldugu gibi olmaktadir.
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Type = 8 | Code = 0 | Header Checksum | |||||||||||||||||||||||||||||
| Identifier | Sequence Number | ||||||||||||||||||||||||||||||
| Time Stamp | Data | ||||||||||||||||||||||||||||||
| Data | |||||||||||||||||||||||||||||||
Yine ayni sekilde icmp-reply paketine ait ayrinti asagida goruldugu gibi olmaktadir.
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Type = 0 | Code = 0 | Header Checksum | |||||||||||||||||||||||||||||
| Identifier | Sequence Number | ||||||||||||||||||||||||||||||
| Time Stamp | Data | ||||||||||||||||||||||||||||||
| Data | |||||||||||||||||||||||||||||||
ping paketine dair tcpdump ciktisi ise asagida goruldugu gibi olmaktadir.
00:00:00.000000 IP 192.168.0.10 > 173.194.70.105: ICMP echo request, id 7449, seq 0, length 64
00:00:00.785900 IP 173.194.70.105 > 192.168.0.10: ICMP echo reply, id 7449, seq 0, length 64
Ayni islem nmap yazilimi ilede etkin bir bicimde gerceklestirilebilir. Nmap farkli olarak ay ag icerisinde bulunan sunucularin erisilebilir olup olmadigi bilgisini arp paketleri yardimi ile tespit etmektedir. Bu sekilde hedef sistem icmp-echo requestlerini almasa bile hedef sistemin erisilebilirligini rahatca bu sekilde tespit edebilmektedir.
# nmap -sP -n 192.168.1.170
00:00:00.000000 ARP, Request who-has 192.168.1.170 (ff:ff:ff:ff:ff:ff) tell 192.168.1.108, length 28
00:00:00.000812 ARP, Reply 192.168.4.170 is-at XX:XX:XX:XX:XX:XX, length 46
...
C csinifi bir agda bu islemin multithread olarak bash kabugu ile gerceklestirilebilmesi icin asagidaki bash script kullanilabilir. Ornegin 192.168.37.0/24 aginda bu betigi kullanmak icin asagidaki ornek kullanim incelenebilir.
Betige https://github.com/bgasecurity/araclar/blob/master/find_up_machines.sh adresinden erisim saglanabilir. Betigin calismasi sonucunda cikti dosyasi incelenerek hedef sistemlerin erisilebilirlik durumlari raporlanabilmektedir.
# ./betik.sh 192.168.37.0 30 | tee cikti
Betige https://github.com/bgasecurity/araclar/blob/master/find_up_machines.sh adresinden erisim saglanabilir. Betigin calismasi sonucunda cikti dosyasi incelenerek hedef sistemlerin erisilebilirlik durumlari raporlanabilmektedir.
Burada gosterilen betik tamamen ornek amacli gelistirilmistir. Iyilestirimeler gerceklestirilecek ya da farkli yazilimlar kullanilarak daha hizli ve etkin bir bicimde bu islem gerceklesitirilebilir. Yazida bu islemin bash script ile nasil hizli bir gelistirme ortami icinde yapilabileceginin gosterilmesi amaclanmistir.