SynCookie/SynProxy ile korunan sistemlere yönelik port tarama

Synproxy/syncookie(farklı şekilde aynı işi yaparlar), günümüz IPS ve Firewall sistemlerinin Synflood DOS saldırıları için aldığı klasik önlemlerdendir. Synproxy/syncookie ile korunan bir system DOS saldırısı altında iken gelen spoof edilmiş SYN paketlerinden etkilenmez çünki önünde synflood koruması yapan bir system vardır. Syncookie/synproxy için “SynFlood DDOS Saldırıları ve Korunma Yolları” yazısının okunması faydalı olacaktır.

Syncookie /Synproxy’nin Synflood  DOS engelleme haricinde başka faydaları da vardır. Bunlardan biri de TCP üzerinden yapılan port taramalarını zorlaştırmaktır. Eğer saldırgan TCP port tarama yapıyorsa sürpriz bir şekilde tüm portları açık olarak görecektir.
Syncookie/Synproxy gelen her SYN pakjetine karşılık SYN+ACK cevabı döner. Taradığı sistemden SYN+ACK cevabı geldiğini gören tarama program port açık der ve tekrar paket göndermez.
Synproxy/syncookie ile korunan sistemlere karşı port tarama

[email protected]:~# hping –scan 80-100 www.example.com-S -V
using eth0, addr: 192.168.1.103, MTU: 1500
Scanning www.example.com(95.0.11.13), port 80-100
21 ports to scan, use -V to see all the replies
+—-+———–+———+—+—–+—–+
|port| serv name |  flags  |ttl| id  | win |
+—-+———–+———+—+—–+—–+
   80 www        : .S..A…  55 56928     0
   81            : .S..A…  55 57184     0
   82            : .S..A…  55 57440     0
   83            : .S..A…  55 57696     0
   84            : .S..A…  56 57952     0
   85            : .S..A…  56 58208     0
   86            : .S..A…  56 58464     0
   87 link       : .S..A…  56 58720     0
   88 kerberos   : .S..A…  56 58976     0
   89            : .S..A…  56 59232     0
   90            : .S..A…  56 59488     0
   91            : .S..A…  56 59744     0
   92            : .S..A…  55 60000     0
   93            : .S..A…  55 60256     0
   94            : .S..A…  55 60512     0
   95 supdup     : .S..A…  55 60768     0
   96            : .S..A…  55 61024     0
   97            : .S..A…  55 61280     0
   98 linuxconf  : .S..A…  55 61536     0
   99            : .S..A…  55 61792     0
  100            : .S..A…  56 62048     0
All replies received. Done.
Not responding ports: 

 

Aynı çıktıyı nmap ile tarama yaptığımızda da alırız

[email protected]:~# nmap www.example.com-p80-100 –reason

Starting Nmap 5.00 ( http://nmap.org ) at 2010-02-14 12:09 EST
Warning: Hostname www.example.comresolves to 5 IPs. Using 95.0.11.13.
PORT    STATE SERVICE      REASON
80/tcp  open  http         syn-ack
81/tcp  open  hosts2-ns    syn-ack
82/tcp  open  xfer         syn-ack
83/tcp  open  mit-ml-dev   syn-ack
84/tcp  open  ctf          syn-ack
85/tcp  open  mit-ml-dev   syn-ack
86/tcp  open  mfcobol      syn-ack
87/tcp  open  priv-term-l  syn-ack
88/tcp  open  kerberos-sec syn-ack
89/tcp  open  su-mit-tg    syn-ack
90/tcp  open  dnsix        syn-ack
91/tcp  open  mit-dov      syn-ack
92/tcp  open  npp          syn-ack
93/tcp  open  dcp          syn-ack
94/tcp  open  objcall      syn-ack
95/tcp  open  supdup       syn-ack
96/tcp  open  dixie        syn-ack
97/tcp  open  swift-rvf    syn-ack
98/tcp  open  linuxconf    syn-ack
99/tcp  open  metagram     syn-ack
100/tcp open  newacct      syn-ack

Nmap done: 1 IP address (1 host up) scanned in 0.24 seconds

 

Bu şekilde korunmuş sistemlere yönelik başarılı TCP taramaları gerçekleştirmek için 3’lü el sıkışmayı tamamlayan ve sonrasında ek paketler gönderen tarama tiplerini denemek gerekir.

 Mesela nmap ile birlikte gelen versiyon belirleme özelliği burada işimize yarayabilir. Zira versiyon belirleme özelliği sadece SYN paketi gönderip cevap olarak SYN+ACK gelmesiyle tarama işlemini sonuçlandırmaz, portu açık olarak belirledikten sonra(karşı taraftan gelecek SYN+ACK cevabı) o portta çalışan uygulamanın versiyonunu belirlemek için ek paketler gönderir ki bu ek paketler SYNCookie/SynProxy korumasını devre dışı bırakır(Syncookie/synproxy 3’lü el sıkışmayı tamamlayan paketler için devreden çıkar ve paketleri doğrudan koruduğu sistemlere iletir). Her ne kadar tarama süresi oldukça uzasa da açık portları sağlıklı bir şekilde keşfetmek için versiyon belirleme taraması yapmak gerekir.
[email protected]:~# nmap www.example.com-PN -sV –top-ports 10

Starting Nmap 5.00 ( http://nmap.org ) at 2010-02-14 12:52 EST
Interesting ports on 11.22.33.44(11.22.33.44):
PORT     STATE    SERVICE      VERSION
21/tcp   filtered ftp
22/tcp   filtered ssh
23/tcp   filtered telnet
25/tcp   filtered smtp
80/tcp   open     http         Microsoft IIS webserver 7.0
110/tcp  filtered pop3
139/tcp  filtered netbios-ssn
443/tcp  filtered https
445/tcp  filtered microsoft-ds
3389/tcp filtered ms-term-serv
Service Info: OS: Windows

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 10.32 seconds

This entry was posted in Firewalls, IDS/IPS/IDP, Network Tools, Penetration, Security Tools and tagged , . Bookmark the permalink.

7 Responses to SynCookie/SynProxy ile korunan sistemlere yönelik port tarama

  1. deniz says:

    syn cookie devreye girdiği zaman 3-way hand shake yapılması gereken paketler içinde drop veya reject gelmeye başlayacak, dolayısı ile high portlarda açık olan bir servisi atlama ihtimali olabilir. Bu sebeple ben genellikle portlar arası rastgele timeout’lar kullanıyorum. Netsecreen default ayarlarını genellik 1650usec bekleterek aşabiliyorum.

    hping –scan 1-100 ip -S -V -i u1655 gibi genelde syn-cookie den kaçmaya yardımcı oluyor.

    Bir başka yöntem ise gelen SA paketlerindeki window ve TTL değerlerine bakmak oluyor. Korunan sunucu tarafından yollanan paket ile koruyan sistem tarafından yollanan paketlerdeki farklılıklar işe yarıyor.

  2. Huzeyfe says:

    Deniz,

    hping ile Syncookie korumalı bir hosta gonderecen her SYN paketine SYN-ACK geliyor(ve hping tekrar ACK vs gondermiyor). bu durumda kapalı portla açık portu nasıl ayırt ediyorsun?

    Dönen SA paketlerinde görebileceğin değerlerle syncookie tarafindan korunuyor mu bilgisini ogrenmeye calisiyoruz?Diger turlu tum SA paketleri syncookie korumasindan gelecegi icin ayirt etme secenegi kalmiyor gibi?
    Yazdiklarini tamamen yanlis anlamis olabilirim:)

  3. deniz says:

    hping ile taramada timeout kullanman gerekiyor ve syncookie devreye girmesine neden olacak treshold değerinden kaçmaya çalışıyorsun. -i parametresi ile, girerse ayırt edemezsin.

    Syncookie devreye girdikten sonraki SA bilgilerinin farklı olduğu durumlar ile karşılatım, ttl değerini firewall da sonlanacak şekilde ayarladığın zaman farklı değerler çıkıyordu. Yeni sürümlerinde bu işe yaramıyor artık. Ben daha çok timeout ile syncookie’yi tetiklemeyerek işin içinden çıkmaya çalışıyorum. NS bulursan bir ara deneriz detaylı.

  4. Huzeyfe says:

    Sanırım sen default’da açık olmayan ve belirli threshold’u aştıktan sonra devreye giren SYN Proxy/cookie özelliğini kastediyorsun. Ok bu durumda aslında pps değerlerini küçük tutmak da bazı sistemlerde işe yarıyor(anlık syn bağlantıs sayısı 5000 ‘i aşarsa syncookie devreye girsin diye)

  5. Can says:

    hping –rand-source -S -p 80 http://www.lifeoverip.net

    hping: you must specify only one target host at a time

    böle hata almamın sebebi nedir?

  6. Huzeyfe ONAL says:

    kodun içerisinde lifeoverip.net’e yapılacak denemeleri engellemek için if satırı koymuştuk ondandır:).

    Şaka bir yana rand-souce parametresinin önünde iki adet – olmalı.

  7. Can says:

    Bende reklam olmasın diye http://www.lifeoverip.net koydum 🙂 Yoksa bir deneme felan yok.Belki ileride 😀 sağolun hocam.

Leave a Reply

Your email address will not be published. Required fields are marked *

twenty − 14 =