./encryption/mysql5crack.py

0.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
#!/usr/bin/python
#Attempts to crack MySQL v5 hash using wordlist.
#http://darkc0de.com/
#d3hydr8[at]gmail[dot]com 
 
import sys
 
def c1(word):
	s = hashlib.sha1()
	s.update(word[:-1])
	s2 = hashlib.sha1()
	s2.update(s.digest())
	return s2.hexdigest()
 
def c2(word):
	s = sha.new()
	s.update(word[:-1])
	s2 = sha.new()
	s2.update(s.digest())
	return s2.hexdigest()
 
if len(sys.argv) != 3:
	print "Usage: ./mysql5crack.py <hash> <wordlist>"
	sys.exit(1)
 
pw = sys.argv[1]
if len(pw) != 40:
	print "Improper hash length\n"
  	sys.exit(1)
try:
  	words = open(sys.argv[2], "r")
except(IOError): 
  	print "Error: Check your wordlist path\n"
  	sys.exit(1)
words = words.readlines()
print "\nWords Loaded:",len(words)
 
try:
	import hashlib
	for word in words:
		if pw == c1(word): 
			print "\nPassword is:",word
except(ImportError):
	import sha
	for word in words:
		if pw == c2(word): 
			print "\nPassword is:",word
 
 
 

Back