ddos arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Thu, 19 Apr 2018 19:52:48 +0000 tr hourly 1 https://wordpress.org/?v=6.0 https://canyoupwn.me/wp-content/uploads/2016/02/cropped-Başlıksız-1-32x32.png ddos arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Mod Evasive ile DOS/DDOS Koruması https://canyoupwn.me/tr-mod-evasive-ile-dosddos-korumasi/ https://canyoupwn.me/tr-mod-evasive-ile-dosddos-korumasi/#respond Mon, 29 Aug 2016 17:46:13 +0000 https://canyoupwn.me/?p=4085 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

DOS/DDOS kavramını daha önceki yazımızda incelemiştik. Sunucularımızı bu saldırılardan korumamız için geliştirilen mod evasive yazılımının kurulumu ve konfigürasyonunu yapmaya başlıyalım. Test sistemimiz ubuntu server üzerinde apache çalışan bir sistem. Kurulum Kurulum için alttaki komutla mod evasive kurulumunu yapıyoruz. sudo apt-get install libapache2-mod-evasive Kurulum başarıyla tamamlanıp tamamlanmadığını kontrol etmek için; sudo apachectl -M | grep evasive […]

TR | Mod Evasive ile DOS/DDOS Koruması Mustafa Kaan Demirhan

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

DOS/DDOS kavramını daha önceki yazımızda incelemiştik. Sunucularımızı bu saldırılardan korumamız için geliştirilen mod evasive yazılımının kurulumu ve konfigürasyonunu yapmaya başlıyalım. Test sistemimiz ubuntu server üzerinde apache çalışan bir sistem.

Kurulum

  • Kurulum için alttaki komutla mod evasive kurulumunu yapıyoruz.
sudo apt-get install libapache2-mod-evasive

Ekran görüntüsü_2016-08-15_15-04-54

  • Kurulum başarıyla tamamlanıp tamamlanmadığını kontrol etmek için;
sudo apachectl -M | grep evasive

komutundan evasive20_module (shared)  çıktısını alıp almadığımızı kontrol edelim.

Ekran görüntüsü_2016-08-15_15-04-54

Konfigürasyon

  • Konfigürasyon için alttaki konumdaki dosyayı açıyoruz.
sudo nano /etc/apache2/mods-enabled/evasive.conf

Ekran görüntüsü_2016-08-15_15-04-54

  • Aktifleştirmek istediğimiz parametrelerin başından #  i kaldırıp gerekli düzenlemeleri yapmalıyız.

Ekran görüntüsü_2016-08-15_15-04-54

Parametreler

  • DOSHashTableSize: Kayıt kontrol sıklığı için tutulacak hash tablosu boyutu.
  • DOSPageCount: DOSPageInterval  parametresinde belirtilen zaman aralığında kaç istek yapılacağını belirler.
  • DOSSiteCount: DOSSiteInterval  parametresinde belirtilen zaman aralığında sayfadan çekilecek resim/css dosya limitlerini belirler.
  • DOSPageInterval: DOSPageCount  için zaman değeri.
  • DOSSiteInterval: DOSSiteCount  için zaman değeri.
  • DOSBlockingPeriod: Engellenen IP nin ne kadar süre engelleneceğini belirler.
  • DOSEmailNotify: Mail olarakbilgilendirme için mail adresi girilmelidir.
  • DOSLogDir: Logların tutulacağı dizini belirtir.

 

  • Gerekli konfigürasyonu kendi sistemimize göre ayarladıktan sonra ctrl+x  komutu ile dosyadan çıkıp dosyayı kaydediyoruz.
  • Ayarların geçerli olması için alttaki komutlardan biriyle apache yi yeniden başlatıyouz.
sudo service apache2 restart
sudo /etc/init.d/apache2 restart

Ekran görüntüsü_2016-08-15_15-04-54

Test

  • Kurulumumuzu test etmek için mod-evasive içerisinde gelen perl scripti çalıştırarak kurulumumuzu kontrol edebiliriz.
sudo perl /usr/share/doc/libapache2-mod-evasive/examples/test.pl

Ekran görüntüsü_2016-08-15_15-04-54

SS de görüldüğü üzere 403 dönüyor yani kurulumumuz başarıyla tamamlayıp test etmiş olduk.


TR | Mod Evasive ile DOS/DDOS Koruması Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/tr-mod-evasive-ile-dosddos-korumasi/feed/ 0
TR | Linux SSH Sıkılaştırma https://canyoupwn.me/tr-ssh-sikilastirma/ https://canyoupwn.me/tr-ssh-sikilastirma/#respond Sat, 13 Aug 2016 21:10:23 +0000 https://canyoupwn.me/?p=3814 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

SSH Nedir SSH (Secure Shell) güvenli veri iletimi için kriptografik ağ protokolüdür. SSH bağlantısı bilgisayar-bilgisayar, bilgisayar-sunucu, sunucu-sunucu arasında yapılabilir. SSH uzak kabuk üzerinde yetkili bir metin tabanlı arayüz sağlar. SSH bağlantısı kurulduktan sonra, yerel terminal yazdığınız tüm komutlar şifreli SSH tüneli aracılığıyla uzak sunucuya gönderir ve terminal komutlarınız orada yürütülür. SSH istemci-sunucu modelini kullanır. Standart […]

TR | Linux SSH Sıkılaştırma Çağatay ÇALI

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

SSH Nedir

SSH (Secure Shell) güvenli veri iletimi için kriptografik ağ protokolüdür. SSH bağlantısı bilgisayar-bilgisayar, bilgisayar-sunucu, sunucu-sunucu arasında yapılabilir. SSH uzak kabuk üzerinde yetkili bir metin tabanlı arayüz sağlar. SSH bağlantısı kurulduktan sonra, yerel terminal yazdığınız tüm komutlar şifreli SSH tüneli aracılığıyla uzak sunucuya gönderir ve terminal komutlarınız orada yürütülür. SSH istemci-sunucu modelini kullanır. Standart TCP portu olan 22 SSH bağlantısı için atanmıştır.

Bu kılavuzda, SSH sıkılaştırması için en iyi olan bazı temel güvenlik uygulamaları hakkında örnekler yer alacaktır.

 

SSH Bağlantısı Nasıl Kurulur?

Temelde iki bağlanma yöntemi mevcuttur. Bunlardan birincisi kullanıcı adı ve şifre ile oturum sağlandığı yöntemdir, ikincisi ise SSH key ( SSH açık / gizli anahtar ) yardımı ile oturumun sağlandığı yöntemdir. Şifre oturumları yeni kullanıcılar için anlaşılması kolaydır. Ancak, otomatik botlar ve kötü niyetli kullanıcılar genellikle art arda şifre denemeleri ile güvenlik tavizlerine yol açabilir. Bu yöntem yerine SSH anahtarı yardımı ile oturum sağlanmasını öneriyoruz. Bu yöntemde özel ve genel anahtar çifti kimlik doğrulama öncesinde oluşturulur. Ortak anahtar herkes ile paylaşılabilirken, özel anahtar kullanıcı tarafından güvende tutulmalıdır.

Bu bağlantı yöntemleri dışında SSH versiyonuna göre oturum sağlamak için kullanılabilecek birkaç yöntem daha bulunmaktadır.
Screen Shot 2016-08-13 at 10.44.43

( Solda SSH v2, sağda ise SSH v1’i görmektesiniz. )

 

SSH Sıkılaştırması Yöntemlerinden Bazıları

  • Standart portu değiştirmek
    • SSH kurulumu ile birlikte gelen ayarlarında servis 22. porttan istekleri yanıtlamaktadır. SSH portunu değiştirmek sıkılaştırmanın ilk adımı olarak düşünülebilir.
  • Port yönlendirmelerini kapatmak
    • Port yönlendirmeleri SSH üzerinden diğer servisler ( X11 gibi ) aracılığı ile uzak masaüstü bağlantıkları yapılabilir, bunları kapatabilirsiniz.
  • Şifre ile SSH bağlantılarını engellemek
    • Otomatik port tarayan ve ard arda şifre deneyen (brute-force) kötü niyetli yazılımların hedefinden çıkmamıza yardım edecek adımdır. Portu değiştirmekde bu yöntemi destekleyecektir. Şifre ile oturum sağlanması yerine SSH anahtarları ile oturum sağlayacağız.
  • Root erişiminin kapatılması
    • Sistemdeki en yetkili kullanıcı olan root’a SSH oturumu açılmasını engellemek, sisteme bir şekilde erişim kazanan kötü niyetli kod veya kullanıcıyı yetkisiz kılacaktır. Bu şekilde verilebilecek zarar kısıtlanmış olur.
  • Ana bilgisayar tabanlı kimlik doğrulaması kapatılmalıdır
    • Bulunduğunuz ağda ana bir bilgisayar tarafından sisteme erişimi kapatmanız, ana sisteme yapılan bir saldırıda sunucunuza erişimi engelleyecektir. Bu yuzden ana bilgisayar tabanlı bir kimlik doğrulaması kullanmayacağız.
  • Chroot SSHD (Kullanıcıları kendi ana dizinlerine kilitlemek)
    • Her kullanıcıyı kendi ana dizinlerine hapsederek ( /home/cagatay gibi ) yetkilerini kısıtlayabilirsiniz. Fakat ufak bir google araması ile bypass edilebilir. Amacımız saldırganı yıldırmak 🙂
  • İki aşamalı oturum doğrulama yöntemini kullanın
  • Port knocking kullanın
  • Port spoofing kullanın
    • Bu yöntemler aracılığı ile ssh servisinizi diğer servisler arasında kamufle edip ssh servisinizi daha güvenli hale getirebilirsiniz.

SSH Sıkılaştırması Uygulaması

Öncelikle elimizdeki sunucuya veya ev bilgisayarına SSH bağlantımızı açalım.

Screen Shot 2016-08-13 at 12.42.22

Örnek komut:

ssh [email protected]

SSH oturumundayız, klavuzda Ubuntu 14.04.5 LTS kullanacağım, komular işletim sistemine göre farklılık gösterebilir. Sistemde cagatay adlı bir kullanıcı olduğunu varsayıyoruz. Kullandığınız sistemde kendi isteğiniz doğrultusunda ismini yazabilirsiniz.

  • Open SSH servisi kurulu değilse kuralım

Screen Shot 2016-08-13 at 12.48.24

sudo apt-get install openssh-server
  • Kurulum ile beraber gelen standart ayarları yedekleyelim:

Terminalden:

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
  • Düzenleme yapmak üzere ayar dosyamızı açalım:

Terminalden:

sudo vi /etc/ssh/sshd_config

Ayarlarımıza sırasıyla standart portu değiştirerek başlıyoruz:

  • Port 22 yazan satırdaki 22 standart SSH portunu bağlanmak istediğiniz porta yerleştirebilirsiniz.

Screen Shot 2016-08-13 at 12.53.10

  • Protocol yazan satır SSH versiyonunuzu söylemektedir. 2 olduğundan emin olun:

Screen Shot 2016-08-13 at 12.59.11

  • Şifre ile oturum açmayı engelleyelim:

Screen Shot 2016-08-13 at 13.00.45

Yorum satırı halinde olan ( ‘#’ yorum satırı anlamına gelmektedir ) PasswordAuthentication yes satırını yorum’dan çıkartıp yes olan parametreyi no yapıyoruz.

Screen Shot 2016-08-13 at 13.02.23

  • Port yönlendirmelerini kapatalım:

Screen Shot 2016-08-13 at 13.16.11

  • X11Forwarding’i no olarak değiştirin

Screen Shot 2016-08-13 at 13.16.50

  • Hangi kullanıcıların SSH kullanacağını belirleyin

Screen Shot 2016-08-13 at 13.18.54

  • Root erişimini kapatın

Screen Shot 2016-08-13 at 13.20.18

PermitRootLogin’i no olarak değiştirerek yapabilirsiniz.

Screen Shot 2016-08-13 at 13.21.13

  • SSH anahtarı ile giriş yapmak için gerekli ayarlamalarımızı yapalım:

Yeni bir terminal sayfasında: ( SSH oturumunu kapatmayınız )

ssh-keygen -t rsa -b 4096

Yukarıdaki komut kendi bilgisayarınızda açık ve gizli olmak üzere iki anahtar üretecektir. Açık anahtarı şu şekilde bulabilirsiniz:

cat ~/.ssh/id_rsa.pub

Screen Shot 2016-08-13 at 13.24.32

 

Yukarıdaki anahtarı görüntülediğimiz terminal’den sunucuda SSH oturumumuz olan terminal’e geçiyoruz, aşağıdaki ayarlamayı yapıyoruz.
Screen Shot 2016-08-13 at 13.26.16

AuthorizedKeysFile satırını yorum satırı durumundan çıkartıyoruz.

Screen Shot 2016-08-13 at 13.26.56

Kendi açık anahtarımızı SSH dizinindeki authorized_keys’e ekliyoruz.

Screen Shot 2016-08-13 at 13.30.54

Terminalden: ( Sunucuda )

sudo vi ~/.ssh/authorized_keys

Açık anahtarımızı kaydedip çıkıyoruz.

  • Kullanıcıları kendi ana dizinlerine kilitleyelim

/etc/ssh/sshd_config dosyasını tekrardan açıyoruz

Terminalden: ( Sunucuda )

sudo vi /etc/ssh/sshd_config

Aşağıdaki kodları dosyanın en altına ekliyoruz.

Screen Shot 2016-08-13 at 13.34.43

Subsystem sftp internal-sftp

Match group sftponly
        ChrootDirectory /home/%u
        X11Forwarding no
        AllowTcpForwarding no
        ForceCommand internal-sftp

 

Yukarıda verilen yöntemler sayesinde SSH oturumu açmış kullanıcıların kendi dizinlere etkiyebilmesini sağladık. Standart olarak SSH 22. porttan çalışmaktaydı, onu değiştirdik. Şifre ile oturum açmayı engelledik bu giriş yöntemi yerine daha güvenli olarak önerilen SSH anahtarını kullandık. Sistemimize tünelleme aracılığı ile sağlanabilecek uzak masaüstü bağlantılarını engelledik. Hiyerarşik bir ağ yapısında olduğu varsayılan sunucumuza daha yetkili üst makinalardan erişimi kısıtladık. Sisteme kullanıcı olarak oturum elde etmiş kullanıcıların root yetkilerine erişimini engelledik. SSH bağlantınızı daha güvenli hale getirmek için port spoofing, port knocking ve two factor authentication ( iki aşamalı oturum onayı ) kullanabilirsiniz.

 

Port Spoofing

Port Knocking

SSH Two-Factor Authentication


TR | Linux SSH Sıkılaştırma Çağatay ÇALI

]]>
https://canyoupwn.me/tr-ssh-sikilastirma/feed/ 0
TR | DOS / DDOS Türleri ve Servis Dışı Bırakma Testleri https://canyoupwn.me/turleriyle-dos-ddos-servis-disi-birakma-testleri/ https://canyoupwn.me/turleriyle-dos-ddos-servis-disi-birakma-testleri/#respond Wed, 22 Jun 2016 14:26:06 +0000 https://canyoupwn.me/?p=2893 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

SERVİS DIŞI BIRAKMA TESTLERİ (DOS – DDoS)   Merhabalar, Güvenliğin yapıtaşlarından biri olan erişebilirlik ilkesine göre hizmet halinde olan bir servis ya da sunucunun çalışmasının düzgün ve devamlı bir şekilde olabilmesi şarttır. DOS ataklarda ise düzgün ve devamlı çalışan servisler durdurulabilmekte, bu servislerin hizmet verebilmesi engellenmektedir. DOS saldırıları çeşitli şekillerde yapılabilmektedir. Yerel ağda bu testler […]

TR | DOS / DDOS Türleri ve Servis Dışı Bırakma Testleri CanYouPwnMe

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

SERVİS DIŞI BIRAKMA TESTLERİ

(DOS – DDoS)

 

Merhabalar,
Güvenliğin yapıtaşlarından biri olan erişebilirlik ilkesine göre hizmet halinde olan bir servis ya da sunucunun çalışmasının düzgün ve devamlı bir şekilde olabilmesi şarttır. DOS ataklarda ise düzgün ve devamlı çalışan servisler durdurulabilmekte, bu servislerin hizmet verebilmesi engellenmektedir. DOS saldırıları çeşitli şekillerde yapılabilmektedir. Yerel ağda bu testler simüle edilerek saldırı testleri yapılabilir.

DOS ataklar hedef sistemin erişebilirliğini engellemek için yapılan ataklardır. DOS veya DDoS ataklar ile hedef cihaza devamlı paket gönderilerek hedef cihazın state tablosu doldurulabilir, CPU değerleri yükseltilerek veya hat taşırarak devre dışı kalması sağlanılabilir.

DDOS ise, dağıtık olarak yapılan servis dışı bırakma saldırılarıdır. Son kullanıcıların bilgisayarlarına zararlı yazılımların buluştırılması ile kontrol altına alınan ve uzaktan kötü amaçlar için kontrol edilen bilgisayarlara zombi adı verilmektedir. DDoS saldırılarında merkezi komut sisteminden verilen talimat ile zombi bilgisayarlardan üretilen paketler ile hedefe saldırıalar yapılarak hedefe olan erişim engellenir. Fast flux ağlar, phishing sitelerin, zararlı kod dağıtan sitelerin gizlenmesi için zombileri kullanan bir DNS tekniğidir. Fast flux ağlarda alan adı  birden fazla IP adresine sahiptir. Alan adına tekabül eden IP adresleri sürekli değiştirilir.

Özet olarak;

DOS; Sistemleri çalışamaz hale getirmek için yapılan saldırı tipi

DDOS;  DOS saldırısının yüzlerce, binlerce farklı sistemden yapılması

İleride DOS ile DDoS arasındaki farklılıkları daha net olarak görebileceksiniz.

 

OSI KATMANI VE KATMANLARA GÖRE DOS/DDoS Çeşitleri

OSI KATMANI

İki bilgisayar arasındaki iletişimi biçimsel olarak tanımlayan ilk kuruluşlardan birisi ISO (International Organization for Standardization) ‘dur. ISO uluslararası veri iletişimi standartları geliştiren bir kuruluştur. ISO 1970’lerde OSI (Open Systems Interconnection) mimarisini geliştirmiştir. OSI ağ sistemleri için bir kılavuz niteliği taşır. OSI öncesinde donanım üreticilerinin kendilerine özgü ağları bulunmakta ve farklı üreticilere ait donanımlar arası uyumsuzluk ortadan kalkmış ve bilgisayarlar arası iletişim ortak bir standarda oturtulmuştur.

OSI yedi katmana ayrılmıştır ve iletişim esnasında kullanılan protokoller ve donanımlar bu katmanlarda yer alır. İki bilgisayar arasında veri iletimi gerçekleştirileceği zaman veriyi gönderen için iletim en üst katmandan başlar alt katmana doğru devam eder bu işleme Encapsulation adı verilir. Veri alan için ise durum tam tersidir. Yani gelen veri en alt katmandan başlar ve üste doğru devam eder  bu işleme ise De-Encapsulation adı verilir. En üst katman kullanıcıya daha yakın olup uygulamaları içerirken alt katmanlara doğru veri makine diline ve en son bit seviyesine kadar düşer. OSI modeli sayesinde bir donanım veya protokolün ağ içerisindeki görevi daha kolay açıklanabilir.

OSI modelinde katmanlar birbirinden kesinlikle bağımsız değildir. Her katman kendinden önce gelen katmana hizmet eder.

 

659cs

 

(Şekil1.OSI KATMANI)

 

KATMANLARA GÖRE DOS/DDoS Çeşitleri

Tüm katmanlara göre bazı DOS çeşitleri vardır.

659cs

(Şekil2. OSI KATMANI VE OSI’ye GÖRE DOS/DDOS ÇEŞİTLERİ)

 

Fiziksel Katmanda DOS Saldırıları

Bu katman verinin kablolar üzerinden iletiminden sorumludur ve verinin içeriğiyle ilgilenmez. Verinin elektrik, ışık veya radyo sinyallerine çevrim şekli ve aktarımını tanımlar. Veriyi gönderen taraf   1 ve 0’lardan oluşan veriyi iletim şekline göre (ışık,radyo veya elektrik) çevrimini, alıcı taraf ise gelen sinyallerin 1 ve 0’lara çevirir. Ağ cihazlarından HUB’lar fiziksel katmanda tanımlıdır. Fiziksel katman iletişim türleri; RS-232, 10Base-T, 100Base-TX, ISDN, DSL vb…

 

Ağ Kablolarına ve Donanımlara Zarar

Direk olarak network ün ayakta durmasını sağlayan donanımlara ve kablolara zarar verilmesidir. Fiziksel olarak sunucular, routerlar, hublar veya switchlere zarar verilmesi ve kapatılması network ün durmasına sebep olur. Fiziksel saldırılar DOS saldırı türleri arasında en tehlikelidir geri dönüşümü olmayan zararlar verilebilir. Hem maddi hem manevi büyük zararlar verilebilir.

 

Frekans Bozumu (Jamming) Saldırısı ve Önlemleri

(Şekil3. Jamming)

Düğümlerin kullandığı radyo frekansını bozan bir saldırı türüdür. Kötü niyetli bir düğüm, normal düğümlerin yolladığı radyo frekansında alıcı antene sinyal yollar. Alıcı normal düğümlerin yolladığı sinyalleri bu saldırı nedeniyle alamaz. Özellikle tek frekanslı ağlarda bu tür saldırı çok kolay yapılabilmektedir. Saldırıya uğrayan bir düğüm için en basit korunma methodu sadece “uyumak”tır. Bununla birlikte uyuma pasif bir korunma methodudur. Daha bir ileri korunma methodu, spektrumu yayıp, frekans sıçraması yapmaktır. Eğer “frekans bozumu” saldırısı mevcut ise, trafiği yeniden yönlendirmek de bir çözüm olabilmektedir. Şekil 3.te trafiğin yeniden nasıl yönlendirildiği gösterilmiştir. Örneğin j alanında frekans bozum saldırısı olduğundan bu alandan normalde hiç bir gerçek trafik geçmemektedir. Bu alanın dışında ki bir düğüm, bu bölgeden olağan dışı bir gürültü sezebilir ve üzerinden geçen trafiği farklı bir yol kullanarak yollayabilir.

 

Data Link Katmanında DOS Saldırıları

Fiziksel katmana erişim ile ilgili kuralları düzenler. Bu katmanda gerçekleştirilen işlemlerin büyük bölümü ağ arayüz kartı içerisinde geçekleştirilir.

Bu katman ağdaki bilgisayarların tanımlanması, hattın hangi bilgisayar tarafından kullanıldığının belirlenmesi ve fiziksel katmandan gelen verinin hata denetimi görevini yerine getirir. Eğer veri ağ katmanından geliyorsa ağ katmanından aldığı verilere hata kontrol bitleri ekleyerek fiziksel katmana aktarmayı gerçekleştirir. İletilen verinin doğru mu yoksa hatalı mı iletildiğini eklediği hata bitleri ile kontrol eder ve hatalı iletilmişse tekrar gönderir.

Veri bağlantı katmanı LLC (Logical Link Control) ve MAC (Media Access Control) alt katmanları olmak üzere iki bölümden oluşur. MAC alt katmanı, ağ katmanından gelen veriye hata bitlerini, alıcı ve gönderici MAC adreslerini ekleyerek fiziksel katmana aktarır. MAC alt katmanı veriyi alan tarafta da aynı işlemlerin tersini yapıp veriyi LLC alt katmanına aktarır. LLC alt katmanı, ağ katmanından geçiş görevi görür. LLC alt katmanı alıcı-gönderici bilgisayarlarda aynı protokollerin kullanılması ve bozuk paketlerin tekrar gönderilmesini sağlar. Ayrıca akış kontrolü ile aşırı yüklenmeyi önler. Bu katmanda Ethernet,Token Ring, FDDI,ATM,Frame Relay ve PPP iletişim kuralları bulunmaktadır.

Ağ cihazlarından switch ve bridge data link katmanında tanımlıdır.

 

ARP Flood

ARP önbelleklerini varolmayan MAC adresleri ile güncellemek frame`lerin düşürülmesine sebep olacaktır. Bu bir DoS saldırısı amaçlı olarak ağdaki tüm istemcilere gönderilebilir.

 

Wi-Fi Deauth.

Bir Wi-Fi ağına De-authentication paketleri göndererek bağlantı kesilebilir.

1

(Şekil4. Wi-Fi De-Auth. Attack)

 

Network Katmanında DOS Saldırıları

Bu katman gelen veri paketlerinin ağ adreslerini kullanarak uygun ağlara yönlendirilmesini sağlar. Ayrıca, ağdaki cihazların adresleme işlemlerini gerçekleştirir. Router ve yönetilebilir switch bu katmanda yer alır. Ayrıca veri paketi farklı bir ağa yönlendirilecekse router’ların kullanacağı bilgi bu katmanda eklenir.

Temel görevi, taşıma katmanından gelen istekleri cevaplandırmak ve bu hizmetleri Veri Bağı katmanına iletmektir. IP, ARP, ICMP, IPSec, IPX ve AppleTalk bu katmanda kullanılan protokollerdir.

 

ICMP Flood

ICMP (Internet Control Message Protocol) sistemler arası iletişim ve hata ayıklama amacıyla kullanılan bir protokoldür. Aslında hiçbir kod yazmadan, command prompttan “ping -t example.com.tr” ile DOS saldırısı gerçekleştirilebilir. Ancak cmd’den gönderilen ping komutu ile 32 bytes’lık bir ICMP paketi gönderiliyor. Eğer daha büyük ICMP paketleri oluşturup, ping atarsak hedef sistemi daha fazla yorarız. Send metodumuzu aşağıdaki gibi düzenleyerek ICMP flood yapabiliriz.

659cs(Şekil5. ICMP Flood)

 

 

Main metodundaki threadden SendPing metodunu çağırıp, uygulamayı çalıştırdığınızda flood yapmaya başlayacaktır.

 

(Şekil6. ICMP Flood)

Soldaki flood yapan uygulama. Sağdaki command prompt. Sürekli 793 bytes’lık ICMP paketleri gönderiliyor.

Daha spesifik kodlar geliştirerek veya farklı araçlardan yararlanarak daha güçlü saldırılar yapılabilir.

 

Transport Katmanında DOS Saldırıları

Bu katman 5-7 ve 1-3 katmanları arasındaki bağlantıyı sağlar. Üst katmandan gelen veriyi bölümlere ayırarak alt katmanlara, alt katmandan aldığı bölümleride birleştirerek üst katmana gönderir. Ayrıca akış kontrolü ile verinin alıcısına ulaşıp ulaşmadığını ve bölümlere ayrılan verinin aynı sırada birleştirilmesini sağlar. Veri iletimini gerçekleştiren TCP,UDP,SPX,SCTP ve DCCP protokolleri bu katmanda yer alır.

 

SYN Flood

Normal olarak bir istemci bir sunucuya TCP bağlantısı başlatma isteğinde bulunduğunda, sunucu ve istemci bir dizi mesaj takas eder ve bu durum şöyle işler:

  1. Adım : İstemci sunucuya bir SYN (synchronize) mesajı göndererek bir bağlantı kurmak ister.
  2. Adım : Sunucu bu mesajı, SYN-ACK mesajlarını istemciye dönerek, kabul eder.
  3. Adım : İstemci ACK ile yanıt verir ve bağlantı kurulmuş olur.

Bir SYN saldırısı, sunucuya beklenen ACK kodunu göndermeyerek çalışan bir ataktır. Kötü niyetli istemci ya basit bir şekilde beklenen ACK’yı göndermez ya da sahte IP adresi kullanarak SYN’deki IP adres kaynağını zehirler(spoofing). Çünkü sunucu sahte IP adresine SYN-ACK göndermeye çalışır. Ancak ACK gönderemeyecektir çünkü o adresle bir SYN gönderilmediğini bilir.

Sunucu bir süre acknowledgement(kabul) için bekleyecektir. Fakat saldırılarda bu istekler sürekli artan şekilde olduğundan sunucu yeni bağlantı oluşturamaz duruma gelir. Ve sunucu devre dışı kalır.

 

Uygulama Katmanında DOS Saldırıları

Kullanıcıya en yakın katman olup kullanıcı tarafından çalıştırılan tüm uygulamalar bu katmanda yer alır. Uygulamalar ile ağ arasındaki arabirimdir. Dosya paylaşımı, e-mail veya veritabanı yönetimi gibi işlemlerin gerçekleştirildiği katmandır. Uygulama katmanında http,SMTP,POP,DHCP,FTP,Telnet,DNS gibi protokoller kullanılır. Örneğin, bir kullanıcı bir web sayfasını ziyaret etmek için tarayıcıyı açması uygulama katmanında gerçekleştirilir. Çünkü, http uygulama katmanı protokolüdür.

 

DNS Amplification Saldırısı

Saldırıyı gerçekleştiren taraf recursive DNS sunuculara değiştirilmiş kaynak IP li sorgular gönderir. Recursive DNS sunucu bu sorguların yanıtlarını kurbanın IP adresine döner.

Saldırgan küçük DNS sorguları gönderir, çok fazla DNS kaydı olduğu bilinen bir alanadı için “ANY” paremetresi kullanılarak tüm kayıtlar istenir. Sorgu paketleri 60byte seviyelerindeyken dönülen cevap 3-4kb seviyesinde olabilir. Buda yaklaşık 50-70 katı bir kuvvetlendirme sağlar. Saldırgan küçük DNS sorgularını fazla sayıda recursive DNS sunucuya gönderebilir, ve tüm sunucular kurbana yanıtları döner. Bu yöntem ile kısa süre içerisinde kurbana ezici bir trafik yönlendirilmiş olur.

 

Katmanlara göre DOS/DDoS Saldırıları temel olarak bu şekildedir.

Bir sonraki makalede görüşmek dileğiyle…

 

TR | DOS / DDOS Türleri ve Servis Dışı Bırakma Testleri CanYouPwnMe

]]>
https://canyoupwn.me/turleriyle-dos-ddos-servis-disi-birakma-testleri/feed/ 0
EN | DDOS Attack on Wireless Access Point https://canyoupwn.me/ddos-attack-on-wireless-access-point/ https://canyoupwn.me/ddos-attack-on-wireless-access-point/#respond Mon, 04 Apr 2016 06:30:11 +0000 https://canyoupwn.me/?p=1452 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Wifi dos attack is wifi deauthentication attack in other words. This attack is a type of denial-of-servce attack. Purpose of this attack is disconnect communication between user and wi-fi wireless Access point. Deauthentication frames are classified as management frames in the 802.11 . They are used to disconnect stations and Access points. The IEEE 802.11 […]

EN | DDOS Attack on Wireless Access Point CanYouPwnMe

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Wifi dos attack is wifi deauthentication attack in other words. This attack is a type of denial-of-servce attack. Purpose of this attack is disconnect communication between user and wi-fi wireless Access point.

Deauthentication frames are classified as management frames in the 802.11 . They are used to disconnect stations and Access points.

The IEEE 802.11 protocol contains the answer for deauthentication frame. Sending deauthentication frame from Access point to station to disconnect from the network.

An attacker can`t send this frame to wireless Access point with spoofed address for victim. Also this protocol dont need any encryption for this frame.

TOOLSET FOR GENERATE DEAUTHENTİCATİON FRAMES:

Aircrack-ng suite

MDK3

Void11

Scapy

Zulu

DEMO TİME

  • As first , we should run “iwconfig” command to learn wiriless adapter name. As you can see our wireless adaptor name is “wlan0”

1-iwconfig

  • We have to run wifi adaptor as monitor mode. For this we have “airmon-ng”. Necessary code “airmon-ng start wlan0” and monitor mode enable.

2-airmon

  • Next command is “airdump-ng”. This command will scan all wireless network. We give argument wireless monitor name (wlan0mon) “airdump-ng wlan0mon” . you can learn monitor name with “iwconfig”. My monitor name “wlan0mon”

3-airodump

  • My target Access point is marked as you can see red coloured box. This point is running on channel 4. So i’ll focus to this channel with this command. “iwconfig wlan0mon channel 4”

4-iwconfig channel

  • Next command is “airodump-np -c 4 -bssid C4:07:2F:14:C2:62 wlan0mon” in this command -c is target wifi point channel. –bssid is target bssid. And monitor name.

5-airodump station

  • We run another window. And we are going to run command for deauthentication attack we use “aireplay-ng”. Attack command is “aireplay-ng -0 0 -a C4:07:2F:14:C2:62 -c 14:2D:27:6A:5D:B1 wlan0mon” in this command -a parameter is target bssid, -c parameter is station in airodump command . and run attack.

6-attack

  • Befoce starting attack. We’ll look at victim computer. As you can see, Victim computer can sending ping to Google.com.

7-ping-google

  • After attack. Victim can’t send ping to Google.com. error is request timed out, general failure and destination host unreachable.

8-after attack ping

 

Thank you.

EN | DDOS Attack on Wireless Access Point CanYouPwnMe

]]>
https://canyoupwn.me/ddos-attack-on-wireless-access-point/feed/ 0
TR | Awesome Learn Pentesting https://canyoupwn.me/tr-awesome-penetration-testing/ https://canyoupwn.me/tr-awesome-penetration-testing/#respond Wed, 09 Mar 2016 07:00:59 +0000 https://canyoupwn.me/?p=709 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Online Kaynaklar: Sızma Testi Kaynakları Metasploit Unleashed – Ücretsiz Metasploit Kursları PTES – Sızma Testi Standartları OWASP – Web Uygulama Güvenliği Projesi   Shellcode Geliştirme Shellcode Örnekleri – Shellcode Veritabanı   Sosyal Mühendislik Kaynakları Kilit Kırma Kaynakları Schuyler Towne Youtube Channel – Kilit Kırma Teknikleri Reddit Lockpicking – Kilit Kırma Teknikleri ve Araç Önerileri   Araçlar Sızma Testi Dağıtımları Kali BlackArch […]

TR | Awesome Learn Pentesting Mustafa Kaan Demirhan

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Online Kaynaklar:

Sızma Testi Kaynakları

 

Shellcode Geliştirme

 

Sosyal Mühendislik Kaynakları

Kilit Kırma Kaynakları

Schuyler Towne Youtube Channel – Kilit Kırma Teknikleri

Reddit Lockpicking – Kilit Kırma Teknikleri ve Araç Önerileri

 

Araçlar

Sızma Testi Dağıtımları

 

Basit Sızma Testi Araçları

 

Zafiyet Tarama Araçları

  • Netsparker – Web Uygulama Güvenliği Tarama Aracı
  • Nexpose – Zafiyet/Risk Yönetimi Aracı
  • Nessus – Zafiyet Yapılandırma, Denetleme Aracı
  • OpenVAS -Açık Kaynaklı Zafiyet Tarama Aracı
  • OWASP Zed Attack Proxy – Web Uygulama Zafiyet Tarama Aracı
  • Secapps – Entegre Web Uygulama Güvenliği Test Ortamı
  • w3af – Web Uygulama Saldırı Aracı
  • Wapiti – Web Uygulama Zafiyet Tarama Aracı
  • Webreaver – Web Uygulama Zafiyet Tarama Aracı

 

Ağ Araçları

  • nmap – Ağ Haritası Çıkarmak, Çalışan Hizmetleri…vb. Bilgileri Elde Etmemize Yardımcı Olur
  • tcpdump – Paket Analizi Yapmamıza Yardımcı Olur
  • Wireshark – Ağ Protokol Analiz Aracı
  • Network Tools – Yaygın Olarak Kullanılan Ağ Araçları
  • netsniff-ng – Ağ Dinleme Aracı
  • SPARTA – Ağ Protokol Analiz Aracı

 

Kablosuz Ağ Araçları

  • Aircrack-ng – Kablosuz Ağ Trafiği Dinleme Aracı
  • KISMET – Kablosuz Ağ Dinleme Aracı
  • Reaver – Kaba Kuvvet Saldırı Aracı

 

SSL Analiz Araçları

  • SSLyze – SSL YapılandırmasI Tarama Aracı
  • sslstrip – https Saldırı Aracı

 

HEX Düzenleme

  • Hexed – Tarayıcı Tabanlı Hex Analiz Aracı

 

Kırma Araçları

 

Windows Araçları

 

DDoS Araçları

 

Sosyal Mühendislik Araçları

  • SET – Sosyal Mühendislik Araç Kiti

 

OSInt Araçları

  • Maltego – Aktif ve Pasif Bilgi Toplama Aracı

 

Gizlilik Araçları

  • Tor – Onion Yönlendirme İle Ağda Kimliğinizi Gizlemeye Yarar
  • I2P – The Invisible Internet Project

 

Tersine Mühendislik Araçları

 

Kitaplar

Sızma Testi Kitapları

 

Hacker ın El Kitabı Serisi

 

Ağ Analiz Kitapları

 

Tersine Mühendislik Kitapları

Zararlı Analiz Kitapları

Windows Kitapları

Sosyal Mühendislik Kitapları

Kilit Kırma Kitapları

 

Zafiyet Veritabanları

 

Güvenlik Kursları

 

Ctf Kütüphaneleri

 

Bilgi Güvenliği Konferansları

 

En Yaygın 125 Ağ Güvenliği Aracı

 

 

TR | Awesome Learn Pentesting Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/tr-awesome-penetration-testing/feed/ 0
TR | IP Fragmantasyonu ile DOS Saldırısı https://canyoupwn.me/tr-ip-fragmantasyonu-ile-dos-saldirisi/ https://canyoupwn.me/tr-ip-fragmantasyonu-ile-dos-saldirisi/#respond Mon, 29 Feb 2016 10:27:48 +0000 https://canyoupwn.me/?p=784 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bu çalışmada servis dışı bırakma saldırıları olarak bilinen (denial of service) dos saldırılarından biri gerçekleştirilecektir. Bu saldırıyı gerçekleştirmeden önce dos saldırısının ne olduğu bilinmelidir. Dos saldırısı bilgisayar sistemlerini çalışamaz hale getirmek için gerçekleştirilen saldırılardır. Burada amaç hedef sistemden veri sızdırmak değil, hedef sistemin sağlıklı olarak çalışmasını önlemektir. Dos saldırısı birçok farklı yöntemle gerçekleştirilebilir. Bu yazıda dos […]

TR | IP Fragmantasyonu ile DOS Saldırısı CanYouPwnMe

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bu çalışmada servis dışı bırakma saldırıları olarak bilinen (denial of service) dos saldırılarından biri gerçekleştirilecektir. Bu saldırıyı gerçekleştirmeden önce dos saldırısının ne olduğu bilinmelidir. Dos saldırısı bilgisayar sistemlerini çalışamaz hale getirmek için gerçekleştirilen saldırılardır. Burada amaç hedef sistemden veri sızdırmak değil, hedef sistemin sağlıklı olarak çalışmasını önlemektir. Dos saldırısı birçok farklı yöntemle gerçekleştirilebilir. Bu yazıda dos saldırıları içerisinde pek popüler olmayan, ip fragmantasyonu yöntemi ile dos saldırısı gösterilecektir.

Ip fragmantasyonu ile dos  atağından  bahsetmeden önce ip fragmantasyonundan ve bunun saldırıda nasıl kullanılacağından bahsedelim. Bir ip datagramı bir düğümden diğerine seyahat ederken farklı fiziksel ağlar üzerinden geçmektedir. (Internetworking) Her fiziksel ağın desteklemiş olduğu maksimum çerçeve boyutu ise birbirinden farklıdır. Örneğin Ethernet fiziksek ağı en fazla 1500 bayt çerçeve uzunluğuna sahip ip paketleri taşıyabiliyorken, ATM 9180, 802.5 4465, X25 de 526 baytlık çerçeve uzunluğuna sahip paketleri taşıyabilmektedir.  Bir ip datagramının uzunluğu ise 65536 bayttır. Bu boyuttaki verinin hedef sisteme iletilebilmesi için daha küçük parçalara ayrılması gerekir. Bu işi uç düğümlerde çalışan TCP protokolü yerine getirmektedir.(Bknz TCP Segmentation) Fakat ağ üzerinde seyahat eden ip paketleri farklı fiziksel haberleşme altyapıları üzerinden seyrettiklerinde TCP nin parçalamış olduğu ip datagramlarının boyutları bu haberleşme altyapılarına uyum gösterememektedir. Bu durum aşağıda gösterilmiştir.

Ekran Alıntısı

Şekilde görüldüğü gibi Ethernet altyapıya sahip A PC sinden  çıkan ip paketi 1500 bayt büyüklüğünde olup, hedefe giderken,  X25 altyapısına sahip bir başka ağ ile karşılaşmıştır. X25 haberleşme altyapısı ise en fazla 526 bayt büyüklüğünde paketlerin oluşturulmasını desteklemekte olup, 1500 baytlık ip paketinin bu altyapı üzerinden iletilmesi için parçalanması gerektiği anlaşılmaktadır.  Burada router ip paketini parçalar ve bu parçaları B PC’sine gönderir. B PC’sinin bu paketleri anlamlandırabilmesi için ip paketlerini yeniden birleştirmesi gerekmektedir. (Reassemble) Yeniden birleştirme işlemi yalnızca uç düğümlerde –bu örnek için PC B de– ip katmanında gerçekleştirilebilmektedir. Bu paketlerin ip katmanına iletilebilmesi için eksiksiz olarak uç düğüme ulaşmaları gerekmektedir. Uç düğümde fragmantasyona uğraşmış paketin parçaları birleştirilmeden önce eksiksiz olarak alınıp daha sonra IP katmanına iletilmesi için bir buffer tahsis edilir.

Bu buffer ip katmanı ile veri bağı katmanı arasında yer almaktadır.(mantıksal olarak) Uç düğüm fragmante edilmiş paketleri aldığında ip katmanında birleştirme işlemini icra eder. Aşağıdaki şekilde bu proses gösterilmiştir.

image

Birleştirilme işleminde aşırı zaman ve bellek kaybı oluşmaması amacıyla bir zamanlayıcı kullanır. Zamanlayıcı ilk ip fragmanı alındığında başlar ve set edildiği değere ulaştığında fragmate edilmiş paketlerin tamamı ulaşmamışsa parçalanmış tüm paketler elemine edilir. Tüm bu durumlar göz önüne alınarak bir atak vektör oluşturulması gerekmektedir.

Saldırı vektörümüzü oluşturmadan önce bir paketin uç düğümde alındığında gerçekleşecek olan yaşam döngüsünü bilmemiz gerekmektedir. Aksi takdirde bu dos atağını gerçekleştirmek imkânsız hale gelecektir.

Bir ip paketinin alıcı (receiver) tarafındaki yaşam döngüsü, diğer bir deyişle paket alma prosesi aşağıda açıklanmıştır.(Layer 1-2)

  • Alıcı donanım harekete geçer. Network Interface Controller (NIC), DMA (Direct Memory Access) ile paketi alır ve kernel belleğinde bulunan rx_ring halkasına paketi gönderir. Ham veri (Raw data) rx_ring ile birlikte sk_buff alanına kopyalanır. Veri kernel belleğine alındıktan sonra NIC aldığı veriyi anlamlandırabilmek için CPU ya kesme gönderir. (İnterrulp- Top halves)  CPU paketi işlemesi için kontrolü çekirdek ISR ye (Interrulp Service Routine) aktarır. Bu aşamada proses interrulp kontexinde çalışmaktadır yani diğer tüm kesmeler vb şeyler bu prosesi bölemez. Bu sebeple ISR hızlı çalışmalıdır.
  • Ortam kontrol edilir. ISR NET_RX_SOFTIQR fonksiyonunu çalıştırır ve interrulp handler çalıştırılmaya başlar. Paketler mümkün olduğunda hızlıca işlenip ağ katmanına alınabilmek için bottom halves bayrağı set edilir ve bottom halves durumuna gelinir.
  • Daha sonra net_rx_action fonsiyonu çalışır ve paket üzerinde yapması gereken kontrolleri yapar ve paketi işler. İşlemeler sonlanınca kesmeler sonlandırılır.
  • Backlog_device denilen yapay birikim kontrol aracı paketler için yoklama listesi tutar. Şayet liste tamam değilse netif_rx fonksiyonunu yeniden çağırır. Yoklama listesi tam ise kesme durumundan tekrar çıkılır. Bu mekanizma bir paketin safahatı tamamlanmış ise ağ sürücüsü tarafından eklendiği input_pkt_queue kuyruğundan silinmesi için kullanılır.
  • Bu aşamada işlemi tamamlanan paketler için netif_receive_skb fonksiyonu çalıştırılır ve paketler tiplerine göre ayrılır ve ip_rcv fonsiyonlarına devredilerek işlemler tamamlanır.
  • Mevcut proses denetimine geri dönülür.

Yukarıda ayrıntılı olarak anlatılan paket işleme durumunu özetleyecek olursak. Bottom halves durumunda network ile veri katmanı arası çalıştırılır. (Layer 2-3)

  • Bu katman bottom halvesta çalıştırılır.
  • Bottom halves durumundan çıkmak için ağ katmanına gönderilecek bekleyen paket var ise bu paketi hemen ağ katmanına gönderilir.
  • Döngü boyunca kuyrukta bekleyen ve işlenmiş tüm paketleri Internet kabul protokolüne gönderilir.
  • Gönderilen paketler kuyruğu temizlenir.
  • İşleme prosesi sona erince Bottom half durumundan çıkılır.

Anlatılan prosesin aşağıdaki şekilde data link ve internet katmanlarında gerçekleştiği  görülmektedir.

r_rx

Geliştireceğimiz atak vektör tamda bu noktada devreye girecektir. Burada alıcı proses çalışırken bottom halvese girip oradan çıkamamasını sağlamak istemekteyiz. Çünkü bottom halves işlemleriyle meşgul olan cpu, diğer proseslere kaynak ve zaman ayıramayacak ve çalışma verimliliğini yitirecektir. Paket alma prosesinini bottom halves durumundan çıkamaması için sürekli olarak ip katmanına iletilecek olan bekleyen paket kuyruğunun dolu olması gerekmektedir. Burada bu kuyruğu doldurmak için normal olarak gönderilecek ip paketleri yetersiz kalacaktır.  Çünkü bu katman bu paketleri hızlıca işleyip  bir üst katmana yani ip katmanına iletir. Fakat sisteme sürekli ve yoğun olarak fragmante edilmiş ip paketleri gönderilirse (hatırlanacağı gibi fragmente edilmiş ip paketleri yalnızca ip katmanında birleştirilebilir) backlog_device kontrollerinde görüleceği gibi tampon fragmante edilmiş ip paketleriyle dolacak ve işlenmesi bitmemiş ip paketleri -fragmente edilmiş parçaların tamamının gelmesini beklenecek-  tamponda yer kaplamaya devam edecek, böylece yukarıda da anlatıldığı gibi net_rx_action fonksiyonu sürekli olarak çağrılacaktır. Yani sistem bottom halves durumundan fragmente edilen paketler için kurulan timer süresi dolana kadar çıkamayacaktır.

Yukarıda da anlatılan algoritmada belirtildiği gibi boşalmayan tampon bottom halves durumundan çıkamayacaktır. Böylece sistem kaynakları kernel alanı tarafından yani (software interrulp) kesmeler tarafından kullanılacaktır ve bu da CPU’nun verimliliğini düşürecektir.

Bu aşamada kesmelerin ne olduğunu ve özelliklerini bilmek ve açıklamak zorunlu hale gelmiştir. Özellikle Linux tabanlı işletim sistemlerinde iki farklı çeşit kesme çeşidi bulunmaktadır. Bunlar top halves ve bottom halves olarak adlandırılırlar.

Top halves zaman hassasiyeti olan işler için gerçekleştirilir ve bu kesme handle edildiğinde işletim sistemi önceliği tamamen bu kesmeye verir. Bu durum genelde donanımların göndermiş oldukları kesmelerde meydana gelir. Top halves kesmeler kısa ve hızlı olmak zorundadır. Çünkü işletim sistemi diğer tüm işlemleri askıya alıp önceliği bu işleme vermiştir. Bu durum Top-half kesmelerin interrulp contex alanında tanımlanmasıyla açıklanmaktadır. Top halves kesmeleri, yapılması gereken ertelenebilir işleri ikinci kesme kategorisi olan bottom halvese devreder. Bottom halves da bir kesme türüdür fakat ertelenebilir kesme işlemleri bu seviyede icra edilir. Örneğin network donanımına gelen bir paket ilk algılandığında top halves kesmesi gelir ve bu paketin geriye kalan tüm işlemlerinin icrası için durum bottom halvesa devredilir. Bottom Halves kernel contexi alanında tanımlıdır ve daha fazla aciliyete sahip bir kesme geldiğinde beklemeye geçebilir.  Aşağıdaki şekilde kesme contex alanları gösterilmiştir.

figure1

Tüm bu açıklamalar yapıldıktan sonra artık ip fragmantasyonu tabanlı atak gerçekleştirilebilir. Bu atak çift çekirdek ve multiple cores işlemcili Centos 7 işletim sistemine sahip sanallaştırılmış bir makineye gerçekleştirilecektir. CPU bilgileri aşağıda gösterilmiştir.

cpu

Saldırının amacı bol miktarda fragmante edilmiş ip paketi göndererek Centos 7 sunucusunda yazılım kesmeleri kaynaklı CPU faaliyeti meydana getirmektir. Fragmante edilmiş ip paketi hazırlayabilmek için çeşitli araçlar bulunmaktadır. Bu atakta bu araçlardan hping3 tercih edilmiştir. Bunun sebebi, kullanımı kolay, hızlıca paket oluşturabilmesi ve birçok faydalı özelliğinin bulunmasıdır. Hping3’ ün kullanımı için https://canyoupwn.me/?p=441  adresini ziyaret edebilirsiniz.

Saldırıyı gerçekleştirmek için aşağıdaki hping komutunu çalıştırıyoruz.

Hping3 192.168.1.47 –data 3000 –mtu 200 –flood –rand-source –C 8

Bu komutu açıklayacak olursak, burada 192.168.1.47 saldırıyı gerçekleştireceğimiz sunucunun ip adresi, –flood hping’in olabildiğince fazla paket hazırlayıp göndermesini sağlayan parametre, –rand-source parametresi oluşturulan her pakete farklı bir kaynak ip adresi ekleme parametresi ve –C 8 ise oluşturulan paketin bir ICMP Echo Request paketi olmasını sağlayan parametredir. Bu komutta –data parametresi ile oluşturulacak olan pakete 3000 bayt büyüklüğünde veri eklemeyi amaçlıyoruz ve –mtu parametresiyle de gönderilecek olan paketlerin boyutunun en fazla 200 bayt olabileceğini belirtiyoruz. Bu şekilde paket oluşturmamızın amacı ise hpingin ip fragmantasyonunu paketi gönderirken otomatik olarak yapmasını istememizdir. Şöyle ki hping oluşturduğu her pakete 3000 baytlık veriyi yüklemeye çalışacak fakat mtu değerinin 200 olduğunu gördüğü an bu verinin tek bir pakette gönderilemeyeceğine karar vererek ve 3000 baytı 200 baytlık parçalara fragmante ederek göndermeye çalışacaktır. Gerçekleştirilen bu saldırılar sonucu kurban makinenin (192.168.1.47) CPU durumu ise aşağıda gösterilmiştir.

dasdsa

Kurban makine yukarıdaki ekran görüntüsünde de görüldüğü gibi CPU zamanının önemli bir kısmını si yani software interrulplara harcamaktadır. Yani istenilen sonuca ulaşılmıştır. Burada dikkat edilmesi gereken farklı bir nokta ise CPU faaliyetinin user space yani kullanıcı proseslerinde değil, kernel space yani kernel seviyesinde olmasıdır. Yukarıdaki top komutunun çıktısında da görüldüğü gibi kullanıcı proseslerinin gösterildiği alanda CPU yoğunluğu gösterilmemiştir.

IP fragmantasyonun bu saldırıdaki rolünü iyice anlamak için fragmantasyon yapılmış ve yapılmamış ip paketleriyle bu atak vektörü denenmelidir. İlk olarak aşağıda ip fragmantasyonuna uğramamış paketler ile gerçekleştirilen saldırı gösterilmiştir. Sonuç aşağıdaki gibidir.

Hping3 192.168.1.47  –flood –rand-source –C 8

41412441

IP fragmantasyonuna uğramış paketler ile gerçekleştirilen saldırının sonuçları ise aşağıdaki gibidir.

213131313

Ekran görüntülerinden de anlaşılacağı gibi fragmantasyona uğrayan paketler ile gerçekleştirilen ataklar cpunun zamanını neredeyse iki kat daha fazla almışlardır. (Kurban makinde cpu durumunu görüntülemek için htop komutu kullanılmıştır. Htop anlık verileri ekrana getirdiğinden cpu faaliyetleri stabil hale geldikten sonra ekran görüntüsü alınmıştır.)

Sonuç olarak ip fragmantasyonu ile gerçekleştirilen dos ataklarının, parçalanmamış ip paketleriyle yapılan ataklara göre daha fazla sistemi yorduğu anlaşılmıştır. Burada önemli olan bunun sebeplerinin başlangıçta da bahsedildiği gibi iyi irdelenmesidir.

TR | IP Fragmantasyonu ile DOS Saldırısı CanYouPwnMe

]]>
https://canyoupwn.me/tr-ip-fragmantasyonu-ile-dos-saldirisi/feed/ 0