Cracking Hash [Resources]

လာလာေမးၾကလို႕ဗ်။ က်ေနာ္႕စိတ္ထင္ေတာ့ SQL Injection နဲ႕ရလာတဲ့ password ေတြမွာ hash ေတြျဖစ္ေနလို႕ထင္ပါတယ္။ ဒါေၾကာင့္ ေျဖရတာမ်ားလာေတာ့ ေရးထားလိုက္မယ္ စိတ္ကူးရသြားလို႕ 😀

What is Hash?

Hash ေတြက သာမာန္မ်က္ေစ့နဲ႕ ဖတ္မရတဲ့ password ေတြပါ။ ၾကားထဲကေနဖြင့္ဖတ္တာမ်ိဳးျဖစ္ျဖစ္ အေပၚမွာေျပာခဲ့သလို SQL data ေတြကိုသိမ္းတဲ့အခါ တကယ္လို႕သူမ်ားရသြားရင္ေတာင္ အလြယ္တကူ နားမလည္ႏိုင္ေအာင္ သံုးထားျခင္းျဖစ္ပါတယ္။ Hash အေၾကာင္းတအားၾကီးမေျပာေတာ့ဘူး။ မ်က္လံုးနဲ႕ျမင္ေအာင္ပဲစမ္းလိုက္ေတာ့မယ္ေနာ္။

PHP hash functions ( PHP manual )

string hash ( string $algo , string $data [, bool $raw_output = false ] )

အေပၚက syntax နဲ႕ hash ေတြကိုက်ေနာ္တို႕ generate လုပ္လို႕ရပါတယ္။ ဥပမာ algorithm က MD5 ဆုိပါေတာ့။ ပထမ parameter မွာ algorithm ကိုထည့္မယ္၊ ဒုတိယ algorithm မွာေတာ့ data ကိုထည့္မယ္။ data types က ၂ ခုစလံုး strings ေတြအေနနဲ႕ပဲထည့္ေပးရမွာျဖစ္ပါတယ္။

Example with MD5

<?php
echo hash('md5', 'LOL security');
?>

Output

ဒီလိုမ်ိဳး လူနားမလည္တာေတြထြက္လာတယ္လို႕အလြယ္ေျပာရမယ္ 😛 ဒီေနရာေလးမွာတစ္ခုမွတ္ထားေစခ်င္တာက PHP version အလိုက္လဲ hash ေတြလိုက္ျပီးေျပာင္းလဲသြားေသးတယ္ဆိုတာသိထားရပါမယ္။ ( Detailed here )

Identifying Hashes

က်ေနာ္ဆိုလိုတာက ဒီလိုမ်ိဳး hash ေတြကိုေတြ႕တာနဲ႕ MD5 ပါလို႕တန္းသိတာမဟုတ္ဘူး။ Manual ခြဲနည္းေတာ့ရွိမွာပါ Tool ေတာင္ထြက္ေသးတာဆိုေတာ့။ ခုေတာ့ tool ပဲသံုးလိုက္မယ္။ ဘာ hash လဲဆိုတာသိမွ ေနာက္ပိုင္း crack တယ္ဘာညာက ဆက္လုပ္လို႕အဆင္ေျပမွာပါ။ မသိပဲလုပ္ရင္ေတာ့ တိုက္ဆိုင္ရင္ရမွာေပါ့ေလ။

Hash Identifier ( Link )

Kali မွာ builtin ပါ၀င္ျပီးသား tool တစ္ခုျဖစ္ပါတယ္။ Possible Hash ကို Identify လုပ္ေပးႏိုင္ပါတယ္။

root@kali:~# hash-identifier 
   #########################################################################
   #     __  __             __       ______    _____       #
   #    /\ \/\ \           /\ \     /\__  _\  /\  _ `\     #
   #    \ \ \_\ \     __      ____ \ \ \___ \/_/\ \/  \ \ \/\ \    #
   #     \ \  _  \  /'__`\   / ,__\ \ \  _ `\      \ \ \   \ \ \ \ \       #
   #      \ \ \ \ \/\ \_\ \_/\__, `\ \ \ \ \ \      \_\ \__ \ \ \_\ \      #
   #       \ \_\ \_\ \___ \_\/\____/  \ \_\ \_\     /\_____\ \ \____/      #
   #        \/_/\/_/\/__/\/_/\/___/    \/_/\/_/     \/_____/  \/___/  v1.1 #
   #                                 By Zion3R #
   #                            www.Blackploit.com #
   #                               Root@Blackploit.com #
   #########################################################################

   -------------------------------------------------------------------------
 HASH: 098f6bcd4621d373cade4e832627b4f6

Possible Hashs:
[+]  MD5
[+]  Domain Cached Credentials - MD4(MD4(($pass)).(strtolower($username)))

Least Possible Hashs:
[+]  RAdmin v2.x
[+]  NTLM
[+]  MD4
[+]  MD2
[+]  MD5(HMAC)
[+]  MD4(HMAC)
[+]  MD2(HMAC)
[+]  MD5(HMAC(WordPress))
[+]  Haval-128
[+]  Haval-128(HMAC)
[+]  RipeMD-128
[+]  RipeMD-128(HMAC)
[+]  SNEFRU-128
[+]  SNEFRU-128(HMAC)
[+]  Tiger-128
[+]  Tiger-128(HMAC)
[+]  md5($pass.$salt)
[+]  md5($salt.$pass)
[+]  md5($salt.$pass.$salt)
[+]  md5($salt.$pass.$username)
[+]  md5($salt.md5($pass))
[+]  md5($salt.md5($pass))
[+]  md5($salt.md5($pass.$salt))
[+]  md5($salt.md5($pass.$salt))
[+]  md5($salt.md5($salt.$pass))
[+]  md5($salt.md5(md5($pass).$salt))
[+]  md5($username.0.$pass)
[+]  md5($username.LF.$pass)
[+]  md5($username.md5($pass).$salt)
[+]  md5(md5($pass))
[+]  md5(md5($pass).$salt)
[+]  md5(md5($pass).md5($salt))
[+]  md5(md5($salt).$pass)
[+]  md5(md5($salt).md5($pass))
[+]  md5(md5($username.$pass).$salt)
[+]  md5(md5(md5($pass)))
[+]  md5(md5(md5(md5($pass))))
[+]  md5(md5(md5(md5(md5($pass)))))
[+]  md5(sha1($pass))
[+]  md5(sha1(md5($pass)))
[+]  md5(sha1(md5(sha1($pass))))
[+]  md5(strtoupper(md5($pass)))

   -------------------------------------------------------------------------

Hash Identifier ( Python Tool )

https://github.com/psypanda/hashID

Hash Identifier ( Online Tool )

https://www.onlinehashcrack.com/hash-identification.php

Result

Cracking Hash Passwords

နည္းလမ္းေလးေတြေတာ့အမ်ိဳးမ်ိဳးရွိတာေပါ့ေနာ္။ ကိုယ္ၾကိုက္တဲ့ဟာသံုးလို႕ရပါတယ္။ ကေ်နာ္ေတာ့ က်ေနာ္ သံုးဖူးတာေလးေတြေျပာထားတာပါ။ ပိုေကာင္းတဲ့နည္းလမ္းေတြရွိရင္ေတာ့ Comment မွာ ေျပာသြားႏိုင္ပါတယ္။

John The Ripper

John The Ripper (Using wordlist)

 john --wordlist=/usr/share/john/password.lst ~/hash_file

John The Ripper (Without wordlist)

 john  ~/hash_file

More Modes for John The Ripper ( Here )

More Examples for John The Ripper ( Here )

Hashcat ( Link )

Hashcat ကေျပာျပရမွာေတြမ်ားတယ္။ ဒါေၾကာင့္ က်ေနာ္ သြားဖတ္ရမယ့္ link ေတြပဲေပးလိုက္ေတာ့တယ္။ ဒါေပမဲ့သိထားရမွာက Hashcat က GPU အဓိကထားတဲ့ tool ျဖစ္ပါတယ္။ Official Website မွာၾကည့္ရင္လဲေတြ႕ရမွာပါ။ ဒီေတာ့ က်ေန္ာဆို စက္ေသးေသးပဲရွိေတာ့ မတိုက္ျဖစ္ဘူး ဟီး 😀

Hashcat ( Mask Attack )

Hashcat ( MD5 Crack )

Hashcat ( Combinator Attack )

Hashcat ( Rule Based Attack )

Hashcat GUI for Windows OS ( Link )

Rainbow Table

http://project-rainbowcrack.com/

( Raibow Table Tutorials )

What tool support for Andorid? Hash Suite 

http://hashsuite.openwall.net/android

က်ေနာ္ေတာ့မသံုးဖူးဘူး ဟီး 😀

Using Google 

https://www.google.com.mm/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=9cdfb439c7876e703e307864c9167a15&*

Some Online Hash Cracker 

https://www.google.com.mm/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=Online+Hash+Cracker&*

ဒါေလးေတြနဲ႕အလုပ္ျဖစ္ပါတယ္ ခုန tools ေတြမွာလိုတဲ့ wordlist ေတြကိုေတာ့

http://human0id.net/wordlists.html

https://wiki.skullsecurity.org/index.php?title=Passwords

Thanks for Reading

Reference ေပးစရာေတာင္မလိုေတာ့ဘူး ကိုယ္ကစုေပးလိုက္တာပဲရွိတယ္ Link ေတြခ်ည္းပဲ 😀