Kaba Kuvvet Saldırıları
Brute Force saldırısı, web sayfasındaki herhangi bir kullanıcı adını, şifreyi, dizini ya da bir şifreleme anahtarını deneme yanılma yöntemiyle bulmak için gerçekleştirilen etkinliğe verilen addır.
Saldırının süresi, aranan hassas verinin uzunluğuna göre değişecektir. Basit bir şifre veya kullanıcı adı için girişimlerde bulunuluyorsa bu kısa bir zaman alabilir, karmaşık ifadeler için ise yıllar sürebilir.
Kaba kuvvet saldırılarını temel olarak iki kategoride açıklayabiliriz.
1.1. Çevrimiçi kaba kuvvet saldırıları
Çevrimiçi kaba kuvvet saldırılarında saldırgan ve mağdur aynı anda çevrimiçi olup duruma göre birbirleriyle iletişim kurarlar. Bu saldırıları Aktif ve Pasif olarak da sınıflandırmak mümkündür.
1.1.1. Pasif Çevrimiçi Kaba Kuvvet Saldırıları
Pasif çevrimiçi kaba kuvvet saldırılarında saldırgan ve mağdur aynı ağ üzerindedir ancak birbirleriyle doğrudan temasları yoktur. Saldırgan genellikle kurban makine ile birebir bağlantı kurmadan pasif yollarla şifreyi ele geçirmeye çalışır. Bu tür saldırılara aşağıdaki örnekleri verebiliriz.
Man in the Middle: Bu saldırı tarzında ortam ve hedef makine ile ilgili trafik dinlenerek şifre vb. ele geçirilmeye çalışılır.
Sniffing: Sniffing tarzı saldırılar, aynı ağ üzerinde bağlantı varsa ve sistemde hub gibi bir ağ aracı kullanılıyorsa etkilidir çünkü hub tüm portlara bir paket gönderir ve tüm LAN bu paketi görebilir. Switch gibi araçlar kullanılırsa bu araçlar hedef sisteme gönderilecekleri filtreleyecektir ve burada sniffing etkili değildir.
1.1.2. Aktif Çevrimiçi Kaba Kuvvet Saldırıları
Aktif çevrimiçi kaba kuvvet saldırılarında saldırgan, kurban makineyle doğrudan iletişim kurar ve kurban makinedeki ilgili servise gerekli denemeleri yapar. Örneğin bir web sunucusuna, e-posta sunucusuna, SSH servisine, RDP servisine ya da bir veritabanı servisine yapılan kullanıcı/şifre denemeleri bu başlığa örnek olarak verilebilir.
Bu basit şifreler için oldukça avantajlı bir yöntemdir ancak güçlü şifreler için genellikle kısa vadede işe yaramaz. Hesabın kilitlenmesi, hedef sistemin devre dışı bırakılması gibi durumlara neden olabilir.
1.2. Çevrimdışı Kaba kuvvet saldırıları
Çevrimdışı kaba kuvvet saldırıları, önceden yakalanmış şifrelenmiş veya karma veriler için kullanılır. Bu saldırı türünde saldırganın doğrudan kurbanın makinesiyle aktif bir bağlantı kurmasına gerek yoktur. Saldırgan bir şekilde erişim sağladığı şifre dosyasına çevrimdışı saldırı gerçekleştirebilir. Saldırıya uğrayacak şifre bilgileri farklı yollarla elde edilebilmektedir. Örneğin;
- Kablosuz ağlardaki paketleri yakalayarak
- Mitm saldırısıyla bir paketi yakalamak
- SQLi zayıflığıyla karmaları db’den boşaltma
- Windows sistemlerinde SAM veya NTDS.dit veritabanı
Genellikle bu saldırılar 3 farklı şekilde gerçekleştirilir.
1.2.1. Sözlük Saldırıları / Dictionary Attacks
Bu ortak şifre kullanımından kaynaklanan bir sorundur. Genellikle birden fazla kişinin aynı şifreyi yanlışlıkla kullanması sonucu ortaya çıkan bir saldırı yöntemidir. Saldırgan öncelikle deneyeceği şifrelerden kendine bir sözlük oluşturur. İnternetten hazırlanmış bir sözlük bulabilir veya dilediği gibi oluşturabilir. Daha sonra bu sözlükteki her kelime hedef sistemde şifre olarak test edilir.
1.2.2. Kaba Kuvvet Saldırıları
Kaba kuvvet saldırıları, belirli bir aralıktaki tüm olasılıkların tek tek denenmesiyle gerçekleştirilen bir yöntemdir. Örneğin aradığımız şifre en fazla 5 karakterden oluşuyorsa saldırgan 1 hane, 2 hane, 3 hane, 4 hane ve 5 hane (büyük-küçük harfler, rakamlar dahil) olmak üzere tüm olasılıkları tek tek dener. ve özel karakterler). Eğer karmaşık bir şifre bulmak için saldırı yapılırsa, kullanılan donanımın durumuna göre saldırı süresi oldukça uzun olabilir.
1.2.3. Gökkuşağı Masa Saldırıları / Rainbow Table Attacks
Rainbow saldırısında belirli bir aralıktaki tüm şifre olasılıklarının ilgili fonksiyonla hesaplandığını unutmamalıyız. Örneğin 4 haneye kadar olası tüm şifrelerin MD5 değerlerini önceden hesaplamalıyız.
Bu saldırı türünde saldırgan, önceden hesaplanan hash dosyasını, kırmak istediği şifre özetiyle hızlı bir şekilde karşılaştırır ve eşleşme varsa şifreyi elde eder. Buradaki en büyük sorun bu hashleri hesaplamak veya bir şekilde hesaplanan forma ulaşmaktır. Örneğin 8 haneye kadar tüm olasılıkları içeren bir parola için gökkuşağı tablosu oluşturmak için yüksek işlem gücü ve disk alanı gerekir.
Kaba Kuvvetle Saldırılabilecek Protokol/Hizmetler
Kaba kuvvet saldırılarına kurumlarda en çok aşağıdaki alanlarda karşılaşılmaktadır.
- Web uygulaması oturum açma sayfaları
- RDP hizmetleri
- SSH hizmetleri
- Posta sunucusu oturum açma sayfaları
- LDAP hizmetleri
- Veritabanı hizmetleri (mssql,mysql, postgresql, oracle, vb.)
- Web uygulaması ana dizinleri (dizin kaba kuvvet)
- DNS kayıtlarını tespit etmek için DNS sunucuları (dns kaba kuvvet)
Kaba Kuvvet Saldırılarında Kullanılan Araçlar
Aircrack-ng : aircrack-ng, yeterli miktarda şifrelenmiş paket toplandığında 40 bit, 104 bit, 256 bit veya 512 bit WEP anahtarını kurtarabilen bir 802.11a/b/g WEP/WPA kırma programıdır. Ayrıca WPA1/2 ağlarına bazı gelişmiş yöntemlerle veya sadece kaba kuvvetle saldırabilir.
John the Ripper : John the Ripper, sistem yöneticilerinin zayıf (tahmin edilmesi kolay veya kaba kuvvetle kırılması kolay) şifreleri bulmasına yardımcı olmak ve hatta istenirse kullanıcıları bu konuda otomatik olarak e-postayla uyarmak için tasarlanmış bir araçtır. Unix, Windows ve OpenVMS dahil 15 farklı platformda çalışır.
L0phtCrack : Windows şifrelerini kırmak için bir araç. Gökkuşağı tablolarını, sözlükleri ve çok işlemcili algoritmaları kullanır.
Hashcat : Hashcat, 300’den fazla yüksek düzeyde optimize edilmiş karma algoritması için beş benzersiz saldırı modunu destekler. hashcat şu anda Linux’ta CPU’ları, GPU’ları ve diğer donanım hızlandırıcılarını desteklemektedir ve şifre kırmayı dağıtmaya yardımcı olacak olanaklara sahiptir.
Ncrack : ağ kimlik doğrulamasını kırmak için bir araç. Windows, Linux ve BSD’de kullanılabilir. Şirketlerin, tüm ana bilgisayarlarını ve ağ aygıtlarını zayıf parolalara karşı proaktif olarak test ederek ağlarını güvence altına almalarına yardımcı olmak için tasarlandı.
Hydra : Hydra, saldırı için çok sayıda protokolü destekleyen paralelleştirilmiş bir oturum açma korsanıdır. Çok hızlı ve esnektir ve yeni modüllerin eklenmesi kolaydır.
Referans: kali.org/tools/
Kaba Kuvvet Saldırılarından Nasıl Korunulur?
Kuruluşunuzu kaba kuvvet saldırılarından korumak için güçlü parolaların kullanımını zorunlu kılın.
Şifreler için en iyi uygulamalardan bazılarını aşağıda bulabilirsiniz:
- Çevrimiçi olarak bulunabilecek bilgileri (aile üyelerinin isimleri gibi) asla kullanmayın.
- Mümkün olduğu kadar çok karaktere sahip olun.
- Harfleri, sayıları ve sembolleri birleştirin.
- Minimum 8 karakter.
- Her kullanıcı hesabı farklıdır.
- Yaygın kalıplardan kaçının.
Bir kuruluşun yöneticileri olarak kullanıcıları kaba kuvvet saldırılarından korumanın bazı yolları şunlardır:
Kilit Politikası – Belirli sayıda başarısız oturum açma denemesinden sonra, hesapları kilitleyebilir ve ardından yönetici olarak bunların kilidini açabilirsiniz.
Aşamalı gecikmeler / Progressive delays – Belirli sayıda başarısız oturum açma denemesinden sonra hesapları sınırlı bir süre için kilitleyebilirsiniz.
Recaptcha – Captcha-reCAPTCHA gibi araçlarla kullanıcıların bir sistemde oturum açabilmeleri için basit görevleri tamamlamalarını zorunlu hale getirebilirsiniz.
Güçlü Şifre Politikası – Kullanıcıları uzun ve karmaşık şifreler tanımlamaya ve periyodik olarak şifrelerini değiştirmeye zorlayabilirsiniz.
2FA – Kullanıcı adı ve şifrenin girilmesinin ardından ek bir doğrulama mekanizması (SMS,mail,token,push notice vb.) ile kullanıcıdan ikinci bir doğrulamanın istendiği yöntemdir.
4.1. Kaba Kuvvet Saldırısı Tespiti
Kaba kuvvet saldırılarını tespit etmek için genellikle SIEM sistemlerinde belirli kurallar tanımlanır. Bu kuralları tanımlarken kullanıcının belirli bir süre içinde kaç tane başarısız giriş denemesi yaptığını dikkate alıyoruz. İlgili alarmlar analiz edilirken deneme protokolünün/uygulamanın logları incelenerek gerekli çıkarımlar yapılır. Aşağıda bazı kaba kuvvet saldırılarına örnekler verilmiştir.
SSH Kaba Kuvvet Saldırısı Tespit Örneği
SSH kaba kuvvet saldırısı ile sunucuda kullanılan basit şifreler saldırganlar tarafından kolaylıkla bulunabilmektedir. Bu tür saldırılar başarısız olursa, saldırgan yalnızca belirli sayıda başarısız parolayı deneyecektir. Başarılı olursa, belirli sayıda başarısız oturum açma denemesinden sonra parola başarıyla girilir.
Örnek bir SSH kaba kuvvet analizinde, “/var/log/auth.log.1” dosyasının içeriğini ve başarısız giriş denemelerini içeren bir linux makine logunu görüntülediğimizde, başarısız giriş denemelerinin kime ait olduğunu görebiliriz.
cat auth.log.1 | grep “Failed password” | cut -d ” ” -f10 | sort | uniq -c | sort
Bu girişimleri yapan IP adreslerini bulmak için aşağıdaki gibi bir komut kullanılabilir.
cat auth.log.1 | grep “Failed password” | cut -d ” ” -f12 | sort | uniq -c | sort
Başarıyla giriş yapan kullanıcılar aşağıdaki komutla da tespit edilebilir.
cat auth.log.1 | grep “Accepted password”
Burada görüldüğü gibi iki farklı IP adresinden iki farklı kullanıcı ile başarılı giriş denemeleri görülmektedir.
Daha önceki başarısız giriş denemeleri karşılaştırıldığında “analist” kullanıcının başarılı bir şekilde giriş yaptığı ip adresinden daha önce başarısız bir giriş denemesi yapmadığı görülmektedir. Ancak “analist” kullanıcısının daha önce başarılı bir şekilde giriş yaptığı ip adresinden başarısız bir giriş denemesi yapmadığı görülmektedir. Ancak “analist” kullanıcısının ” Letsdefend” kullanıcısı 188.58.65.203 IP adresindedir. Bu da bize saldırganın bruteforce sırasında Letsdefend kullanıcısı ile başarılı bir şekilde giriş yaptığını gösteriyor.
Yukarıda görüldüğü gibi başarılı ve başarısız oturum açan kullanıcılar temel Linux komutlarıyla kolayca bulunabilir. Bu iki sonuç detaylı olarak incelendiğinde, Letsdefend kullanıcısının 188.58.65.203 IP adresinden yaptığı birçok başarısız denemeden sonra başarılı bir giriş yapıldığı görülmektedir.
HTTP Giriş Kaba Kuvvet Saldırısı Tespit Örneği
HTTP giriş kaba kuvvet saldırılarında, saldırgan genellikle giriş sayfasında sözlük saldırısıyla şifre dener. Bunun analiz edilebilmesi için ilgili log dosyasının içeriğinin bir metin editörü ile açılması ve logların incelenmesi gerekmektedir.
Aşağıdaki ekran görüntüsü bir HTTP oturum açma kaba kuvvet saldırısını göstermektedir. Kullanıcının belirli sayıda başarısız giriş denemesinden sonra şifreyi başarıyla girerek şifreyi bulduğu görülmektedir. Burada başarısız giriş denemelerine verilen yanıttaki paket boyutları ile başarılı giriş denemelerine verilen yanıttaki paket boyutları arasındaki fark açıkça görülmektedir.
Windows Oturum Açma Kaba Kuvvet Algılama Örneği
7.1 Windows Oturum Açma Kayıtları
Genel durum göz önüne alındığında, başarılı veya başarısız olan tüm siber saldırılarda bir giriş etkinliği karşımıza çıkmaktadır. Saldırgan çoğu zaman sunucuya giriş yaparak sistemi ele geçirmek ister. Bu amaçla kaba kuvvet saldırısı gerçekleştirebilir veya elindeki şifre ile doğrudan giriş yapabilir. Her iki durumda da (başarılı oturum açma / başarısız oturum açma girişimi) günlük oluşturulacaktır.
Kaba kuvvet saldırısı sonrasında sunucuya giriş yapan bir saldırganı düşünelim. Saldırganın sisteme girdikten sonra ne yaptığını daha iyi analiz edebilmek için giriş tarihini bulmamız gerekiyor. Bunun için “Olay Kimliği 4624 – Bir hesap başarıyla oturum açıldı”ya ihtiyacımız var.
Her olay günlüğünün kendi kimlik değeri vardır. Günlük başlığını filtrelemek, analiz etmek ve aramak daha zor olduğundan ID değerini kullanmak kolaydır.
Hangi Event ID değerinin ne anlama geldiğinin ayrıntılarını aşağıdaki URL adresinden bulabilirsiniz.
Dersin günlük dosyası:
Log_File.zip Pass=321 (https://files-ld.s3.us-east-2.amazonaws.com/Log_File.zip)
Sonuca ulaşmak için “Olay Görüntüleyici”yi açıp “Güvenlik” loglarını seçiyoruz.
Daha sonra “4624” Event ID için filtre oluşturuyoruz.
Artık log sayısının önemli ölçüde azaldığını görüyoruz ve yalnızca başarılı giriş etkinliklerinin loglarını listeliyoruz. Log detaylarına baktığımızda “LetsDefendTest” kullanıcısının ilk olarak 23/02/2021 22:17’de giriş yaptığını görüyoruz.
“Logon Type” alanına baktığımızda 10 değerini görüyoruz. Bu, “Uzak Masaüstü Hizmetleri” veya “Uzak Masaüstü Protokolü” ile giriş yaptığınızı gösterir.
Oturum açma türü değerlerinin anlamını Microsoft’un sayfasında bulabilirsiniz.
Bir sonraki bölümde saldırganın giriş yapmadan önce yaptığı Brute Force saldırısını tespit edeceğiz.
7.2 Windows RDP Kaba Kuvvet Tespiti
Bu bölümde yanal hareket aşamasında olan bir hücum oyuncusunu yakalayacağız. Saldırgan RDP üzerinden kaba kuvvet kullanarak diğer makineye atlamaya çalışıyor.
Günlük dosyasını indirin: Log_File.zip Pass=321
Log_File.zip Pass=321 (https://files-ld.s3.us-east-2.amazonaws.com/Log_File.zip)
RDP’de başarısız bir oturum açma işlemi yapıldığında, “Olay Kimliği 4625 – Bir hesap oturum açamadı” günlüğü oluşturulur. Bu kaydı takip edersek saldırganın izini bulabiliriz.
Filtreleme sonrasında 4625 Event ID’li 4 adet log görüyoruz.
Tarihlere baktığımızda logların birbiri ardına oluştuğunu görüyoruz. Detaylara baktığımızda tüm logların “LetsDefendTest” kullanıcısı için oluşturulduğu görülüyor.
Sonuç olarak saldırganın 4 kez başarısız bir şekilde giriş yapma girişiminde bulunduğunu anlıyoruz. Saldırının başarılı olup olmadığını anlamak için bir önceki bölümde gördüğümüz 4624 logunu araştırabiliriz.
Sonuçlardan da anlaşılacağı üzere saldırgan 4625 logundan sonra 4624 loguyla da sisteme bağlanmayı başarmıştır.