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.


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)


If you think this entry useful, just click Facebook Like button bellow :