Ana Sayfa
» Wiki
»
Şifrenizin gücünü test etmek için bir şifreyi kendiniz nasıl kırmayı deneyebilirsiniz
Şifrenizin gücünü test etmek için bir şifreyi kendiniz nasıl kırmayı deneyebilirsiniz
Makalede, parola güvenliği söz konusu olduğunda hangi yöntemin gerçekten işe yaradığını bulmak için açık kaynaklı bir parola kırma aracıyla 3 farklı parola test edildi.
Çevrimiçi bir hizmette hesap oluşturduğunuzda, sağlayıcı genellikle oturum açma bilgilerinizi kendi sunucularında şifreler. Bu, şifreniz için harf ve rakamlardan oluşan, görünüşte benzersiz bir rastgele dizi olan "hash" oluşturmak için bir algoritma kullanılarak yapılır. Elbette, bu gerçekten rastgele bir şey değil, yalnızca şifrenizin üretebileceği çok özel bir karakter dizisi, ancak eğitimsiz bir göze karmaşık görünebilir.
Bir kelimeyi karma değere dönüştürmek, karma değerini tekrar kelimeye "çözmekten" çok daha hızlı ve kolaydır. Yani bir parola belirlediğinizde, giriş yaptığınız servis parolanızı bir karma işleminden geçirir ve sonucu kendi sunucularında depolar.
Bu şifre dosyası sızdırılırsa, bilgisayar korsanları şifreyi kırarak içeriğini öğrenmeye çalışacaklardır. Şifreleri şifrelemek, şifrelerini çözmekten daha hızlı olduğundan, bilgisayar korsanları olası şifreleri girdi olarak alan, bunları sunucuyla aynı yöntemi kullanarak şifreleyen ve ardından sonuçları bir şifre veritabanıyla karşılaştıran bir sistem kuracaklardır.
Potansiyel bir parolanın özeti veritabanındaki herhangi bir girdiyle eşleşirse, bilgisayar korsanı her denemenin denenen potansiyel parolayla eşleştiğini bilir.
HashCat Kullanarak Kendi Parolalarınızı Nasıl Kırarsınız
Makalede üretilen şifrelerden bazılarını kırmayı deneyin ve bunun ne kadar kolay olduğunu görün. Bunu yapmak için, herkesin kullanabileceği ücretsiz ve açık kaynaklı bir şifre kırma aracı olan Hashcat örneğini kullanacağız .
Bu testler için örnek aşağıdaki şifreleri kıracaktır:
123456 : Klasik bir şifre ve siber güvenlik kabusu olan 123456, dünyada en çok kullanılan şifredir . NordPass, 3 milyon hesabın şifre olarak 123456 kullandığını, bunların 1,2 milyonunun da kurumsal düzeydeki hesapları koruduğunu hesapladı.
Susan48! : Çoğu kullanıcının güvenli parolalar oluşturmak için kullanacağı kalıpları izleyen bir parola. Bu, genellikle temel parola koruması için gereken ölçütleri karşılar, ancak daha sonra inceleyeceğimiz gibi, istismar edilebilecek bazı önemli zayıflıkları vardır.
t9^kJ$2q9a : Bitwarden'ın aracı kullanılarak oluşturulmuş bir parola. Büyük ve küçük harfler, semboller ve rakamlardan oluşan 10 karakter uzunluğunda bir şifre üretilecek şekilde ayarlanmıştır.
Şimdi şifreyi MD5 kullanarak şifreleyin. Şifreler kaydedilmiş bir şifre dosyasında olsaydı şu şekilde görünürdü:
123456 : e10adc3949ba59abbe56e057f20f883e
Susan48! : df1ce7227606805745ee6cbc644ecbe4
t9^kJ$2q9a : 450e4e0ad3ed8766cb2ba83081c0a625
Şimdi onları kırmanın zamanı geldi.
Sözlük Saldırısı yöntemini kullanarak basit bir jailbreak gerçekleştirin
Öncelikle en yaygın parola saldırı yöntemlerinden biri olan Sözlük Saldırısı'nı uygulayalım. Bu, saldırganın olası şifrelerin bir listesini aldığı, Hashcat'ten bunları MD5'e dönüştürmesini istediği ve şifrelerden herhangi birinin yukarıdaki 3 girdiyle eşleşip eşleşmediğine baktığı basit bir saldırıdır. Bu test için tarihin en büyük şifre sızıntılarından biri olan "rockyou.txt" dosyasını sözlüğümüz olarak kullanalım.
Makalenin yazarı, çatlatmayı başlatmak için Hashcat klasörüne gitti, boş bir alana sağ tıklayıp Terminal'de Aç'a tıkladı . Artık Terminal açık ve Hashcat dizinine ayarlı olduğuna göre, Hashcat uygulamasını aşağıdaki komutla çağırın:
.\hashcat -m 0 -a 0 passwordfile.txt rockyou.txt -o results.txt
Komutun yaptığı şey şu:
.\hashcat Hashcat'i çağırır.
-m 0 : Kullanılacak kodlama türünü belirtir. Bu durumda Hashcat yardım dokümanlarında 0 olarak listelenen MD5 kullanılacaktır.
-a 0 : Gerçekleştirilecek saldırıyı belirtir. Hashcat yardım dokümanlarında Dictionary Attack sıfır olarak listelendiği için biz de burada ona öyle diyoruz.
passwordfile.txt rockyou.txt : İlk dosya daha önce belirlediğimiz 3 şifrelenmiş parolayı içeriyor. İkinci dosya rockyou şifre veritabanının tamamını içerir.
-o results.txt : Bu değişken sonuçların nereye konulacağını belirler. Komutta, kırılan şifreler "results" adlı bir TXT dosyasına konur.
Rockyou çok büyük olmasına rağmen Hashcat hepsini 6 saniyede işledi. Ortaya çıkan dosyada Hashcat'in 123456 şifresini kırdığı belirtilirken, Susan ve Bitwarden şifrelerinin kırılamadığı görülüyor. Bunun nedeni, rockyou.txt dosyasında 123456'nın başka biri tarafından kullanılmış olması, ancak başka hiç kimsenin Susan veya Bitwarden şifresini kullanmamış olması, yani bu saldırıdan sağ çıkabilecek kadar güvenli oldukları anlamına geliyor.
Gizli Brute Force saldırılarını kullanarak daha karmaşık bir jailbreak gerçekleştirin
Hashcat ile Kaba Kuvvet Saldırısı Gerçekleştirin
Sözlük Saldırıları, birisinin geniş bir parola listesinde bulunan bir parolayla aynı parolayı kullanması durumunda etkilidir. Uygulanmaları hızlı ve kolaydır, ancak sözlükte olmayan şifreleri kıramazlar. Dolayısıyla şifrenizi gerçekten test etmek istiyorsanız Brute Force saldırılarını kullanmanız gerekiyor.
Sözlük Saldırıları sadece önceden belirlenmiş bir listeyi alıp onları tek tek dönüştürmekten ibaretse, Kaba Kuvvet saldırıları da aynı şeyi, ancak akla gelebilecek her türlü kombinasyonla yapar. Uygulanması daha zordur ve daha fazla zaman alır, ancak sonunda her şifreyi kırarlar. Birazdan göreceğimiz gibi bu yeteneğin kazanılması bazen uzun zaman alabilir.
"Gerçek" bir Brute Force saldırısı gerçekleştirmek için kullanılan komut şöyledir:
.\hashcat -m 0 -a 3 target.txt --increment ?a?a?a?a?a?a?a?a?a?a -o output.txt
Komutun yaptığı şey şu:
-a 3 : Bu değişken gerçekleştirmek istediğimiz saldırıyı tanımlar. Hashcat yardım dokümanlarında Brute Force saldırıları 3 numara olarak listelendiği için burada bu şekilde adlandırılmıştır.
target.txt : Kırmak istediğimiz şifrelenmiş parolayı içeren dosya.
--increment : Bu komut Hashcat'e bir karakter uzunluğundaki tüm parolaları, ardından iki, sonra üç vb. şekilde denemesini ve bir eşleşme bulana kadar denemesini söyler.
?a?a?a?a?a?a?a?a?a?a?a : Buna "maske" denir. Maskeler Hashcat'e hangi karakterlerin hangi pozisyonlarda kullanıldığını söylememizi sağlar. Her soru işareti şifredeki bir karakter pozisyonunu, harf ise her pozisyonda ne deneyeceğimizi belirtir. "a" harfi büyük ve küçük harfleri, sayıları ve sembolleri temsil ettiği için bu maske "Her pozisyonda her şeyi dene" diyor. Bu korkunç bir maske, ama onu daha sonra etkili bir şekilde kullanacağız.
-o output.txt : Bu değişken sonuçların nereye konulacağını belirler. Örnek komut, kırılan şifreleri "output" adlı bir TXT dosyasına koyar.
Bu berbat maskeyle bile 123456 şifresi 15 saniyede kırılıyor. En yaygın kullanılan şifre olmasına rağmen en zayıf şifrelerden biridir.
Şifre "Susan48!" çok daha iyi - bilgisayar kırılmasının 4 gün süreceğini söylüyor. Ancak bir sorun var. Susan'ın şifresinde bazı ciddi açıklar olduğunu söyleyen yazıyı hatırlıyor musunuz? En büyük hata, şifrelerin tahmin edilebilir bir şekilde oluşturulmasıdır.
Şifre oluştururken genellikle belirli öğeleri belirli yerlere koyarız. Şifre yaratıcısı Susan'ın ilk başta "susan" kelimesini kullanmayı denediğini ancak kendisinden büyük harf ve rakam eklemesi istendiğini tahmin edebilirsiniz. Hatırlamayı kolaylaştırmak için ilk harfi büyük yazıp sonuna rakam eklediler. Daha sonra belki bir giriş hizmeti bir sembol istemiştir, bu yüzden şifre belirleyici onu sonuna eklemiştir.
Yani Hashcat'e belirli yerlerde yalnızca belirli karakterleri denemesini söylemek için maskeyi kullanabiliriz; böylece insanların parola oluştururken tahmin etmesinin ne kadar kolay olduğunu anlayabiliriz. Bu maskede, "?u" o konumda yalnızca büyük harfleri, "?l" yalnızca küçük harfleri ve "?a" herhangi bir karakteri temsil eder:
Hashcat bu maskeyle şifreyi 4 günde değil, 3 dakika 10 saniyede kırdı.
Bitwarden şifresi 10 karakter uzunluğundadır ve tahmin edilebilir bir desen kullanmaz, dolayısıyla onu kırmak için herhangi bir maske kullanmadan Brute Force saldırısı yapmak gerekir. Maalesef Hashcat'e bunu yapması söylendiğinde, olası kombinasyon sayısının tam sayı sınırını aştığını söyleyen bir hata verdi. BT güvenlik uzmanı, Bitwarden'ın şifreyi kırmasının 3 yıl sürdüğünü, bunun yeterli olduğunu söylüyor.
Hesabınızı şifre saldırılarından nasıl koruyabilirsiniz?
Makalenin Bitwarden şifresini kırmasını engelleyen başlıca etkenler ise makalenin uzunluğu (10 karakter) ve tahmin edilemezliğidir. Bu nedenle şifre oluştururken mümkün olduğunca uzun olmaya çalışın ve sembolleri, rakamları ve büyük harfleri şifre içerisinde eşit şekilde dağıtın. Bu, bilgisayar korsanlarının her bir öğenin yerini tahmin etmek için maskeler kullanmasını önler ve bunların kırılmasını çok daha zor hale getirir.
"Karakter dizisi kullan" ve "Mümkün olduğunca uzun yap" gibi eski şifre kurallarını muhtemelen biliyorsunuzdur. Umarım insanların bu faydalı ipuçlarını neden önerdiğini biliyorsunuzdur; bunlar, kolayca kırılabilen bir parola ile güvenli bir parola arasındaki temel farkı gösterir.