global security disclosure

Multi CMS Hash Cracker 0.1

Multi CMS Hash Cracker 0.1
Posted Jun 16, 2011
Authored by localh0t

Multi CMS Hash Cracker is a perl script for cracking hashes from various CMS systems.

tags | cracker, perl
MD5 | b28dfa71846c0f1a8ab111bfcf189df0

Multi CMS Hash Cracker 0.1

Change Mirror Download
#!usr/bin/perl
use Digest::MD5 qw(md5_hex);
use Digest::SHA1 qw(sha1_hex);

# Author: localh0t
# Date: 09/06/11
# Contact: mattdch0@gmail.com
# Follow: @mattdch

# Help

if(!$ARGV[7])
{
print "\n\n###########################################";
print "\n# Multi CMS Hash Cracker v0.1 by localh0t #";
print "\n###########################################";
print "\n\nUse: perl $0 -d [WORLDLIST FOLDER] -h [MD5 | SHA-1 HASH] -s [SALT | USERNAME] -c [CMS]\n";
print "Example: perl $0 -d /home/localh0t/wordlists/ -h caef8544a8e65e23f67ab844d4866e8d -s uZ*qX -c IPB\n";
print "Example: perl $0 -d /home/localh0t/wordlists/ -h dc4a27b25e3f780b89c165f931d6f85d5bd6e33e -s Administrator -c SMF\n\n";
print "Note: Worlists must end with .txt or .lst (or any extension)\n\n";
print "Support:\n========\n";
print "VB : md5_hex(md5_hex(password).salt) | (vBulletin)\n";
print "SMF : sha1_hex(user.password) | (Simple Machines Forum)\n";
print "IPB : md5_hex(md5_hex(salt).md5_hex(password)) | (Invision Power Board)\n";
print "JOOMLA : md5_hex(password.salt) | (Joomla 1.x)\n\n";
exit(0);
}


# Functions

sub ipb_cracker{
my $hash = shift;
my $salt = shift;
my $dir = shift;
foreach $file (@FILES) {
open(DICT,"<".$dir.$file) || die "\n[-] Error opening $file\n\n";
print "[!] Using $file...\n";
foreach $password(<DICT>) {
$password=~s/\s|\n//;
chomp($password);
$cracked = md5_hex(md5_hex($salt).md5_hex($password));
if ($cracked eq $hash) {
return "[+] Hash cracked !: $password\n\n";
}
}
print "[!] Nothing found with $file...\n\n";
}
return "\n[-] Password not found\n\n";
}

sub vb_cracker{
my $hash = shift;
my $salt = shift;
my $dir = shift;
foreach $file (@FILES) {
open(DICT,"<".$dir.$file) || die "\n[-] Error opening $file\n\n";
print "[!] Using $file...\n";
foreach $password(<DICT>) {
$password=~s/\s|\n//;
chomp($password);
$cracked = md5_hex(md5_hex($password).$salt);
if ($cracked eq $hash) {
return "[+] Hash cracked !: $password\n\n";
}
}
print "[!] Nothing found with $file...\n\n";
}
return "\n[-] Password not found\n\n";
}

sub smf_cracker{
my $hash = shift;
my $user = shift;
my $dir = shift;
foreach $file (@FILES) {
open(DICT,"<".$dir.$file) || die "\n[-] Error opening $file\n\n";
print "[!] Using $file...\n";
foreach $password(<DICT>) {
$password=~s/\s|\n//;
chomp($password);
$cracked = sha1_hex($user.$password);
if ($cracked eq $hash) {
return "[+] Hash cracked !: $password\n\n";
}
}
print "[!] Nothing found with $file...\n\n";
}
return "\n[-] Password not found\n\n";
}

sub joomla_cracker{
my $hash = shift;
my $salt = shift;
my $dir = shift;
foreach $file (@FILES) {
open(DICT,"<".$dir.$file) || die "\n[-] Error opening $file\n\n";
print "[!] Using $file...\n";
foreach $password(<DICT>) {
$password=~s/\s|\n//;
chomp($password);
$cracked = md5_hex($password.$salt);
if ($cracked eq $hash) {
return "[+] Hash cracked !: $password\n\n";
}
}
print "[!] Nothing found with $file...\n\n";
}
return "\n[-] Password not found\n\n";
}

my ($dir, $hash, $salt, $cms, $arg);

foreach $loop (@ARGV) {
for ($loop) {
/^-d$/ and do { $dir = $ARGV[($arg+1)]; last; };
/^-h$/ and do { $hash = $ARGV[($arg+1)]; last; };
/^-s$/ and do { $salt = $ARGV[($arg+1)]; last; };
/^-c$/ and do { $cms = $ARGV[($arg+1)]; last; };
}
$arg++;
}


# Main

print "\n[!] Cracking $hash with $salt as username/salt...\n\n";

opendir(DIR, $dir) || die "\n[-] Folder not found\n\n";

while($file = readdir(DIR)) {
if ($file ne '.' and $file ne '..') {
$FILES[$clean] = $file;
$clean++;
}
}

for ($cms) {
/^IPB$/ and do { $result = &ipb_cracker($hash,$salt,$dir); last; };
/^VB$/ and do { $result = &vb_cracker($hash,$salt,$dir); last; };
/^SMF$/ and do { $result = &smf_cracker($hash,$salt,$dir); last; };
/^JOOMLA$/ and do { $result = &joomla_cracker($hash,$salt,$dir); last; };
/^.$/ and do { print "[-] CMS not available\n"; exit(0); last; };
}

print $result;

# Exit

close(DICT);
closedir(DIR);
exit(0);

__END__

Comments

RSS Feed Subscribe to this comment feed

No comments yet, be the first!

Login or Register to post a comment

File Archive:

May 2012

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    May 1st
    37 Files
  • 2
    May 2nd
    53 Files
  • 3
    May 3rd
    33 Files
  • 4
    May 4th
    4 Files
  • 5
    May 5th
    10 Files
  • 6
    May 6th
    17 Files
  • 7
    May 7th
    19 Files
  • 8
    May 8th
    36 Files
  • 9
    May 9th
    34 Files
  • 10
    May 10th
    35 Files
  • 11
    May 11th
    20 Files
  • 12
    May 12th
    18 Files
  • 13
    May 13th
    11 Files
  • 14
    May 14th
    27 Files
  • 15
    May 15th
    58 Files
  • 16
    May 16th
    54 Files
  • 17
    May 17th
    25 Files
  • 18
    May 18th
    53 Files
  • 19
    May 19th
    9 Files
  • 20
    May 20th
    15 Files
  • 21
    May 21st
    25 Files
  • 22
    May 22nd
    32 Files
  • 23
    May 23rd
    35 Files
  • 24
    May 24th
    26 Files
  • 25
    May 25th
    25 Files
  • 26
    May 26th
    0 Files
  • 27
    May 27th
    0 Files
  • 28
    May 28th
    0 Files
  • 29
    May 29th
    0 Files
  • 30
    May 30th
    0 Files
  • 31
    May 31st
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2012 Packet Storm. All rights reserved.

close