SHC

SHC is the name of a tool that written in python by s1n4 😀
A simple hash password cracker with dictionary attack, that can crack the following algorithms.
md5, sha1, sha224, sha256, sha384, sha512

Just put your hash passwords in a text file and try it with big dictionaries.
(This puts the results in a text file with the name of “SHC”)

#!/usr/bin/python

import hashlib, time, sys, os

def aboutit() :
	print '''
  ##########                                      ##########
    #####               ____            _____        #####
    #####        ______/_   |  ____    /  |  |       #####
    #####       /  ___/ |   | /    \  /   |  |_      #####
    #####       \___ \  |   ||   |  \/    ^   /      #####
    #####      /____  > |___||___|  /\____   |       #####
    #####           \/            \/      |__|       #####
    #####                                            #####
    ##### This is a tool for cracking hash passwords #####
    #####              Dictionary attack             #####
  ##########                                      ##########
  '''

def clear() :
	if "win" in sys.platform.lower() :
		os.system("cls")

	if "linux" in sys.platform.lower() :
		os.system("clear")

def Hash(x, y) :
	if len(x) == 32 :
		md5 = hashlib.md5(y).hexdigest()
		return md5

	elif len(x) == 40 :
		sha1 = hashlib.sha1(y).hexdigest()
		return sha1

	elif len(x) == 56 :
		sha224 = hashlib.sha224(y).hexdigest()
		return sha224

	elif len(x) == 64 :
		sha256 = hashlib.sha256(y).hexdigest()
		return sha256

	elif len(x) == 96 :
		sha384 = hashlib.sha384(y).hexdigest()
		return sha384

	elif len(x) == 128 :
		sha512 = hashlib.sha512(y).hexdigest()
		return sha512

	else :
		return "error"

def main() :
	clear()
	aboutit()

	dfn = raw_input("\nEnter dictionary file name >> ")
	time.sleep(0.5)
	pfn = raw_input("\nEnter hash password file name >> ")
	time.sleep(0.3)
	count1 = 0
	count2 = 0

	try :
		dicfile = open(dfn, "rb").read().splitlines()

	except :
		print "\n\t[-]Sorry, cant open dictionary file"

	try :
		passfile = open(pfn, "rb").read().splitlines()

	except :
		print "\n\t[-]Sorry, cant open hash passwords file"

	report = open("SHC.txt", "a")
	report.write("Start at " + time.ctime() + "\n\n")
	print "\n\t[+]Start The Cracking . . ."

	while len(passfile) > count2 :

		if Hash(passfile[count2], dicfile[count1]).lower() == passfile[count2].lower() :
			cracked = passfile[count2] + "\tCracked --->\t" + dicfile[count1] + "\n\n"
			report.write(cracked)
			count1 = 0
			count2 += 1
			if len(passfile) == count2 :
				break

		if len(dicfile) - 1 == count1 or Hash(passfile[count2], dicfile[count1]) == "error" :
			failed = passfile[count2] + "\tFailed\t\n\n"
			report.write(failed)
			count1 = 0
			count2 += 1
			if len(passfile) == count2 :
				break

		count1 += 1

	report.write("\nEnd of the cracking in " + time.ctime() + "\n\n\n")
	report.close()
	print "\n\t[+]End Of The Cracking . . ."
	time.sleep(1)

while True :
	main()

Ahh, First of all you need to big dictionaries and you can download them at http://goo.gl/elNK

Advertisements

2 thoughts on “SHC

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s