Kaba kuvvet saldırısı

İçindekiler

Bu derste, kaba kuvvet saldırısı tartışılacak ve bu saldırıyı gerçekleştirmek için bazı araçlardan bahsedilecektir. Her şeyden önce, adından da anlaşılacağı gibi kaba kuvvetin ne hakkında olduğunu söylemektir.

Deneme yanılmaya dayalı, şifre elde etmek veya verilerin şifresini çözmek için kullanılan bir tekniktir, bu yöntem akıllı bir strateji aramaz, anahtarı bulana kadar tüm olası kombinasyonları test eder.

Herhangi bir şifre almak veya herhangi bir dosyanın şifresini çözmek mümkün mü? Zamanımız muhtemelen sonsuz olsaydı, ama öyle olmadığı için cevap hayır, şifreler veya uzun tuşlar ve çeşitli faktörlerle (büyük harf, küçük harf, sayılar, özel karakterler), bunları çıkarmamız uzun zaman alacaktı. yöntemi (bir ömür boyu elde edilmeyeceğiz).

Bu yöntemi, şifrelerimizin güvenliğini veya bu tür saldırılara karşı şifrelemeyi kontrol etmek için kullanabiliriz. Eğer bilmek istiyorsan güçlü bir şifre nasıl oluşturulur, Bu öğreticiyi okumanızı tavsiye ederim. Bu tür saldırılara karşı savunmasız bir şifreleme algoritması DES'dir, bunun tersi, kaba kuvvete karşı savunmasız olmayan AES'dedir. Kriptografi alanını iyi anlamak en iyisidir.

Kriptografi dünyası

Güçlü bir parolaya sahip olmak ilk adımdır, ancak aşağıdakileri kullanarak bir koruma katmanı daha koyabilirsiniz. çift ​​faktörlü kimlik doğrulama Hesaplarınızda (en azından en değerlileri), bugün zaten Google, Twitter ve Linkedin gibi entegre ve ücretsiz olarak sunan hizmetler var. Bu sistemler normalde doğru şifreyi girdikten sonra cep telefonunuza bir kod ile bir mesaj gönderir, bu yüzden bu kodu girene kadar hesabınıza giremezsiniz.

özellikle kaba kuvvet genellikle sözlük saldırılarıyla birleştirilirBu saldırı, daha tipik parolalara sahip bir dosyaya sahip olmaktan (insanlar genellikle parolaları için bilinen sözcükleri kullanırlar, böylece daha iyi hatırlarlar) ve anahtarı bulana veya parolaları başarıyla sonlandırana kadar hepsini denemekten oluşur. Genel olarak saldırı daha verimlidir, ancak şifremizde birkaç faktör kullanırsak başarı şansı önemli ölçüde azalır.

kaba kuvvet araçları

yırtıcı John

Açık kaynak kodlu ve ücretsizdir, genellikle kaynak kodunda dağıtılmış olarak bulabilirsiniz.Temel amacı UNIX işletim sistemlerinde zayıf şifreleri bulmaktır.

THC Hidra

Bu araç, uzaktan kimlik doğrulama hizmetlerine kaba kuvvet uygulamanıza olanak tanır. 50'den fazla protokole karşı sözlük saldırıları gerçekleştirebilirsiniz.

Deniz anası

Modüler bir araçtır, kaba kuvvet girişleriyle paralel çalışır. FTP, HTTP, IMAP, SSH vb. protokollerle uyumludur.

ncrack

Ağ kimlik doğrulamalarını kırmak için bir araçtır, hızlı çalışır. Kendi modüllerinizi oluşturarak aracı genişletebilirsiniz.

Kabil ve Habil

Windows'ta şifreleri kurtarmaya yönelik bir araçtır, kırmak için kaba kuvvet kullanmanıza izin verir, aynı zamanda gökkuşağı tabloları (Gökkuşağı Tablosu) kullanarak sözlük saldırıları ve saldırıları da sağlar.

Aşağıda Python'da bir web sayfasından 5 haneye kadar sadece sayılar içeren şifreler alan bir kod koyacağım, harflerle, daha uzun uzunluklarla da yapılabilir. İlk önce seni bırakıyorum PHP'de gönderi isteklerine hizmet eden kod:

 
Deneme limitimiz olmadığını, kullanıcı ve şifresinin tam orada tanımlandığını (veritabanlarını ve koddaki komplikasyonları önlemek için) görüyoruz, kullanıcı ve şifre doğruysa 200 ve değilse 403 kodu döndürüyoruz.

Ardından, önceki koda istek göndermekten sorumlu olan Python kodunu bırakıyorum.

 http.client, urllib.parsefrom zamandan içe aktarma hedef zaman = "/bruteForce/index.php"başlıklar = {" İçerik türü ":" application / x-www-form-urlencoded "," Kabul et ":" uygulama / xhtml + xml, text / html; q = 0.9, text / düz; ",} bulundu = Falsepassword = 0home = time () while password <= 99999 ve bulunamadı: parametreler = urllib.parse.urlencode ({'user': ' josue ',' pass': password}) bağlantı = http.client.HTTPConnection ("localhost") connection.request ("POST", hedef, parametreler, başlıklar) yanıt = bağlantı.getresponse () if (response.status == 200 ): print ("josue, es kullanıcısı için şifre bulundu", şifre) print ("Zaman aldı: {0: .2f} s" .format ((zaman () - başlangıç))) bulundu = Doğru başka: yazdır ( şifre) connection.close () şifre + = 1bulunmazsa: print ("josue için şifre bulunamadı")
Bu kod gönderi isteklerini yapar, döngüye her geçişte yaptığımız tek şey şifreyi değiştirmek ve ona 1 eklemek, bu nedenle 0'dan 99999'a kadar tüm olası şifreleri deneyeceğiz (daha önce bulamazsak). Bulduğunuz tüm sayıları boyayın, çünkü ben örnek için böyle istedim, onu kaldırabilirsiniz, bunun için diğerini elersiniz. Şifreleri bulup bulmadığını görmek için bu kodu çalıştıralım.

2087 şifresini bulmak için başlatacağımız ilk örnek, aşağıdaki resim, onu almamın 18 saniye sürmediğini görebilirsiniz.

Diğerini ekranda boyamaması için kaldırırsam, her sayı çok daha az zaman alır, burada bir ekran görüntüsü görebilirsiniz:

Şimdi ikinci ve son deneme için bu sefer ne kadar sürdüğünü görmek için 20870 şifresini koydum.

Parolaya bir karakter daha eklediğinizde farkı görebilirsiniz, ancak yine de sorunsuz bekleyebileceğimiz bir zaman, hatta thread koyarsak süre azalacaktır. Bu nedenle uygulamalarımızda bu saldırıyı otomatikleştiremeyen güçlü parolalar ve sağlam kimlik doğrulama kullanıyoruz.

Bir zip veya rar şifresinin kırıldığı pratik bir örnek görmek istiyorsanız, aşağıdaki öğreticiyi ziyaret edebilirsiniz:

.rar veya .zip şifresini kırın

Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.

Arkadaşlarınızla sayfasını paylaşan sitenin gelişimine yardımcı olacak

wave wave wave wave wave