Ders 2 - Brute Force (Low Level) | ||||||||||||||||||||
Bu yazıda DVWA adlı web uygulamasının içerisinde bulunan bir sayfanın güvenlik zafiyetinden faydalanarak Brute Force saldırısında bulunulacaktır.
Bu tutorial'ın saldırı içerikli ilk yazısının konusuna başlamadan önce bir defaya mahsus tutorial boyunca takip edilecek anlatım methodundan bahsetmekte fayda var. Her ders yazısına Dersin Hedefi başlıklı bir alt başlıkla başlanacaktır. Bu başlık yapacağınız saldırı ile ne sonuca varmanız gerektiği konusunda size direktif verecektir. Ardından derste kullanılacak saldırı tekniğinin tanımından bahsedilecektir. Bunun akabinde ise bahsedilen saldırı tekniğinin DVWA'daki güvenlik zafiyeti barındıran sayfaya nasıl uygulanabileceğinden bahsedilecektir. Böylelikle teorik olarak öğrendiğiniz saldırı tekniğinin pratikte uygulanışını tecrübe etmiş olacaksınız. Dersi toparlamak adına bir de Sonuç bölümü yer alacaktır. Opsiyonel olarak ise Sonuç bölümünden sonra Ekstra adlı başlık yer alacak olup bu başlık saldırıyı gerçekleştirme hususunda kullanılabilecek yan tool'lardan bahsedecektir. Evet, tutorial'ın işleyişi kabaca bu şekilde olacaktır. Haydi şimdi derse başlayalım. Dersin HedefiHedefiniz Brute Force saldırısı yaparak admin kullanıcısının şifresini kırmaktır.Brute Force Nedir?Brute Force (Kaba Kuvvet), şifre kırma saldırılarında kullanılan bir saldırı tekniğidir. Bu saldırı tekniği ile login geçiş noktası olan herhangi bir uygulamaya saldırı düzenleyebilir ve doğru şifreyi bulup birinin hesabına giriş yapabilirsiniz. Brute Force ile aynı işleve sahip, fakat tür olarak alternatif bir seçenek olan Dictionary (Sözlük) ise yine şifre kırma saldırılarında kullanılan bir saldırı tekniğidir. Bu teknik ile de login geçiş noktası olan herhangi bir uygulamaya saldırı düzenleyip doğru şifreyi edinmemiz doğrultusunda birinin hesabına giriş yapabilirsiniz.Brute Force (yani kaba kuvvet) saldırısı, programa verilecek karakter seti (örn; a'dan z'ye tüm harfler veya A'dan Z'ye tüm harfler v.b.) bilgisi, minimum kelime uzunluğu bilgisi ve son olarak maksimum kelime uzunluğu bilgisi ile programın kendisine verilen bu limitler doğrultusunda elde edilebilecek maksimum tüm kelimeleri sırasıyla şifre bu mu değil mi diye login noktasına denemesine denir. Dictionary (yani sözlük) saldırısı ise binlerce, belki milyonlarca sık kullanılan şifrelerin alt alta yer aldığı bir txt dosyasının programa verilip dosyanın her satırının (yani her olası şifrenin) şifremiz bu mu değil mi diye sırayla login noktasına denendiği saldırı türüne denir. Milyonlarca sık kullanılan şifreler arasından birisi eşleştiği an (yani işe yaradığı an) şifre kırıldı (tespit edildi) denir. Brute Force saldırısı görüldüğü üzere verilen limitler (kısıtlar) doğrultusunda türetilebilecek tüm kombinasyonların denendiği bir saldırı türüdür. Tüm kombinasyonlardan kasıt şudur: Bilgisayar sistemlerinde bir karakter - mesela a harfi - 8 bitten oluşur. (10010001 gibi). Bu 8 bitlik sayının 1'lerini ve 0'larını değiştirerek biz aslında alfabedeki harfleri değiştirmiş oluruz. İşte bu 8 haneli sayıdan türetilebilecek tüm sayılara (karakterlere) tüm kombinasyonlar adını veriyoruz. Brute force saldırısını tüm kombinasyonları deneyecek şekilde düzenlersek bu kombinasyonlar içerisinden biri şifrenin kendisi olursa şifre tespit edilmiş olacaktır. Daha teknik ifadeyle şifre kırılmış olacaktır. Teorik olarak tüm kombinasyonları denemek şeklinde uygulanan Brute Force saldırıları sizi daima kesin sonuca götürür. Yani bu yöntemle kırılamayacak şifre yoktur. Her şifre kırılabilir. Fakat bu yöntem saniyeler içerisinde sizi sonuca götürebileceği gibi günler, haftalar, aylar hatta yıllar içerisinde de sizi sonuca götürebilir. Yani tüm kombinasyonları denemek biraz maliyetli, zaman isteyen bir iştir. Dolayısıyla bunun yerine - Brute Force saldırıları yerine - genellikle sözlük saldırıları gerçekleştirilir. Yani daha önceden oluşturulmuş olası yüzlerce, binlerce şifrelerin yer aldığı bir text dosyasındaki tüm şifreler yazılımla login noktasına sırayla denenir. Eğer saldırgan şanslıysa şifreyi tutturur ve login noktasından içeri girer. Tüm kombinasyonları denemek kadar garanti olmasa da yine de daha optimum bir yoldur. İnternet üzerinde bu iş için paylaşılmış hazır ve kapsamlı sık kullanılan / olası şifreler sözlükleri bulunmaktadır. Brute Force Nasıl Yapılır?Bu başlık Brute Force nasıl yapılır şeklindedir. Fakat tıpkı Brute Force gibi otomatik şekilde deneme yanılma yapan, yani aynı prensipte çalışan,fakat olası şifre kaynağı olarak matematikten değil de daha önceden doldurulmuş bir olası şifreler txt dosyasından yararlanan Dictionary saldırısı ilave olarak gösterilecektir. Bu iki şifre kırma saldırısını yapabilmek için Burpsuite adlı bir yazılımdan faydalanılacaktır.Burpsuite yazılımını şu adresten temin edebilir, Windows kullanıcısıysanız indirdiğiniz jar dosyasının üzerine çift tıklayarak, Linux kullanıcısıysanız konsoldan java -jar burpsuite-versiyonNo.jar şeklinde kodlamayı terminalde tuşlayarak başlatabilirsiniz. Ama ufak bir not: Burpsuite, çalışmak için JRE'ye ihtiyaç duyar. Eğer JRE, makinanızda yüklü değilse Windows kullanıcıları şu adresten ilgili JRE sürümünü indirip kurabilirler, linux kullanıcıları ise aşağıdaki sistem kodlamalarını terminallerine sırasıyla girerek JRE'yi makinalarına kurabilirler: sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer Not: Bu makalede yer alan Brute Force saldırısını Burp ile uygulayabilmeniz için Burp'ün lisanslı (ücretli) sürümününe ihtiyacınız vardır. Ancak makalenin devamında gelecek ücretsiz sürümlerin yapabilmesine olanak verilmiş Dictionary saldırısını halen yapabilir durumdasınız. Dolayısıyla ücretli sürüme sahip değilseniz Brute Force Attack Nasıl Yapılır başlığını pas geçip Dictionary Attack Nasıl Yapılır başlığına geçebilirsiniz. Brute Force Attack Nasıl Yapılır DVWA web uygulamasındaki Brute Force saldırısını deneme sayfasında bir login ekranı sizi karşılayacaktır. ![]() [!] Uyarı:Brute force tekniğiyle şifre kırma saldırılarında limitler programa ne kadar yukarı değerlerde verilirse şifre kırma süresi de türetilecek bu kombinasyonlar adedince uzayacaktır. Dolayısıyla DVWA'da admin kullanıcısı şifresi password olduğundan ve bu şifre 8 karakterli olduğundan verilecek limitleri ne kadar küçültürseniz küçültün şifreyi kısa sürede kırma deneyimi elde edemeyeceksiniz. Bu nedenle işleyişi anlamak adına şimdilik DVWA'nın bir başka saldırıyı konu edindiği bir sayfasındaki (CSRF sayfasındaki) şifre değiştirme ekranından şifrenizi daha basit bir şifreyle değiştirin. Bu sayede brute force ile şifre kırma saldırısı yaptığınızda şifreyi kırma süreniz ciddi oranda düşecektir. Örneğin bu derste biz, şifremizi 4 karakter uzunluğunda ve alfabedeki harflerden oluşan "saat" yapalım (not: bu işlem sonrası DVWA'dan çıkış yapıp tekrar login oldurken admin hesabına saat şifresiyle giriş yapabildiğinizi görebilirsiniz).
Dersin hedefi başlığında da belirtildiği gibi hedefimiz admin kullanıcısının şifresini kırmaktır. Bu iş için BurpSuite yazılımını ve saldırı esnasında kullanacağınız tarayıcıyı yapılandırmanız gerekmektedir. Bunun için BurpSuite'i başlatın ve Proxy sekmesine geçiş yapın. ![]() Sonra Options sekmesine tıklayın. ![]() Ardından Edit butonuna tıklayın ve aşağıdaki resimdeki gibi ayarlamaları yapın. ![]() ![]() Ardından BurpSuite'in penceresinden biraz aşağıya kayın ve aşağıdaki resimden de görülebileceği gibi Intercept Client To Server Message'a tick işareti koyulu olduğundan emin olun. Bu tick işareti sizin login ekranında deneme mahiyetinde yapacağınız ilk giriş teşebbüsünde talebinizi sunucuya gitmeden BurpSuite'in yakalamasını sağlayacaktır. Ardından BurpSuite'e vereceğimiz limitler doğrultusunda bu ilk giriş teşebbüsü türetilen her olası şifre (kelime) ile denenmek üzere tekrarlanacaktır. ![]() Şimdi Firefox'u (veya başka bir tarayıcıyı) açın ve aşağıdaki adımları uygulayın. ![]() ![]() ![]() Artık Brute Force için hazırsınız. DVWA'nın Brute Force ders ekranına gelin. Login ekranına rastgele bir şeyler girin. Mesela kullanıcı adı için deneme ve şifre için de deneme girin: ![]() Login butonuna tıkladığınız an BurpSuite bu isteğinizi sunucuya giderken yakalayacaktır ve brute force saldırısı için gerekli limitleri ekleyebilmeniz adına bekletecektir. BurpSuite penceresine gelin ve Proxy > Intercept sekmelerine tıklayın. ![]() Yukarıdaki pencerede yer alan kodların bulunduğu alana sağ tıklayın ve Send To Intruder seçeneğine tıklayın. Bu işlem sizi aşağıdaki resimde görünen sekmeye yönlendirecektir: ![]() Yukarıdaki resmin sağ tarafında bulunan Clear $ butonuna tıklayın. Bu işlem, BurpSuite'in brute force uygulamak adına otomatik olarak seçtiği tüm parametreleri seçimli halden kaldırmak içindir. Biz, bu $ seçimini sadece şifre parametresine yapacağız. Çünkü şifre kırmaya (otomatize şifre denemeleri yapmaya) çalışıyoruz. Bunun için aşağıda yer alan resimdeki gibi deneme yazısını seçin ve sağ taraftaki Add $ butonuna tıklayın. ![]() ![]() Böylelikle brute force saldırısının üzerinde çalışacağı bölge belirlenmiş olur. Sonra kullanıcı adı tutan parametreye ise elle admin girelim. Çünkü kullanıcı adının admin olduğunu bildiğimizi varsayıyoruz. Not: Eğer istersek şifreyle beraber kullanıcı adına da brute force yapabiliriz. ![]() ![]() Ardından bulunduğunuz sekme olan Positions'ın yanındaki Payloads sekmesine gelin. ![]() Brute Forcer (Brute Force yapıcı) saldırı türünü seçin. ![]() Daha sonra brute force saldırısı için verilmesi gereken kriterleri belirleyin. ![]() Biz burada kriter olarak a'dan z'ye tüm küçük harfler karakter setini, minimum 1 karakter uzunluğunu ve maksimum 4 karakter uzunluğunu belirledik. ![]() Daha sonra Options sekmesine geçin. ![]() Şimdi geriye son bir şey kaldı. O da yazılımın yapacağı şifre denemelerinde hangisinde başarılı olunduğunu bize sunacak bir işaret gerekmekte. Bu işareti ise DVWA'nın login ekranına normalde elle gireceğimiz rastgele kullanıcı adı ve şifre sonrası ekranın vermekte olduğu şu uyarıyı kullanarak belirleyeceğiz: ![]() Görüldüğü üzere tarayıcı arayüzünde normal bir şekilde elle kullanıcı adı & şifre girildiğinde ve yanlış olduğunda bir bildirim ekrana gelmektedir. Ne zaman kullanıcı adı ve şifre doğru olursa o zaman bu hata bildirimi gelmeyecektir. İşte bu etki tepkiyi şimdi yazılıma verelim ve yazılım her şifre denemesinde tepki olarak bu hatayı alıyorsa ekranımıza bu şifre denemesinde hata aldım diyebilsin. Şimdi BurpSuite'e tekrar dönün ve bulunduğunuz Options sekmesinin aşağılarına pencereyi kaydırın. Orada Grep - Match adlı bir bölüm vardır. Oradaki Clear butonuna tıklayın. ![]() Sildiklerimizin yerine şimdi DVWA'nın hata bildirimini koyacağız. Bunun için hata bildirimindeki tüm kelimeleri cümle olarak girmenize gerek yoktur. Sadece hata durumunda beliren spesifik bir kelimeyi - eğer şifre doğru olduğunda, yani oturum açıldığında o kelime sayfanın herhangi bir yerinde yoksa o kelimeyi - kullanabilirsiniz. Hata bildirimi şuydu: Username and/or password is incorrect. Bu cümledeki incorrect kelimesini yazılıma ekleyelim. Bunun için aşağıdaki resimdeki gibi metin kutusuna incorrect kelimesini girin ve Add butonuna tıklayın. ![]() ![]() Hepsi bu kadar. Artık yazılım, belirttiğiniz kriterler ölçüsünde türetebileceği tüm kelimeleri (şifreleri) login sayfasına deneyecektir ve denediği login bilgilerinin yanlış olup olmadığı konusunda bizi bilgilendirecektir. Bulunduğunuz sekmenin en yukarısına pencereyi kaydırın ve Start Attack butonuna tıklayarak Brute Force saldırısını başlatın. ![]() Ekrana yeni bir pencere gelecektir ve size anlık olarak denediği kullanıcı adı ve şifre ikililerini gösterecektir. Bu ikililerin yanlış olduğunu penceredeki incorrect sütunundaki tick işaretlerinden anlayabilirsiniz. Eğer incorrect sütununda tick işareti varsa girilen kullanıcı bilgileri sonucu uygulamadan tepki olarak incorrect bilgisi geldi anlamına gelir. Yani demek ki denenen kullanıcı bilgileri yanlışmış. Eğer incorrect sütununda tick işareti yoksa bu durumda denenen kullanıcı bilgisi sonucu incorrect kelimesi gelmemiş demektir. Yani denenen kullanıcı bilgileri doğru demektir. Böylece admin kullanıcısının şifresini elde etmiş (kırmış) olursunuz. ![]() Saldırı başlar ![]() Request sütununa basılarak denenen en son şifre teşebbüsleri anlık olarak ekranda akar ![]() Saldırı bittiğinde incorrect sütununa iki kez tıklanır ve tick'i olmayan satır en üste gelir. Böylece doğru şifre bulunmuş olur Görüldüğü üzere şifrenin "saat" string'i olduğu tespiti yapılabilmiştir. Dilerseniz DVWA'nın Brute Force ekranındaki login ekranına BurpSuite'in tespit ettiği bilgileri girerek doğruluğunu test edebilirsiniz. Dictionary Attack Nasıl Yapılır BurpSuite yazılımı ile bu sefer bir diğer şifre kırma saldırı türü olan Dictionary Attack (Sözlük Saldırısı) yapalım. Aşağıda DVWA uygulamasının Brute Force bölümündeki login ekranını yine görüntülemektesiniz: ![]() [!] Uyarı:Brute force tekniğiyle şifre kırma saldırısında (yukarıda bir önceki başlıkta) yazılım şifre kırma işlemini çabuk yapabilsin diye DVWA admin hesabı şifresi değiştirilmişti. Şu an ki admin hesabı şifresi "saat"tir. Dolayısıyla aynı şifre üzerinden gidilecektir. Şayet şifreyi eski haline döndürmek ("password" yapmak) isterseniz aşağıdaki 1,2 ve 3 nolu resimlerde yer alan adımları takip edebilirsiniz.
Dersin hedefi başlığında da belirtildiği gibi hedefiniz admin kullanıcısının şifresini kırmaktır. Bunun için devasa satır sayısına sahip (devasa sayıda olası şifreye sahip) .txt sözlük dosyası kullanmak yerine hemen çözüme ulaşabileceğimiz basit bir sözlük dosyası oluşturalım. Bu sözlük dosyası olası şifreleri içeren bir txt dosyasından ibaret olduğu için içeriğinin şu şekilde olduğunu varsayalım: ![]() Kullanıcı adı olarak admin kullanıcısını hedef almıştık. Fakat biraz kapsamı genişletmek adına birden fazla kullanıcı adının yer aldığı bir sözlük dosyası kullanalım. Böylece her bir kullanıcı adı için yukarıdaki tüm şifreler birer birer denensin: ![]() Yukarıdaki olası kullanıcı adlarını barındıran sözlük dosyasına dikkat ederseniz çoğu, web sahipleri tarafından sıklıkla kullanılan kullanıcı adlarından seçilmiştir. Hakeza şifreleri barındıran sözlük dosyası da o şekildedir. Sözlük dosyalarımızı oluşturduğumuza göre şimdi BurpSuite adlı yazılıma geçiş yapalım. Öncelikle BurpSuite yazılımını ve saldırı esnasında kullanılacak tarayıcı yapılandırmasının yapılması gerekmektedir. Bunun için BurpSuite'i başlatın ve Proxy sekmesine geçiş yapın. ![]() Sonra Options sekmesine tıklayın. ![]() Ardından Edit butonuna tıklayın ve aşağıdaki resimdeki gibi ayarlamaları yapın. ![]() ![]() Ardından BurpSuite'in penceresinden biraz aşağıya kayın ve aşağıdaki resimden de görülebileceği gibi Intercept Client To Server Message'a tick işareti koyulu olduğundan emin olun. Bu tick işareti sizin login ekranında deneme mahiyetinde yapacağınız ilk giriş teşebbüsünde talebinizi sunucuya gitmeden BurpSuite'in yakalamasını sağlayacaktır. Ardından BurpSuite'in içerisinden sözlük dosyalarını ekleyeceğiz ve BurpSuite yaptığımız ilk giriş teşebbüsünü sözlük dosyalarınındaki tüm kelimeleri sırasıyla deneyecek kadar tekrarlayacaktır. ![]() Şimdi Firefox'u (veya başka bir tarayıcıyı) açın ve aşağıdaki adımları uygulayın. ![]() ![]() ![]() Artık Dictionary Attack için hazırsınız. DVWA'nın Brute Force ders ekranına gelin. Login ekranına rastgele bir şeyler girin. Mesela kullanıcı adı için deneme ve şifre için de deneme girin: ![]() Login butonuna tıkladığınız an BurpSuite bu isteğinizi sunucuya giderken yakalayacaktır ve sözlük dosyalarını eklemek ve kuralları belirlemek için bekletecektir. BurpSuite penceresine gelin ve Proxy > Intercept sekmelerine tıklayın. ![]() Yukarıdaki pencerede yer alan kodların bulunduğu alana sağ tıklayın ve Send To Intruder seçeneğine tıklayın. Bu işlem sizi aşağıdaki resimde görünen sekmeye yönlendirecektir: ![]() Yukarıdaki resmin sağ tarafında bulunan Clear $ butonuna tıklayın. Bu işlem BurpSuite'in brute force için seçtiği parametreleri seçimli halden kaldıracaktır. Bu seçimi elimizle yapacağız. Clear $ butonuna tıkladıktan sonra username parametresine $ sembolünü koyacağız. Bunun için aşağıdaki resimdeki gibi deneme yazısını seçin ve sağ taraftaki Add $ butonuna tıklayın. ![]() Aynı işlemi password parametresinin içerdiği deneme yazısı için de yapın. Yani password'ün yanındaki denemeyi farenizle seçin ve Add $ butonuna tıklayın. ![]() Böylelikle sözlük saldırısının üzerine çalışacağı bölgeleri belirlemiş olduk. ![]() Hatırlarsanız en başta login ekranına kullanıcı adı olarak deneme, şifre olarak da deneme girmiştik. İşte bu metin kutularını $ işareti ile kod üzerinde belirledik ve şimdi bu belirlediğimiz noktalara sözlükleri denettireceğiz. Bulunduğunuz BurpSuite penceresindeki Sniper'ı Cluster Bomb olarak değiştirin. Not: Sniper yerine Cluster Bomb seçiyoruz, çünkü artık bir parametreye değil, iki parametreye saldırıyı uygulayacağız. Bir parametre için Sniper (Nişancı) seçeneğini kullanmıştık. İki ve daha fazlası için Cluster Bomb (Küme Bombardımanı) seçeneği kullanılır. Bu tamamen Burpsuite jargonudur. Saldırı dünyasının jargonu değildir. ![]() Ardından bulunduğunuz sekme olan Positions'ın yanındaki Payloads sekmesine gelin. Load butonuna tıklayın ve kullanıcı adları için oluşturduğunuz sözlük dosyasını ekleyin. ![]() Şimdi ikinci metin kutusuna denenecek şifrelerin yer aldığı sözlük dosyasını eklemek için Payload Set'in yanındaki 1'i 2 olarak değiştirin, ardından tekrar Load butonuna tıklayın ve şifreler için oluşturduğunuz sözlük dosyasını ekleyin. ![]() ![]() Sözlük dosyalarının deneneceği metin kutularını kod bazında seçtik, sözlük dosyalarını da ekledik. Geriye bir şey kaldı. Şimdi geriye son bir şey kaldı. O da yazılımın yapacağı şifre denemelerinde hangisinde başarılı olunduğunu bize sunacak bir işaret gerekmekte. Bu işareti ise DVWA'nın login ekranına normalde elle gireceğimiz rasgele kullanıcı adı ve şifre sonrası ekranın vermekte olduğu şu uyarıyı kullanarak belirleyeceğiz: ![]() Görüldüğü üzere tarayıcı arayüzünde normal bir şekilde elle kullanıcı adı & şifre girildiğinde ve yanlış olduğunda bir bildirim ekrana gelmektedir. Ne zaman kullanıcı adı ve şifre doğru olursa o zaman bu hata bildirimi gelmeyecektir. İşte bu etki tepkiyi şimdi yazılıma verelim ve yazılım her şifre denemesinde tepki olarak bu hatayı alıyorsa ekranımıza bu şifre denemesinde hata aldım diyebilsin. Şimdi BurpSuite'e tekrar dönün ve bulunduğunuz Options sekmesinin aşağılarına pencereyi kaydırın. Orada Grep - Match adlı bir bölüm vardır. Oradaki Clear butonuna tıklayın. ![]() Sildiklerimizin yerine şimdi DVWA'nın hata bildirimini koyacağız. Bunun için hata bildirimindeki tüm kelimeleri cümle olarak girmenize gerek yoktur. Sadece hata durumunda beliren spesifik bir kelimeyi - eğer şifre doğru olduğunda, yani oturum açıldığında o kelime sayfanın herhangi bir yerinde yoksa o kelimeyi - kullanabilirsiniz. Hata bildirimi şuydu: Username and/or password is incorrect. Bu cümledeki incorrect kelimesini yazılıma ekleyelim. Bunun için aşağıdaki resimdeki gibi metin kutusuna incorrect kelimesini girin ve Add butonuna tıklayın. ![]() ![]() İşlemler bitmiştir. Artık yazılım, koyduğunuz dosyalardaki olası kullanıcı adılarını ve olası şifreleri sırayla eşleyip login sayfasına deneyecektir ve denediği login bilgilerinin yanlış olup olmadığı konusunda bizi bilgilendirecektir. Bulunduğunuz sekmenin en yukarısına pencereyi kaydırın ve Start Attack butonuna tıklayarak Brute Force saldırısını başlatın. ![]() Ekrana yeni bir pencere gelecektir ve size denediği kullanıcı adı ve şifre ikililerini gösterecektir. Bu ikililerin yanlış olduğunu penceredeki incorrect sütunundaki tick işaretlerinden anlayabilirsiniz. Eğer incorrect sütununda tick işareti varsa girilen kullanıcı bilgileri sonucu uygulamadan tepki olarak incorrect bilgisi geldi anlamına gelir. Yani demek ki denenen kullanıcı bilgileri yanlışmış. Eğer incorrect sütununda tick işareti yoksa bu durumda denenen kullanıcı bilgisi sonucu incorrect kelimesi gelmemiş demektir. Yani denenen kullanıcı bilgileri doğru demektir. Böylece DVWA uygulamasında kullanıcı adı ve aynı zamanda şifresini bilmediğiniz bir hesabı elde edebilmiş olursunuz. ![]() Görüldüğü üzere şifrenin "saat" string'i olduğu tespiti yapılabilmiştir. Dilerseniz DVWA'nın Brute Force ekranındaki login ekranına BurpSuite'in tespit ettiği bilgileri girerek doğruluğunu test edebilirsiniz. NOT: Eğer kullanıcı adı olarak admin ve şifre olarak password ikilisinin denenme sırası ortalarda bir yerde yer alsaydı bu durumda onların bulunduğu konumdan sonraki bütün Incorrect sütununun satırlarında tick işareti olmayacaktır. Bu tüm sonraki denemelerin başarılı olduğu anlamına gelmiyor. Yanıltmasın. İlk tick işaretinin olmadığı satır ile DVWA'da oturum açıldığından sonraki denemeler oturum açıkken denendiği için sanki başarılıymış gibi bir izlenim vermektedir. Yani ilk tick işaretinin olmadığı satır asıl doğru bilgilerin yer aldığı satırdır. SonuçBu derste bir login ekranına Brute Force'umsu bir tekniğe sahip Dictionary Attack yaparak admin'in şifresini kırmış olduk. Bu dersin anlaşılması için basit ve kısa sözlük dosyaları kullanılmıştır. Fakat internette türkçe, ingilizce kapsamlı sözlük dosyaları bulunabilir. Bu sözlük dosyaları binlerce, onbinlerce, yüzbinlerce ve milyonlarca satırdan oluşabilmektedir. Eğer dilerseniz kendi sözlük dosyanızı da oluşturabilirsiniz. Bunun için tek tek elle bir şeyler yazmanız da gerekmiyor. Bir tool'a komut vererek istekleriniz doğrultusunda sözlük dosyası ürettirebilirsiniz ki bu sonraki başlığın konusudur.EkstraKendi sözlük dosyanızı otomatize bir şekilde kendiniz oluşturmak için Crunch adlı tool'u kullanabilirisiniz. Bu tool'u kullanabilmek için bilgisayarınıza indirip kurmayı seçebilir ya da Virtual Machine / Virtualbox gibi bir sanallaştırıcı program kurup içine Kali adlı linux dağıtımını kurarak kullanmayı da seçebilirsiniz. İkinci seçimin şöyle bir avantajı vardır: Kali Linux işletim sistemi crunch, burpsuite ve daha onlarca siber güvenlik tool'unu bünyesinde hazır kurulu olarak barındırmaktadır. Dolayısıyla bu şekilde büyük bir yükten kurtulmuş olursunuz. Neyse, şimdi derse dönelim. Crunch tool'unun kullanımı şu şekildedir:crunch <min> <max> <karakterseti> -t <desen> -o <sözlükdosyası.txt> Diyelim ki 10 haneli 911 sayısıyla başlayan ve 0,1,2,3,4,5,6,7,8,9 sayılarının kullanıldığı olabilecek tüm sayıları sozluk.txt dosyasına kaydetmek isteyelim. Bu durumda aşağıdaki komutu komut ekranına girmemiz gerekir: cruch 10 10 0123456789 -t 911@@@@@@@ -o sozluk.txt Böylece sözlük dosyamız oluşturulur: ![]() Komut ekranı bize 10 milyon satırlı bir sözlük dosyası oluşturduğunu söylemektedir. Aşağıda bu sözlük dosyasının içeriğini görmektesiniz. ![]() Sözlük dosyasına bakacak olursanız sırayla tüm kombinasyonların oluşturulduğunu görebilirsiniz. İsterseniz sayı karakterleri yerine harfler kullanabilir ve aynı zamanda şu şu karakterle başlasın ya da bitsin gibi kurallar koymadan olabilecek tüm kombinasyonlardan bir sözlük dosyası oluşturabilirsiniz. Hatta sadece 10 karakter uzunluğunda olsun şeklinde değil de 1'den 10'a kadar olsun dahi diyebilirsiniz. Fakat baştan söylüyeyim: Eğer garantici olmaya çalışırsanız bilgisayarınızı kapatmadan yıllarca açık vaziyette tutmanıza sebep olabilir. :) Benden söylemesi. Oluşturacağınız sözlük dosyasını BurpSuite'e ekleyerek daha etkili şifre kırma teşebbüslerinde bulunabilirsiniz. Yararlanılan Kaynak http://searchsecurity.techtarget.com/definition/brute-force-cracking |
||||||||||||||||||||
![]() |
||||||||||||||||||||
|
||||||||||||||||||||
Yorumlar |
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
Yorum Ekle | ||||||||||||||||||||