DDOS ve Performans Testleri için Botnet Ağlarını Simule Etmek
Bu çalışma, milyonlarca farklı ve gerçek ip adresinden gelen Botnet saldırılarını simüle ederek aktif ağ cihazlarının (Load balancer, Firewall, DDOS koruma sistemleri) performansını ölçmek için gerekli adımları içermektedir. Layer 7 dos/ddos salıdırları için IP spoofing yapılamadığı için lab. ortamında bu işlemler aşağıda anlatıldığı şekilde simule edilecektir.
İnternet ortamında sahte bir IP adresinden hedefe herhangi bir TCP paketi (SYN/ACK/FIN vb.) gönderebiliriz, bu çeşitli ddos saldırıları yapmamıza olanak sağlar. Fakat bir botnet ağını simule etmemiz için, uygulama katmanında (http,smtp vb.) ddos veya performans testleri gerçekleştirmemiz için TCP 3 yollu el sıkışmayı (3 way handshake) tamamlamamız gerekiyor.
İnternet ortamında istediğimiz bir ip adresinden, herhangi bir hedefe paket gönderebiliriz fakat yanıtlarını alamayız bu yüzden bir TCP oturumu kurmamız mümkün değildir. Aşağıdaki network şeması adım adım bu durumu açıklamaktadır.
Farklı IP adreslerinden, hedefe bir email gönderemez, bir http isteğinde bulunamayız. Bu yüzden TCP bağlantıları kurabileceğimiz bir lab. ortamına ihtiyaç duyuyoruz. Bu işlemi lab. ortamında aşağıdaki network şemasında anlatıldığı üzere kurup , uygulama katmanında saldırı denemeleri, performans testi yapmak üzere çalışmalar gerçekleştirebiliriz.
BONESİ
https://code.google.com/p/bonesi/
Ne tür trafik oluşturabilir
Bonesi aracı ile internet dünyasında kullanılan real IP adresleri oluşturularak saldırı simülasyonları yapabilmekteyiz, TCP 3’lü el sıkışma aşaması tamamlanarak gerçek bir saldırı simülasyonu yapmamıza imkan vermektedir. Özellikle HTTP Flood saldırılarını oldukça başarılı bir şekilde canlandırabiliriz.
Desteklediği Protokoller
ICMP, UDP ve TCP (http) protokollerini destekler ve tümüyle farklı IP’ler üzerinden saldırı imkanı sağlar. Ayrıca Bonesi’de veri büyüklüğü, kaynak IP çeşitliliği, kullanılan URL’ler çok kolay ve iyi bir şekilde configure edilebilir.
TCP için Saldırı Simulasyonu
Bonesi 3 yollu el sıkışma işlemini tamamlayan ve bu sayede TCP saldırılarını simule eden bir araç olması sebebi ile attack yaptığımız makine, kurbanın varsayılan ağ geçidi (Default Gatewayi) konumunda olmalıdır. Bu sayede saldırganın gönderdiği tüm paketler zorunlu olarak tekrar kendisine dönecek ve Bonesi bu paketler üzerinden TCP 3 yollu el sıkışma işlemini tamamlayacaktır. Eğer ki UDP ve ICMP gibi 3lü el sıkışmaya gerek duymayan protokoller aracılığı ile saldırı yapmak istiyorsak, Bonesi’yi direkt olarak internet ortamında kullanabiliriz, TCP protokolü kullanan servislere (http,smtp vb.) saldırılar için ise saldırı simülasyonu lab. ortamımız aşağıda görülmektedir.
Linux Ortamına Kurulum
Bonesi aracının yükleme işlemi adım adım aşağıda anlatılmaktadır,
Ön gereksinimler,
apt-get install libpcap0.8 libpcap-dev libnet1-dev
https://code.google.com/p/bonesi/ adresi üzerinden aracı Saldırgan bilgisayara indirip, aşağıdaki komutlarla kurulumu tamamlayabiliriz ;
tar xfv bonesi-0.2.0.tar.gz
./configure
make
make install
Yükleme tamamlandıktan sonra bonesi –h komutu ile aracın seçeneklerini görebiliriz;
Örnek Saldırı Senaryoları
Bize ait olmayan IP adreslerinden TCP üçlü el sıkışmayı tamamlayarak HTTP GET flood saldırısında bulunalım. Bu işlem için örnek olarak olarak ip.lst dosyasına farklı 5 ip adresi eklenmiştir ve aşağıdaki komut dizisi ile (hep parametre tek tek açıklanmıştır) bir web sunucuya HTTP GET Flood yapılmıştır.
# bonesi -i ip.lst -p tcp -r 0 -o stats -u http://www.cehturkiye.com/ 172.16.16.155:80 -d eth0
Hedef sistemden oluşan trafiğin örnek ekran görüntüsü