Türkçe Wordlist Çalışmasında İkinci Faz

20 December 2020

Giriş

Bildiğiniz gibi geçen sene, Rockyou wordlistindeki Türkçe kelime içeren parolaları bulmak için bir çalışma yapmıştım. Bu çalışmanın iki önemli eksiği vardı:

  • Veri seti kısıtlıydı

  • Türk kullanıcıların içinde Türkçe kelime içermeyen parolalarını tespit edemiyordu

Bu iki problemin üstesinden gelmek için gönüllülerle birlikte Ahmet Külekçi, Rauf Giray Doğan, Murat Öztürk) çeşitli Hack forumlarında dolaşıp sızdırılmış veri tabanlarının dehashed (kırılmış) versiyonlarını indirdik. (Analiz edilen verilerin listesi repo açıklamasında mevcut)

Yeni verilerle hem parola içinde, hem de e-posta adreslerinin içinde Türkçe kelime tespiti yapmam mümkün oldu. Örneğin şu iki satırı ele alalım:

[email protected]:karakartal1903

[email protected]:ilovekpop

Hem karakartal1903 hem de ilovekpop parolalarını listeye alabildim.

Tekrarlayanlar çıkartıldıktan sonra 218.176.522 adet satır analiz edilmek için hazırdı. Corpus’u da biraz temizledikten sonra elimde 14.398 Türkçe kelime kaldı. Toplamda 3.141.305.563.756 adet string karşılaştırması yapmam gerekiyordu. Bir önceki yazıda açıkladığım gibi bu karşılaştırma klasik iç içe for loop ile yapılamıyor, felaket uzun sürüyor (Go da başarısız oldu). Aho-Corasick algoritması ile kısa sürede tamamlandı.

Bunun yanında Türkiye kaynaklı sitelerden sızan da önemli miktarda veri vardı. Bunları temizledikten sonra doğrudan wordlistin içine aldım. Sonuç olarak elimizde 5.017.676 adet Türkçe (ya da Türk kullanıcıların kullandığı) parola kaldı.

Türkçe wordliste buradan erişebilirsiniz: https://github.com/utkusen/turkce-wordlist

Projeye siz de kendi analizleriniz ile katkıda bulunabilirsiniz. Detaylar için buraya bakabilirsiniz: https://github.com/utkusen/turkce-wordlist/CONTRIBUTING.md