Sızma testlerinde elde edilen parola özetlerinin tipinin belirlenmesinde kullanılacak olan HashTag.py aracı, farklı şifre hash değerlerini kendi türüne göre ayıran ve tanımlayan Python ile yazılmış bir araçtır. 250 ve üzeri hash değerini desteklemektedir. HashTag, hash değerlerini direk okumanın yanı sıra dosya üzerinden de hash değerlerini okuyabilmektedir.
Aracı kaynak kodlarını görüntülemek için burayı ziyaret edebilirsiniz. Eğer aracı online olarak kullanmak isterseniz bu adresten ulaşabilirsiniz.
Kullanımı :
Kullanımı aşağıdaki gibidir.
usage: HashTag.py {-sh hash |-f file |-d directory} [-o output_filename] [-hc] [-n]
|
Programın kullanımını ve hangi parametleri aldığını detaylı olarak görmek için help menüsünden faydalanılabilir.
-h, –help
|
show this help message and exit
|
-sh SINGLEHASH, –singleHash SINGLEHASH
|
Identify a single hash
|
-f FILE, –file FILE
|
Parse a single file for hashes and identify them
|
-d DIRECTORY, –directory DIRECTORY
|
Parse, identify, and categorize hashes within a directory and all subdirectories
|
-o OUTPUT, –output OUTPUT
|
Filename to output full list of all identified hashes
–file default filename: HashTag/HashTag_Output_File.txt
–directory default filename: HashTag/HashTag_Hash_File.txt
|
-hc, –hashcatOutput
|
–file: Output a file per different hash type found, if corresponding hashcat mode exists
–directory: Appends hashcat mode to end of separate files
|
-n, –notFound
|
–file: Include unidentifiable hashes in the output file. Good for tool debugging (Is it Identifying properly?)
|
Single Hash (-sh) Değerinin Belirlenmesi:
Single Hash değerini belirlemek için -sh parametresi kullanılacaktır.
Örnek 1 : HashTag.py -sh 7026360f1826f8bc
➜ Desktop ./HashTag.py -sh 7026360f1826f8bc
Hash: 7026360f1826f8bc
[*] MySQL, MySQL323
[*] Oracle 7-10g, DES(Oracle) – Hashcat Mode 3100
[*] CRC-64
[*] SAPB
[*] substr(md5($pass),0,16)
[*] substr(md5($pass),16,16)
[*] substr(md5($pass),8,16)
|
Örnek 2 : HashTag.py -sh 3b1015ccf38fc2a32c18674c166fa447
➜ Desktop ./HashTag.py -sh 3b1015ccf38fc2a32c18674c166fa447
Hash: 3b1015ccf38fc2a32c18674c166fa447
[*] MD5 – Hashcat Mode 0
[*] NTLM – Hashcat Mode 1000
[*] MD4 – Hashcat Mode 900
[*] LM – Hashcat Mode 3000
[*] RAdmin v2.x
[*] Haval-128
[*] MD2
[*] RipeMD-128
[*] Tiger-128
[*] Snefru-128
[*] MD5(HMAC)
[*] MD4(HMAC)
[*] Haval-128(HMAC)
[*] RipeMD-128(HMAC)
[*] Tiger-128(HMAC)
[*] Snefru-128(HMAC)
[*] MD2(HMAC)
[*] MD5(ZipMonster)
[*] MD5(HMAC(WordPress))
[*] Skein-256(128)
[*] Skein-512(128)
[*] md5($pass.$salt) – Hashcat Mode 10
[*] md5($pass.$salt.$pass)
[*] md5($pass.md5($pass))
[*] md5($salt.$pass) – Hashcat Mode 20
[*] md5($salt.$pass.$salt) – Hashcat Mode 3810
[*] md5($salt.$pass.$username)
[*] md5($salt.’-‘.md5($pass))
[*] md5($salt.md5($pass)) – Hashcat Mode 3710
[*] md5($salt.md5($pass).$salt)
[*] md5($salt.MD5($pass).$username)
[*] md5($salt.md5($pass.$salt)) – Hashcat Mode 4110
[*] md5($salt.md5($salt.$pass)) – Hashcat Mode 4010
…
|
Hash Değerinin Dosyadan Okunarak Belirlenmesi (-f):
Hash değerini dosyadan okumak ve parse etmek için -f parametresi kullanılacaktır.
➜ Desktop ./HashTag.py -f hash.txt -hc
File Mimetype: text/plain
Hashes Found: 1
File successfully written: HashTag/HashTag_Output_File.txt
|
Burada dosyada yazılı olan hash değeri -f parametresi ile okutulmuştur. Daha sonra hash değerinin sonucu HashTag/HashTag_Output_File.txt dosyasına yazılmıştır. O dosyanın içeriği görüntülendiği zaman hash bilgisine ulaşılacaktır.
➜ Desktop cat HashTag/HashTag_Output_File.txt
Hash: 7026360f1826f8bc
Char Length: 16
Hashcat Modes: [‘3100’]
Hash Types: [‘MySQL, MySQL323’, ‘Oracle 7-10g, DES(Oracle)’, ‘CRC-64’, ‘SAPB’, ‘substr(md5($pass),0,16)’, ‘substr(md5($pass),16,16)’, ‘substr(md5($pass),8,16)’]
|
Referans :
* https://www.smeegesec.com/2013/11/hashtag-password-hash-identification.html