Tuesday, January 19, 2010

Crack MD5 Hash (MD5 Hash Bruter) Menggunakan Perl

Kali ini aku mahu ajar korang bagaimana nak crack md5 hash menggunakan perl script. Sebelum itu perl script ialah salah satu programming languange yg digunakan berdasarkan interface command prompt. dan md5 hash pula sebuah checksum (berangka perwakilan) yang dihasilkan secara matematik dan unik identiti bagi sesebuah aplikasi, atau pengumpulan data. Untuk menjalankan perl, anda hendaklah muat turun perisian Perl ini di halamannya sendiri.

Cara2 Menjalankan Md5 Hash Bruter Menggunakan Perl Script :

1.) First download sahaja persian perl di halaman webnya. Klik untuk muat turun.
2.) Pasang perisian perl ini pada pc anda dan biarkan semuanya secara default. Dalam kata lain anda terus menekan butang "OK".
3.) Copy script md5 hash cracker bruter dibawah pada notepad anda dan savekan sebagai "MD5Hash.pl" atau nama lain bagi memudahkan untuk anda menaip (Jangan letak space pada script)


#!/usr/bin/perl
######################################################
# MD5 Hash Bruter v4.0 by Puri #
# www.Coders.tk #
######################################################
# ___ ___ ___
# /\ \ /\ \ /\ \
# /::\ \ \:\ \ /::\ \ ___
# /:/\:\__\ \:\ \ /:/\:\__\ /\__\
# /:/ /:/ / ___ \:\ \ /:/ /:/ / /:/__/
# /:/_/:/ / /\ \ \:\__\ /:/_/:/__/___ /::\ \
# \:\/:/ / \:\ \ /:/ / \:\/:::::/ / \/\:\ \__
# \::/__/ \:\ /:/ / \::/~~/~~~~ ~~\:\/\__\
# \:\ \ \:\/:/ / \:\~~\ \::/ /
# \:\__\ \::/ / \:\__\ /:/ /
# \/__/ \/__/ \/__/ \/__/
# ___ ___ ___
# /\__\ /\ \ /\__\
# /:/ _/_ /::\ \ /:/ _/_ ___
# /:/ /\ \ /:/\:\ \ /:/ /\__\ /\__\
# /:/ /::\ \ /:/ \:\ \ /:/ /:/ / /:/ /
# /:/_/:/\:\__\ /:/__/ \:\__\ /:/_/:/ / /:/__/
# \:\/:/ /:/ / \:\ \ /:/ / \:\/:/ / /::\ \
# \::/ /:/ / \:\ /:/ / \::/__/ /:/\:\ \
# \/_/:/ / \:\/:/ / \:\ \ \/__\:\ \
# /:/ / \::/ / \:\__\ \:\__\
# \/__/ \/__/ \/__/ \/__/
#

$ver = "01";
$dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.

if ($dbgtmr<=0){ die "Set dbgtmr to a value >=1 !\n";};
use Digest::MD5 qw(md5_hex);
use Time::HiRes qw(gettimeofday);

if ($ARGV[0]=~"a") {
$alpha = "abcdefghijklmnopqrstuvwxyz";}
if ($ARGV[0]=~"b") {
$alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";}
if ($ARGV[0]=~"c") {
$alpha = $alpha."1234567890";}
if ($ARGV[0]=~"d") {
$alpha = $alpha. "!\"\$%&/()=?-.:\\*'-_:.;,";}

if ($alpha eq "" or $ARGV[3] eq "") {usage();};
print "\n";
if (length($ARGV[3]) != 32) { die "Not Valid Md5, please check your MD5 Hash and Fix it!\n";};

print "Selected Charset: '$alpha\'\n";
print "Going to Crack '$ARGV[3]'...\n";

for (my $t=$ARGV[1];$t<=$ARGV[2];$t++){
crack ($t);
}

sub usage{
print "\n######################################################\n# MD5 Hash Bruter v4.0 by Puri www.coders.tk #\n";
print "###################################################### \n";
print "\n";
print "Use: *.pl [charset] [mincount] [maxcount] [MD5]\n";
print "You Can Also Mix Charset like: ac..\n";
print "\n";
print " a = abcdefghijklmnopqrstuvwxyz\n";
print " b = ABCDEFGHIJKLMNOPQRSTUVWXYZ\n";
print " c = 1234567890\n";
print " d = !\$%&/()=?-.:\\*'-_:.;,\n";
print " \n";
print "EXAMPLE: ./*.pl a 3 6 d78b6f30225cdc811adfe8d4e7c9fd34\n";
die "\n";
}

sub crack{
$CharSet = shift;
@RawString = ();
for (my $i =0;$i<$CharSet;$i++){ $RawString[i] = 0;}
$Start = gettimeofday();
do{
for (my $i =0;$i<$CharSet;$i++){
if ($RawString[$i] > length($alpha)-1){
if ($i==$CharSet-1){
print "No Results $CharSet Char.\n";
$cnt=0;
return false;
}
$RawString[$i+1]++;
$RawString[$i]=0;
}
}
###################################################
$ret = "";
for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
$hash = md5_hex($ret);
$cnt++;
$Stop = gettimeofday();
if ($Stop-$Start>$dbgtmr){
$cnt = int($cnt/$dbgtmr);
print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
$cnt=0;
$Start = gettimeofday();
}
print "$ARGV[3] -> $hash ($ret)\n";
if ($ARGV[3] eq $hash){
print "\n";
print " #########################################\n";
print " Password: $ret \n";
print " #########################################\n";
die "\n Password Found, Mission Complete. (PuriSoft)\n";
}
###################################################
#checkhash($CharSet)."\n";

$RawString[0]++;
}while($RawString[$CharSet-1]<length($alpha));
}

sub checkhash{
$CharSet = shift;
$ret = "";
for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
$hash = md5_hex($ret);
$cnt++;
$Stop = gettimeofday();
if ($Stop-$Start>$dbgtmr){
$cnt = int($cnt/$dbgtmr);
print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
$cnt=0;
$Start = gettimeofday();
}

if ($ARGV[3] eq $hash){
die "\n Password Found, Mission Complete. PW= $ret\n";
}

}

4. ) Buka "My Computer", dan kemudian klik pada "Local Disk (C :/)". Di sana, anda akan melihat sebuah folder bernama "Perl". Buka folder itu, dan dalam "Perl", anda akan melihat folder lain pula bernama "bin". Buka folder "bin" tersebut. Sekarang anda perlu copy sahaja "MD5Hash.pl" kedalam folder "bin".
5.) Apa yang perlu anda lakukan sekarang ialah bukak command prompt anda (CMD) dan menukar direktori pada command prompt anda kepada Perl/bin direktori. Untuk melakukannya, taip cd C:\Perl\bin dan tekan enter.

6.) Sekarang anda berada di Perl/bin direktori, seterusnya anda perlu mengakses fail "MD5Hash.pl" untuk menjalankan perl script tersebut. Taip kata arahan berikut ke dalam command prompt perl MD5Hash.pl

7.) Sekarang masukkan md5 hash yg korang dapat dari mana2 forum. Seperti contoh yang diberikan dalam script, taipkan Md5Hash.pl a 3 6 d78b6f30225cdc811adfe8d4e7c9fd34

Nota : *.pl [charset] [mincount] [maxcount] [MD5]

*.pl = Nama Fail script anda (MD5Hash.pl)
[charset] = Anda boleh gabungkan kesemua sekali jika password yang hendak dicrack menggunakan salah satu char di bawah. (abcd)
a = abcdefghijklmnopqrstuvwxyz

b = ABCDEFGHIJKLMNOPQRSTUVWXYZ

c = 1234567890

d = !$%&/()=?-.:\*'-_:.;,
[mincount] = min bilangan password

[maxcount] = max bilangan password

[MD5] = Md5 korang dapat (d78b6f30225cdc811adfe8d4e7c9fd34)

8.) Tekan "Enter" dan tunggu sahaja proses mengcrack md5 hash smpai selesai.

p/s : Mungkin agak susah nk phm kalu org xbiasa dengan perl ni lagi. huhu. blaja pelan2 ye ;D. btw nnti aku senaraikan pulk web2 yang boleh crack md5 hash ni. gud luck =)

If you think this entry useful, just click Facebook Like button bellow :
blog comments powered by Disqus
Related Posts with Thumbnails