SYN etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
SYN etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

29 Aralık 2013 Pazar

Notlar: Üçlü El Sıkışma - Tree Way Handshak

Üçlü El Sıkışma - Three Way Handshake

Ağ üzerinde iki bilgisayar arasında TCP bağlantısının sağlanmasında ilk aşamaya Üçlü El Sıkışma (Tree Way Handshake) denilmektedir. Şimdi bu bağlantının sağlanmasını genel hatları ile anlatalım:
  1. Bağlantıyı başlatacak İstemci bilgisayar TCP segmenti başlığı içerisinde SYN (Synchronize) bitini “1″ set eder. Paketleri kontrol etmek amacıyla bir sıra numarası üretilir. Bu sıra numarasına SEQ.Num. (Sequence Number) denilmektedir. Örneğimizde ilk sıra numarası 3517‘dir. Bu ilk sıra numarası işletim sistemlerine göre farklılık gösterir.
  2. İstemciden gönderilen paketi alan Sunucu bağlantı isteğini onaylamak için TCP segmenti başlığı içerisinde SYN+ACK (Acknowledgement) bitlerini “1″ set eder. Sunucu aldığı paketteki sıra numarasını bir artırır 3517+1=3518 bu numara İstemci bilgisayarın bir sonraki göndereceği paket numarasıdır. Bu numara değeri ACK.Num. (Acknowledgment Number) alanına yazar. Sunucu da kendi paketlerini kontrol amaçlı bir sıra numarası üretir. Örneğimizde Sunucunun ürettiği ilk sıra numarası da 7349‘dur. Bu sıra numarasını SEQ.Num. alanına yazar ve paketi tekrar İstemciye yollar.
  3. Bağlantı sağlamanın son aşaması olarak İstemci bilgisayarından Sunucu bilgisayarına bir paket daha iletilir. Bu pakette TCP segmenti başlığı içerisinde ACK biti “1″ set edilir. ACK.Num. alanına Sunucu bilgisayarın gönderdiği ACK.Num. değeri 7349 bir artırılarak 7349+1=7350 yazılır. SEQ.Num. değeri İstemci bilgisayarın sıradaki paket numarasıdır. Yani İstemci bilgisayarının ilk gönderdiği sıra numarası Sunucu bilgisayarı tarafından bir artırılmış ve İstemci‘ye yeniden  gönderilmiş olan 3518 numarası yazılır ve paket Sunucu bilgisayarına gönderilir.


Toplamda 3 paket ile TCP bağlantısı sağlanmış olur.

Bağlantı sağlandıktan sonra artık paketler tek tek gönderilmez. Bundan sonraki paketler örneğin iletilecek dosyanın büyüklüğü, ağ hızı vb. etkenler göz önünde bulundurularak işletim sistemine göre belirli bir algoritma ile iletişim devam eder.

Üçlü el sıkışma ile ilgili özet bir gösterim şu şekildedir:




Üçlü el sıkışmayı daha iyi anlamak için TCP başlığını incelemek gerekebilir. TCP başlığı ise şu şekildedir:



Örnek - 1:
Daha açıklayıcı olması için bu 3 adımı Wireshark ile gösterelim. Yukarıdaki anlatımdan tek farkı SEQ.Num. ve ACK.Num. değerleridir.

1. Adım:



2.Adım:


3.Adım:



NOT: Önemli bir hatırlatma yapmakta fayda vardır. Wireshark programı paketlerin kolay incelenmesini sağlamak amacı ile SEQ.Num. değerini varsayılan ayarlarında sıfır “0″ olarak başlatır. Bu ayarı devre dışı bırakıp SEQ.Num. değerinin orjinal numarasını görmek için ayarlama yapmak gerekir. Bu ayar için Wireshark > Edit > Preferences… > Protokols > TCP seçilir ve sağ pencereden Relative sequence numbers: kutusunda bulunan işaret kaldırılır.

Örnek -2:
Bir başka örnek olarak da aşağıdaki iletişim kullanılabilir:

"yahoo.com" adresine gidilirken elde edilen bu paketteki 10 adım şu şekilde özetlenebilir:
1. Paket: Varsayılan ağ geçidinin IP adresi (10.0.0.138) aranır. Bu amaçla ARP yayını (broadcast) gerçekleştirilir.
2. Paket: Yayına, ağ geçidinin MAC adresi ile cevap (ARP unicast) verilir. Aynı ağda MAC adresleri ile iletişim kurulduğundan MAC yollanmıştır. MAC'in bilgisayarın ARP tablosunda olmadığı varsayılmıştır.
3. Paket: Hedef adresin DNS A kaydı sorgulanır. IPv4 adresi öğrenilmek istenmiştir.
4. Paket: Hedef adresin DNS AAAA kaydı sorgulanır. IPv6 adresi öğrenilmek istenmiştir.
5. Paket: Hedef adresin DNS A kaydı cevabı verilir.
6. Paket: Hedef adresin DNS AAAA kaydı cevabı verilir.
7. Paket: Hedef IP adresinin 80. portuna SYN gönderilir.
8. Paket: Hedef IP adresinin 80. portundan SYN ve ACK paketleri alınır.
9. Paket: Hedef IP adresinin 80. portuna ACK gönderilir.
10. Paket: İlk HTTP GET talebi gönderilir.

Kaynak:
http://siberblog.org/index.php/three-way-handshake-uclu-el-sikisma/

18 Aralık 2013 Çarşamba

Temel Nmap Komutları

Temel Nmap Komutları


Nmap ile ağ taraması gerçekleştirirken dikkat edilmesi gereken önemli bir noktada taramanın gizliliğinin sağlanmak ve IDS vb. tarafından tespiti güçleştirmektir. Bunu nedenle görünmez olarak tarama gerçekleştirmek için aşağıdaki seçeneklerden faydalanılabilir:

-T<0-5>: Tarama hızı (Daha yüksek daha hızlı)
--max-hostgroup <size>: Eş zamanlı taranacak grup boyutu. Aynı anda kaç bilgisayarın taranacağını belirtir.
--max-parallelism <numprobes>: Eş zamanlı sondalar. Aynı anda bir bilgisayara gönderilecek paket sayısıdır.
--max-retries <tries>: Sondaların yeniden gönderimi için deneme sayısı
--host-timeout <time>: Hedeften vazgeçme süresi
--scan-delay <time>: Sondalar arası gecikme (saniye). Gönderilen her bir paket arasında geçen süredir.
--max-rate <number>: Saniyede gönderilecek en fazla paket sayısı

Örnek bir tarama şablonu;
# nmap -sS -p 80,21-25,443 -T2 -n -Pn --open 192.168.2.0/24
gizlenmek üzere düzenlendiğinde
# nmap -sS -p 80 --open -n -Pn --max-hostgroup 1 --max-retries 0 --max-parallelism 10 --max-rate 2 --scan-delay 2 10.0.0.0/24
şeklinde bir kullanım gerçekleştirilebilir.

Decoy Scanning (-D): Tarama yapan kaynak IP adreslerinin arasında istenilen sahte IP adresleri gösterilebilir.
# nmap -sS -D microsoft.com,google.com hedef.com

Fragmentation (-f): Paketler parçalanarak gönderilir.  --mtu <value> parametresi belirtilerek 8'in katı olacak şekilde paket boyutu ayarlanabilir.
# nmap -sS -f hedef.com

Veri Uzunluğu (--data-length): Nmap'in ürettiği veri paketlerin boyutuna göre güvenlik cihazları tarafından düşürülme ihtimaline binaen verinin uzunluğu değiştirilebilir. Bu teknik ile ekstra olarak pakete padding eklenerek sıradan tarama paketlerinden farklı görünmesi sağlanabilir.
# nmap -sS --data-length=1333 hedef.com

Bahsedilen özelliklerin hepsini içeren bir tarama yapılandırması şu şekilde olabilir:
# nmap -D microsoft.com,google.com -sS -sV -T1 -f --mtu=24 --data-length=1333 hedef.com

Karışık örnekler
# nmap -p "*" -iL /tmp/IPListesi --exclude 192.168.168.34
# nmap -p U:53,111,137,T:21-25,80,139,8080 192.168.1.1
# nmap -T4 --open -sS -Pn -n --top-ports 100 192.168.254.0/24 -oG nmap_result

En çok kullanılan Nmap parametreleri
  • -sS: TCP SYN taraması
  • -T1: Çok yavaş tarama gerçekleştirilsin. T0, T1 ve T2 hızlarında paralel tarama gerçekleştirilemez.
  • -sT: TCP taraması
  • -oG: Grep ile filtrelenebilir özel formatta çıktı oluşturulur. Daha sonra da oluşan çıktı aşağıdaki gibi sorgulanabilir. Ayrıntılı bilgi için bakınız.
cat nmap_result | grep "22/open/tcp\|23/open/tcp\|80\open\tcp\|443/open/tcp" | cut -d " " -f2 | sort | uniq


Not: netcat aracı ile TCP taraması aşağıdaki gibi gerçekleştirilebilir:
nc -nvv -w 1 -z 192.168.200.5 3500-3900
  • -p : Tarama gerçekleştirilecek portlar
  • --open: Sadece açık portları gösterilsin
  • -n: DNS ismi çözme gerçekleştirilmesin
  • -Pn: Bütün hedeflerin ayakta olduğu varsayılsın
  • -F veya --top-ports 100: En çok kullanılan 100 port taransın
  • --exclude: Dahil edilmeyecek IP'ler
  • --excludefile: Dahil edilmeyecek IP listesi
  • -A: Ayrıntılı tarama (İşletim sistemi/versiyon tespiti)
  • -O: İşletim sistemi (OS) tespiti
  • -sV: Servis/versiyon tespiti
  • -sL: Taranacak IP listesinin dökümü
  • -sn: Ping taraması
  • -F: Hızlı tarama
  • -6: IPv6 tarama
  • --reason: Port durumunun (open, filtered, closed,... ) sebebi
  • --packet-trace: Gelen ve giden paketlerin listesi
  • --osscan-guess: Agresif olarak işletim sistemi tespiti ("-O" ile kullanılabilir)
  • -PS: TCP SYN taraması
  • -PA: TCP ACK taraması
  • -f: Küçük paketlerle IDS/FW atlatma

En çok kullanılan portlar - servisler
  • 21 - FTP - File Transfer Protokol
  • 22 - SSH - Secure Shell
  • 23 - Telnet 
  • 25 - SMTP - Simple Mail Transfer Protokol
  • 53 (UDP) - DNS - Domain Name Server 
  • 79 - Finger
  • 80 - HTTP - Hyper-Text Transfer Protokol
  • 88 - Kerberos
  • 110 - POP3 - Post Office Protokol 3
  • 123 (UDP) - NTP - Network Time Protocol
  • 135 - Microsoft RPC Endpoint Mapper
  • 137 - NetBIOS Name Services
  • 139 - NBNS - NetBIOS Session Service, WINS
  • 143 - IMAP - Internet Message Access Protocol
  • 161 (UDP) - SNMP - Simple Network Management Protokol
  • 389 - LDAP - Lightweight Directory Access Protocol
  • 443 - HTTPS - Secure HTTP
  • 445 - SMB, Microsoft-DS - Server Message Block
  • 513 (TCP) - Rlogin
  • 514 - RSH - Remote Shell, rsh, remsh
  • 514 (UDP) - Syslog
  • 902 - VMware
  • 1433 - MSSQL 
  • 1521 - Oracle Listener
  • 2049 - NFS - Network File System
  • 3306 - MySQL
  • 3389 - RDP - Remote Desktop Protokol
  • 5900 - VNC - Virtual Network Computing
  • 8080, 8081 - Proxy, Uygulama Sunucu

Versiyon taraması (-sV) ile elde edilebilecek bilgiler
  • Uygulama protokolü (Örnek: FTP, SSH, Telnet, ...)
  • Uygulama adı (Örnek: ISC BIND, Apache httpd, ...)
  • Versiyon numarası
  • Sunucu adı
  • Cihaz türü (yazıcı, yönlendirici, ...)
  • İşletim sistemi ailesi (Windows, Linux, ...)

Tavsiye Edilen TCP Taraması:
nmap -Pn -n -sS -T4 --open --min-hostgroup 64 --min-parallelism 64 --host-timeout=300m --max-rtt-timeout=600ms --initial-rtt-timeout=300ms --min-rtt-timeout=300ms --max-retries=2 --min-rate=150 -p T:1,7,9,13,21-23,25,37,42,49,53,69,79-81,105,109-111,113,123,135,137-139,143,161,179,222,264,384,389,407,443,445,465,500,512-515,523,540,548,554,587,617,623,689,705,783,902,910,912,921,993,995,1000,1024,1099-1100,1158,1220,1300,1311,1352,1433-1435,1494,1521,1530,1533,1581-1582,1604,1720,1723,1755,1900,2000,2049,2100,2103,2121,2207,2222,2323,2380,2525,2533,2598,2638,2947,2967,3000,3050,3057,3128,3306,3389,3500,3628,3632,3690,3780,3790,4000,4445,4659,4848,5038,5051,5060-5061,5093,5168,5250,5351,5353,5355,5400,5405,5432-5433,5554-5555,5560,5631-5632,5800,5900-5910,6000,6050,6060,6070,6080,6101,6106,6112,6379,6405,6502-6504,6660,6667,6905,7080,7144,7210,7510,7579-7580,7777,7787,8000,8008,8014,8028,8030,8080-8081,8090,8180,8222,8300,8333,8400,8443-8444,8503,8800,8812,8880,8888,8899,9080-9081,9090,9111,9152,9495,9999-10001,10050,10202-10203,10443,10616,10628,11000,11234,12174,12203,12397,12401,13364,13500,14330,16102,17185,18881,19300,19810,20031,20034,20222,22222,23472,25000,25025,26000,26122,27888,28222,30000,34443,38080,38292,41025,41523-41524,44334,46823,48899,50000-50004,50013,57772,62078,62514,65535 -iL /root/Desktop/Kurum/IPListesi.txt

Tavsiye Edilen UDP Taraması:
nmap -Pn -n -sU -T4 --open --min-hostgroup 64 --min-parallelism 64 --host-timeout=300m --max-rtt-timeout=600ms --initial-rtt-timeout=300ms --min-rtt-timeout=300ms --max-retries=2 --min-rate=150 -p U:13,53,69,123,111,161,1433,2049,6000 -iL /root/Desktop/Kurum/IPListesi.txt

Ayrıntılı bilgi için:
http://www.bga.com.tr/calismalar/nmap_guide.pdf
http://www.cyberciti.biz/networking/nmap-command-examples-tutorials/
http://en.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers
http://pentestlab.wordpress.com/2012/08/17/nmap-cheat-sheet/
http://ekaragol.blogspot.com.tr/2014/01/ornek-nmap-sorgusu.html

Videolu temel bilgilendirme için:
http://www.hackings.org/2012/06/backtrack-5-nmap-kullanm.html

Kaynak:
http://www.agguvenligi.net/2013/06/putty-ile-parolasiz-ssh.html

6 Ekim 2012 Cumartesi