Skip to content

Commit

Permalink
Rewrite to be slightly more Pythonic
Browse files Browse the repository at this point in the history
- Dynamically generate from a list instead of hardcoding
- Add command preview for ease of use
- Use proper entrypoint for code
- Formatting and other QoL changes.
  • Loading branch information
KazWolfe committed Oct 10, 2019
1 parent e8e96f2 commit a2051f9
Showing 1 changed file with 91 additions and 133 deletions.
224 changes: 91 additions & 133 deletions d3adhash.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import os
import os
print("""
. :: :,
Expand Down Expand Up @@ -60,142 +60,100 @@
but I can't help but look forward to where it's going.
-Nny
""")


print("-----------------------------")
print("-----------------------------")
print("---------No-Salts------------")
print("-----Hash Cat Utility--------")
print("---All results in krakd.txt---")
print("-----------------------------")
print("[1] MD5 optimized (under 27 character passwords)")
print("[2] MD5 ")
print("[3] SHA256 ")
print("[4] SHA1 ")
print("[5] NTLM ")
print("[6] LM ")
print("[7] WPA/WPA2 ")
print("[8] WPA/WPA2 PMK ")
print("[9] SHA512")
print("[10] NetNLTMv2")
print("[11] WordPress(md5)")
print("[12] Android Pin/Pass. ")
print("[13] LUKS")

option = int(input("Enter number : \n"))


if option == 1:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 0 $Hash $Word --force --show > krakd.txt
""")

if option == 2:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 0 $Hash $Word --force --show > krakd.txt
""")

if option == 3:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 1400 $Hash $Word --force --show > krakd.txt
""")

if option == 4:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 100 $Hash $Word --force --show > krakd.txt
""")

if option == 5:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 1000 $Hash $Word --force --show > krakd.txt
""")

if option == 6:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 3000 $Hash $Word --force --show > krakd.txt
""")

if option == 7:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 2500 $Hash $Word --force --show > krakd.txt
""")

if option == 8:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 2501 $Hash $Word --force --show > krakd.txt
""")

if option == 9:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 1700 $Hash $Word --force --show > krakd.txt
""")

if option == 10:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 5600 $Hash $Word --force --show > krakd.txt
""")

if option == 11:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 400 $Hash $Word --force --show > krakd.txt
""")

if option == 12:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 5800 $Hash $Word --force --show > krakd.txt
""")

if option == 13:
os.system("""
echo -n "Hash to Krak : "
read Hash
echo -n " Wordlist to use :"
read Word
sudo hashcat -a 0 -m 14600 $Hash $Word --force --show > krakd.txt
""")
HASHCAT_BASE_COMMAND = "hashcat -a 0 -m {type} {hash} {wordlist} --force --show > {outfile}"
OUTFILE_NAME = "kracd.txt"

options = [
{
"name": "MD5 Optimized (<27 chars)",
"hashType": 0
},
{
"name": "MD5",
"hashType": 0
},
{
"name": "SHA256",
"hashType": 1400
},
{
"name": "SHA1",
"hashType": 1400
},
{
"name": "NTLM Hash",
"hashType": 1000
},
{
"name": "LM Hash",
"hashType": 3000
},
{
"name": "WPA/WPA2",
"hashType": 2500
},
{
"name": "WPA/WPA2 (PMK)",
"hashType": 2501
},
{
"name": "SHA512",
"hashType": 1700
},
{
"name": "NetNTLM v2",
"hashType": 5600
},
{
"name": "phpass/WordPress MD5",
"hashType": 400
},
{
"name": "Android PIN/Passphrase",
"hashType": 5800
},
{
"name": "LUKS",
"hashType": 14600
}
]

if __name__ == "__main__":
# Generate menu and prompt user for option
for count, option in enumerate(options, 1):
print(f"[{count}] {option['name']}")

while True:
selection = input("Enter selection: ")

if selection.isdigit() and 1 <= int(selection) <= len(options):
selection = int(selection)
break
else:
print("Bad selection, please try again.")

selectedItem = options[selection - 1]

# prompt user for hash and wordlist
challenge = input("Hash? ")
wordlist = input("Wordlist path? ")

command = HASHCAT_BASE_COMMAND.format(
type=selectedItem['hashType'],
hash=challenge,
wordlist=wordlist,
outfile=OUTFILE_NAME
)

print(f"\nTo run this hashcat in the future, use the following command:\n {command}")
os.system(command)
print("\nExecution complete. Goodbye.")

0 comments on commit a2051f9

Please sign in to comment.