Internet dünyasının çalışmasını sağlayan ana protokoller incelediğinde güvenlik açısından en önemli protokollerden birinin DNS olduğu ortaya çıkmaktadır. DNS, UDP üzerinden çalışan basit bir protokoldür ve son on yıl incelendiğinde güvenlik açısından karnesi sınıfta kalacak kadar zayıftır. DNS’in bu kadar sık kullanılıyor olması da bu protokol üzerine gerçekleştirilen istismar çalışmalarını yönlendirmektedir.
DNS açısından güvenlik denildiğinde akla DNS kullanılarak gerçekleştirilen dns poisoning ve yönlendirme saldırıları ve erişilebilirliği hedef alan DDoS saldırıları gelmektedir. Özellikle DNS’e yönelik DDoS saldırıları son yıllarda ciddi oranda artış göstermektedir. DNS’in UDP üzerine bina edilmesi ve UDP üzerinden gerçekleştirilen iletişimde kaynak IP adresinin gerçek olup olmadığını anlamanın kesin bir yolunun olmaması saldırganın kendini gizleyerek saldırı gerçekleştirmesini kolaylaştırmaktadır.
DNS Flood DoS/DDoS Saldırıları
Bu saldırı tipinde genelde iki amaç vardır:
- Hedef DNS sunucuya kapasitesinin üzerinde (bant genişliği olarak değil) DNS istekleri göndererek , normal isteklere cevap veremeyecek hale gelmesini sağlamak
- Hedef DNS sunucu önündeki Firewall/IPS’in “session” limitlerini zorlayarak Firewall arkasındaki tüm sistemlerin erişilemez olmasını sağlamak
Boş UDP/53 paketi ile DNS paketi arasındaki farklar
DNS Flood saldırılarında sık yapılan hatalardan biri de DP 53 portuna gönderilen her paketin DNS olduğunu düşünmektir. Bu şekilde gerçekleştirilecek DDoS denemeleri hedef sistem önündeki IPS ve benzeri sistemler tarafından protokol anormalliğine takılarak hedefe ulaşamayacaktır. UDP port 53’e gönderilen boş /dolu(dns olmayan içerik) ve DNS istekleri farklıdır. Hping gibi araçlar kullanılarak gerçekleştirilen udp port 53 flood saldırıları DNS flood saldırısı olarak adlandırılamaz.
Ancak DNS sorgularını ikili olarak kaydedip bunları Hping kullanarak hedefe dns sorgusu gibi gönderme işlemi yapılabilir.
Aşağıda adım adım Hping kullanarak nasıl DNS flood denemeleri gerçekleştirileceği anlatılmıştır. Test edilen her alan adı için bu şekilde dns sorgusu ikili dosya olarak kaydedilmeli ve hping’e parametre olarak verilmelidir.
Ardından seçili alanı binary olarak kaydedebiliriz.
Veya aşağıdaki şekilde doğrudan seçili pakete sağ tıklayarak ikili dosya olarak kaydedilmesi sağlanabilir.
Kaydedilen dosya www.bga.com.tr adresine ait DNS sorgusunu içermektedir. Bu dosyayı hping3 kullanarak herhangi bir dns sunucusuna gönderip dns sorgusu olarak değerlendirilmesi sağlanabilir.
#hping3 –flood –rand-source –udp -p 53 dns_sunucu_ip_adresi -d 45 -E dns_bga.pcap
Hping ile DNS flood saldırılarının en önemli dezavantajı sadece bir alan adına yönelik sorgu gönderebilmesidir.
NetStress Kullanarak DNS DDoS Saldırısı Gerçekleştirme
BGA DDoS Pentest hizmetlerinde kullandığımız NetStress aracı ile saniyede 400.000-1.000.000 paket üretilebilir ve dns, udp ve ip paketine ait tüm alanlar TCP/IP protokolü özelliklerine göre isteğe bağlı olarak değiştirilebilir.
# ./netstress -d hedef_dns_ip_adresi -P 53 –attack dns -n 3 –buffer 35 –dnsqname dns.txt –dnsqtype A
^[email protected]:~/netstress-2.0.4-dns#
———- netstress stats ———-
PPS: 133487
BPS: 8543168
MPS: 8.15
Total seconds active: 1
Total packets sent: 133487
————————————-
———- netstress stats ———-
PPS: 125066
BPS: 8004224
MPS: 7.63
Total seconds active: 1
Total packets sent: 125066
————————————-
———- netstress stats ———-
PPS: 133600
BPS: 8550400
MPS: 8.15
Total seconds active: 1
Total packets sent: 133600
————————————-
DNS Flood Saldırılarından Korunma
DNS, UDP üzerinden çalışan bir protokol olduğu için kesin bir engelleme yöntemi söz konusu değildir. Çeşitli güvenlik firmaları tarafından geliştirilen DDoS engelleme ürünlerinde DNS flood için bazı ayarlar olsa da bunlar ciddi saldırılarda genellikle işe yaramamaktadır. Bunun en temel sebebi DNS flood saldırılarında saldırganın istediği ip adresinden geliyormuş gibi saldırıyı gösterebilmesidir.
hping gerçekten çok işlevsel saol hüzeyfe abi
hping süpermiş!!