Pentest Çalışmalarında Parola Hash Değerlerini Bulma

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 (http://md5crack.com)…
… hash not found in md5crack

Analyzing with md5online (http://md5online.net)…
… hash not found in md5online

Analyzing with md5-decrypter (http://md5-decrypter.com)…
… hash not found in md5-decrypter

Analyzing with authsecu (http://www.authsecu.com)…
… hash not found in authsecu

Analyzing with hashcrack (http://hashcrack.com)…
… hash not found in hashcrack

Analyzing with c0llision (http://www.c0llision.net)…
… hash not found in c0llision

Analyzing with cmd5 (http://www.cmd5.org)…
… hash not found in cmd5

Analyzing with bigtrapeze (http://www.bigtrapeze.com)…

***** HASH CRACKED!! *****
The original string is: malinka1974
Cracking hash: 674de90a91a8e4ce5b252bf7c924ac13

Analyzing with nicenamecrew (http://crackfoo.nicenamecrew.com)…
… hash not found in nicenamecrew

Analyzing with joomlaaa (http://joomlaaa.com)…
… hash not found in joomlaaa

Analyzing with md5-lookup (http://md5-lookup.com)…
… hash not found in md5-lookup

Analyzing with md5.com.cn (http://md5.com.cn)…
… hash not found in md5.com.cn

Analyzing with digitalsun.pl (http://md5.digitalsun.pl)…
… hash not found in digitalsun.pl

Analyzing with drasen.net (http://md5.drasen.net)…
… hash not found in drasen.net

Analyzing with myinfosec (http://md5.myinfosec.net)…

***** HASH CRACKED!! *****
The original string is: casemanager
Cracking hash: 832329db5f0de91b054acf3d8453009b

Analyzing with stringfunction (http://www.stringfunction.com)…
… hash not found in stringfunction

Analyzing with 99k.org (http://xanadrel.99k.org)…
… hash not found in 99k.org

Analyzing with sans (http://isc.sans.edu)…
… hash not found in sans

Analyzing with bokehman (http://bokehman.com)…
… hash not found in bokehman

Analyzing with goog.li (http://goog.li)…
… hash not found in goog.li

Analyzing with schwett (http://schwett.com)…
… hash not found in schwett

Analyzing with netmd5crack (http://www.netmd5crack.com)…
… hash not found in netmd5crack

Analyzing with md5-cracker (http://www.md5-cracker.tk)…
… hash not found in md5-cracker

Analyzing with benramsey (http://tools.benramsey.com)…
… hash not found in benramsey

Analyzing with gromweb (http://md5.gromweb.com)…
… hash not found in gromweb

Analyzing with hashcracking (http://md5.hashcracking.com)…
… hash not found in hashcracking

Analyzing with hashcracking (http://victorov.su)…
… hash not found in hashcracking

Analyzing with thekaine (http://md5.thekaine.de)…
… hash not found in thekaine

Analyzing with tmto (http://www.tmto.org)…
… hash not found in tmto

Analyzing with rednoize (http://md5.rednoize.com)…
… hash not found in rednoize

Analyzing with md5-db (http://md5-db.de)…
… hash not found in md5-db

Analyzing with my-addr (http://md5.my-addr.com)…
… hash not found in my-addr

Analyzing with md5pass (http://md5pass.info)…
… hash not found in md5pass

Analyzing with md5decryption (http://md5decryption.com)…
… hash not found in md5decryption

Analyzing with md5crack (http://md5crack.com)…
… hash not found in md5crack

Analyzing with md5online (http://md5online.net)…
… hash not found in md5online

Analyzing with md5-decrypter (http://md5-decrypter.com)…
… hash not found in md5-decrypter

Analyzing with authsecu (http://www.authsecu.com)…
… hash not found in authsecu

Analyzing with hashcrack (http://hashcrack.com)…
… hash not found in hashcrack

Analyzing with c0llision (http://www.c0llision.net)…
… hash not found in c0llision

Analyzing with cmd5 (http://www.cmd5.org)…
… hash not found in cmd5

Analyzing with bigtrapeze (http://www.bigtrapeze.com)…
… hash not found in bigtrapeze

Analyzing with hashchecker (http://www.hashchecker.com)…
… hash not found in hashchecker

Analyzing with md5hashcracker (http://md5hashcracker.appspot.com)…
… hash not found in md5hashcracker

Analyzing with passcracking (http://passcracking.com)…
… hash not found in passcracking

Analyzing with askcheck (http://askcheck.com)…
… hash not found in askcheck

Analyzing with fox21 (http://cracker.fox21.at)…
… hash not found in fox21

Analyzing with nicenamecrew (http://crackfoo.nicenamecrew.com)…
… hash not found in nicenamecrew

Analyzing with joomlaaa (http://joomlaaa.com)…
… hash not found in joomlaaa

Analyzing with md5-lookup (http://md5-lookup.com)…
… hash not found in md5-lookup

Analyzing with md5.com.cn (http://md5.com.cn)…
… hash not found in md5.com.cn

Analyzing with digitalsun.pl (http://md5.digitalsun.pl)…
… hash not found in digitalsun.pl

Analyzing with drasen.net (http://md5.drasen.net)…
… hash not found in drasen.net

Analyzing with myinfosec (http://md5.myinfosec.net)…
… hash not found in myinfosec

Analyzing with md5.net (http://md5.net)…
… hash not found in md5.net

Analyzing with noisette.ch (http://md5.noisette.ch)…
… hash not found in noisette.ch

Analyzing with md5hood (http://md5hood.com)…
… hash not found in md5hood
The following hashes were cracked:
———————————-

59d5c4be7fbb91c8f95b99e482cd0387 -> malinka1974
674de90a91a8e4ce5b252bf7c924ac13 -> casemanager