Hashes.org Script
#1
This script was written by @tekwizz123 with a very extremely small contribute from me. So really the credit goes to him. Extremely useful to quickly test for a known hash.

It takes your hash list, compares to hashes.org and outputs a file if it was found on the site

Code:
#!/usr/bin/python # Hashes.org list checking script for checking passwords # against hashes.org's list of cracked passwords. # Created by tekwizz123 # @tekwizz123 # Shoutout to @giveen for bug testing and pointing me in the right direction :) import urllib, sys, threading, time import httplib from httplib import HTTPConnection, HTTPS_PORT import ssl, socket class HTTPSConnection(HTTPConnection): "This class allows communication via SSL." default_port = HTTPS_PORT def __init__(self, host, port=None, key_file=None, cert_file=None, strict=None, timeout=socket._GLOBAL_DEFAULT_TIMEOUT, source_address=None): HTTPConnection.__init__(self, host, port, strict, timeout, source_address) self.key_file = key_file self.cert_file = cert_file def connect(self): "Connect to a host on a given (SSL) port." sock = socket.create_connection((self.host, self.port), self.timeout, self.source_address) if self._tunnel_host: self.sock = sock self._tunnel() # this is the only line we modified from the httplib.py file # we added the ssl_version variable self.sock = ssl.wrap_socket(sock, self.key_file, self.cert_file, ssl_version=ssl.PROTOCOL_TLSv1) #now we override the one in httplib httplib.HTTPSConnection = HTTPSConnection # ssl_version corrections are done result = open(sys.argv[1] + "__cracked", "wb") password = '' class lookup(threading.Thread): # Override Thread's __init__ method to accept the parameters needed: def __init__ ( self, password ): self.password = password threading.Thread.__init__ ( self ) def run ( self ): response = urllib.urlopen("https://www.hashes.org/api.php?do=check&hash1=" + self.password.strip("\n")) text = response.readline() if "<plain>" in text: if "</plain>" in text: #Get the password text = text.split("<plain>")[1] password = text.split("</plain>")[0] text = text.split("</plain>")[1] #Get the hash text = text.split("<hash>")[1] hash = text.split("</hash>")[0] text = text.split("</hash>")[1] # Grab the hash type text = text.split("<type>")[1] type = text.split("</type>")[0] text = text.split("</type>")[1] # Generate the resulting output, neatly formatted :) result.write(hash + ":" + password + " Type=(" + type + ") \n") response.close() count = 0 with open(sys.argv[1], "r", 200) as file: for password in file: lookup(password).start() count = count + 1 if (count >= 20): time.sleep(.8) count = 0 # Poor man's thread handling time.sleep(5) file.close() result.close()


Messages In This Thread
Hashes.org Script - by giveen - 10-25-2013, 09:22 PM
RE: Hashes.org Script - by giveen - 10-25-2013, 09:23 PM
RE: Hashes.org Script - by giveen - 10-31-2013, 01:19 PM
RE: Hashes.org Script - by alizah - 11-16-2013, 08:33 AM
RE: Hashes.org Script - by Algreen - 11-16-2013, 11:27 PM
RE: Hashes.org Script - by Exclusive - 11-20-2013, 02:17 PM
RE: Hashes.org Script - by giveen - 11-20-2013, 02:25 PM
RE: Hashes.org Script - by Exclusive - 11-20-2013, 03:09 PM
RE: Hashes.org Script - by Exclusive - 11-20-2013, 03:11 PM
RE: Hashes.org Script - by giveen - 11-20-2013, 06:20 PM
RE: Hashes.org Script - by Exclusive - 11-20-2013, 07:07 PM
RE: Hashes.org Script - by giveen - 11-20-2013, 07:39 PM
RE: Hashes.org Script - by philsmd - 11-20-2013, 08:38 PM
RE: Hashes.org Script - by Exclusive - 11-20-2013, 09:42 PM
RE: Hashes.org Script - by Exclusive - 11-20-2013, 09:44 PM
RE: Hashes.org Script - by s3in!c - 11-20-2013, 10:22 PM