Günümüz uygulamalarının büyük çoğunluğu hassas kullanıcı bilgilerini veri tabanında – ya da yapılandırma dosyaları- açık bir şekilde tutmamaktadır. Bu basit güvenlik önlemi saldırganların bilgileri ele geçirmesine engel olamasa da elde edilen bilgilerin gizliliğini koruma amaçlı olarak bir adımdır.
Fakat iş pratiğe döküldüğünde genellikle sadece hash mantığı kullanarak verileri gizlemeye çalışmak işe yaramamaktadır. Hash fonksiyonlarına yönelik çeşitli başarılı saldırılar gerçekleştirilmiştir. Bunlardan biri de rainbow table kullanarak hash değerlerinin bulunmasıdır. Bu nedenle artık sadece hash değeri kullanmak yerine tuzlu hash (salted hash) kullanımı yaygınlaşmaktadır.
Bu blog yazısında pentest çalışmalarında ele geçirilen hash değerlerinin parola kırma saldırılarına geçmeden internet kaynakları kullanılarak araştırılmasına değinilmiştir. Geçmiş tecrübelerimize dayanarak bu şekilde hash bulma başarı oranının %30 civarında olduğunu söyleyebiliriz.
Başarılı SQLi denemesi sonrası veritabanındaki user_info tablosundan aşağıdaki hash değerleri elde edilmiştir.
59d5c4be7fbb91c8f95b99e482cd0387 -> malinka1974
674de90a91a8e4ce5b252bf7c924ac13 -> casemanager
Bu hash değerleri göze tandık gelmektedir -md5-. Fakat çok farklı hash değerleri de karşınıza çıkabilir. Sık kullanılan 345 farklı hash çeşidi olduğu bilinmektedir ve bir hash değerinin hangi algoritma kullanılarak hesaplandığı kesin olarak belirlenemez.
Burada klasik olarak ilk denenecek adımlardan biri JTR gibi bir araç kullanarak hash değerlerini kırmaya çalışmak olacaktır.
root@seclabs:/pentest/passwords/john# john /root/deneme-hash –format=raw-md5
Loaded 3 password hashes with no different salts (Raw MD5 [SSE2 32×4])
guesses: 0 time: 0:00:01:14 0.00% (3) c/s: 29546K trying: mh4tall – mh4ta9a
guesses: 0 time: 0:00:01:22 0.00% (3) c/s: 29670K trying: dfvim2s – dfvitsk
guesses: 0 time: 0:00:01:27 0.00% (3) c/s: 29757K trying: blynctun – blynccea
Parola kırma işlemi devam ederken ve hatta parola kırma işlemine başlamadan denenmesi gereken önemli bir adım vardır. O da elde edilen hash değerinin internet üzerindeki hash kırma sitelerinin arşivlerine sormak. Internet üzerinde 30’un üzerinde ücretsiz hizmet veren hash kırma sitesi bulunmaktadır ve bunların herbirinin veritabanınd afarklı hash de çözülmüş parola değerleri bulunmaktadır.
Elde edilen hash değerini tüm siteleri dolaşarak denemek yerine bunu ücretsiz hizmet olarak sunan hashcracker.de sayfası kullanılabilir. Bu sayfaya hash değerini vererek tek bir adımda bilinen tüm hash veri tabanları sorgulanabilir.
Elimizde bir değil de birden fazla hash değeri varsa burada ufak bir script yazarak hashcracker.de sitesine sorgular gönderilebilir.
Ya da bu işi aynı mantıkta yapan findmyhash.py scripti kullanılabilir. Findmyhash scripti threadli yapısıyla aynı anda onlarca hash değerini online hash kırma hizmeti veren sitelerden sorgulayabilir.30’un üzerinde parola kırma sitesine bağlanarak arama işlemi gerçekleştirir. Hiçbirisinde bulamazsa Google üzerinde arama yaparak sonuca ulaşmaya çalışır.
root@seclabs:/pentest/passwords/findmyhash# python findmyhash.py MD5 -f /root/deneme-hash
Cracking hash: 59d5c4be7fbb91c8f95b99e482cd0387
Analyzing with md5crack )…
… hash not found in md5crackAnalyzing with md5online (http://md5online.net)…
… hash not found in md5onlineAnalyzing with md5-decrypter (http://md5-decrypter.com)…
… hash not found in md5-decrypterAnalyzing with authsecu .
… hash not found in authsecuAnalyzing with hashcrack (http://hashcrack.com)…
… hash not found in hashcrackAnalyzing with c0llision )…
… hash not found in c0llisionAnalyzing with cmd5 https://www.cmd5.org/error.htm?aspxerrorpath=/)…
… hash not found in cmd5Analyzing with bigtrapeze .
***** HASH CRACKED!! *****
The original string is: malinka1974
Cracking hash: 674de90a91a8e4ce5b252bf7c924ac13Analyzing with nicenamecrew (http://crackfoo.nicenamecrew.com)…
… hash not found in nicenamecrewAnalyzing with joomlaaa .
… hash not found in joomlaaaAnalyzing with md5-lookup (http://md5-lookup.com)…
… hash not found in md5-lookupAnalyzing with md5.com.cn https://s.click.taobao.com/t_js?tu=https%3A%2F%2Fs.click.taobao.com%2Ft%3Fe%3Dm%253D2%2526s%253DEtGkqfIcCHscQipKwQzePCperVdZeJviEViQ0P1Vf2kguMN8XjClAkILG5OZkDg4Ej8neNR1nx%252BKdBeS13OAHpcn8Ub%252BcZoI%252F42Qb3%252B9XC5EpfLCNfHag%252Bo0BcZWWIRYYA%252FDpPH01wK9AmARIwX9K%252BAjBDXvuqoU47FHjfsActnIQu5PdXpojKJn5AyUbPoV%26sc%3D9iobGNw%26ref%3Dhttps%253A%252F%252Fwww.bgasecurity.com%26et%3D50Cq%252FnZKLkOFhGRPeLixoJcmCdGi%252FNTS)…
… hash not found in md5.com.cnAnalyzing with digitalsun.pl (http://md5.digitalsun.pl)…
… hash not found in digitalsun.plAnalyzing with drasen.net https://www.bgasecurity.com/.
… hash not found in drasen.netAnalyzing with myinfosec )…
***** HASH CRACKED!! *****
The original string is: casemanager
Cracking hash: 832329db5f0de91b054acf3d8453009bAnalyzing with stringfunction https://www.bgasecurity.com/.
… hash not found in stringfunctionAnalyzing with 99k.org )…
… hash not found in 99k.orgAnalyzing with sans .
… hash not found in sansAnalyzing with bokehman .
… hash not found in bokehmanAnalyzing with goog.li )…
… hash not found in goog.liAnalyzing with schwett )…
… hash not found in schwettAnalyzing with netmd5crack )…
… hash not found in netmd5crackAnalyzing with md5-cracker (http://www.md5-cracker.tk)…
… hash not found in md5-crackerAnalyzing with benramsey .
… hash not found in benramseyAnalyzing with gromweb .
… hash not found in gromwebAnalyzing with hashcracking (http://md5.hashcracking.com)…
… hash not found in hashcrackingAnalyzing with hashcracking (http://victorov.su)…
… hash not found in hashcrackingAnalyzing with thekaine (http://md5.thekaine.de)…
… hash not found in thekaineAnalyzing with tmto .
… hash not found in tmtoAnalyzing with rednoize )…
… hash not found in rednoizeAnalyzing with md5-db )…
… hash not found in md5-dbAnalyzing with my-addr (http://md5.my-addr.com)…
… hash not found in my-addrAnalyzing with md5pass )…
… hash not found in md5passAnalyzing with md5decryption )…
… hash not found in md5decryptionAnalyzing with md5crack )…
… hash not found in md5crackAnalyzing with md5online (http://md5online.net)…
… hash not found in md5onlineAnalyzing with md5-decrypter (http://md5-decrypter.com)…
… hash not found in md5-decrypterAnalyzing with authsecu .
… hash not found in authsecuAnalyzing with hashcrack (http://hashcrack.com)…
… hash not found in hashcrackAnalyzing with c0llision )…
… hash not found in c0llisionAnalyzing with cmd5 https://www.cmd5.org/error.htm?aspxerrorpath=/)…
… hash not found in cmd5Analyzing with bigtrapeze .
… hash not found in bigtrapezeAnalyzing with hashchecker (http://www.hashchecker.com)…
… hash not found in hashcheckerAnalyzing with md5hashcracker )…
… hash not found in md5hashcrackerAnalyzing with passcracking (http://passcracking.com)…
… hash not found in passcrackingAnalyzing with askcheck )…
… hash not found in askcheckAnalyzing with fox21 (http://cracker.fox21.at)…
… hash not found in fox21Analyzing with nicenamecrew (http://crackfoo.nicenamecrew.com)…
… hash not found in nicenamecrewAnalyzing with joomlaaa .
… hash not found in joomlaaaAnalyzing with md5-lookup (http://md5-lookup.com)…
… hash not found in md5-lookupAnalyzing with md5.com.cn https://s.click.taobao.com/t_js?tu=https%3A%2F%2Fs.click.taobao.com%2Ft%3Fe%3Dm%253D2%2526s%253DEtGkqfIcCHscQipKwQzePCperVdZeJviEViQ0P1Vf2kguMN8XjClAkILG5OZkDg4Ej8neNR1nx%252BKdBeS13OAHpcn8Ub%252BcZoI%252F42Qb3%252B9XC5EpfLCNfHag%252Bo0BcZWWIRYYA%252FDpPH01wK9AmARIwX9K%252BAjBDXvuqoU47FHjfsActnIQu5PdXpojKJn5AyUbPoV%26sc%3D9iobGNw%26ref%3Dhttps%253A%252F%252Fwww.bgasecurity.com%26et%3D50Cq%252FnZKLkOFhGRPeLixoJcmCdGi%252FNTS)…
… hash not found in md5.com.cnAnalyzing with digitalsun.pl (http://md5.digitalsun.pl)…
… hash not found in digitalsun.plAnalyzing with drasen.net https://www.bgasecurity.com/.
… hash not found in drasen.netAnalyzing with myinfosec )…
… hash not found in myinfosecAnalyzing with md5.net https://community.md5.net/md5/landing)…
… hash not found in md5.netAnalyzing with noisette.ch )…
… hash not found in noisette.chAnalyzing with md5hood (http://md5hood.com)…
… hash not found in md5hood
The following hashes were cracked:
———————————-59d5c4be7fbb91c8f95b99e482cd0387 -> malinka1974
674de90a91a8e4ce5b252bf7c924ac13 -> casemanager