mirror of https://github.com/hashcat/hashcat.git
change hash-signature for 26610 (incompatible with 26600), remove debug print statements in attacks, add comments, add reference data
parent
248c4afc09
commit
5208447e72
@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
from base64 import b64decode
|
||||
from hashlib import pbkdf2_hmac
|
||||
|
||||
from Crypto.Cipher import AES
|
||||
|
||||
#TODO perhaps load the vault from tools/2hashcat_tests/metamask2hashcat.json similar as in tools/metamask2hashcat.py
|
||||
vault = {"data":"R95fzGt4UQ0uwrcrVYnIi4UcSlWn9wlmer+//526ZDwYAp50K82F1u1oacYcdjjhuEvbZnWk/uBG00UkgLLlO3WbINljqmu2QWdDEwjTgo/qWR6MU9d/82rxNiONHQE8UrZ8SV+htVr6XIB0ze3aCV0E+fwI93EeP79ZeDxuOEhuHoiYT0bHWMv5nA48AdluG4DbOo7SrDAWBVCBsEdXsOfYsS3/TIh0a/iFCMX4uhxY2824JwcWp4H36SFWyBYMZCJ3/U4DYFbbjWZtGRthoJlIik5BJq4FLu3Y1jEgza0AWlAvu4MKTEqrYSpUIghfxf1a1f+kPvxsHNq0as0kRwCXu09DObbdsiggbmeoBkxMZiFq0d9ar/3Gon0r3hfc3c124Wlivzbzu1JcZ3wURhLSsUS7b5cfG86aXHJkxmQDA5urBz6lw3bsIvlEUB2ErkQy/zD+cPwCG1Rs/WKt7KNh45lppCUkHccbf+xlpdc8OfUwj01Xp7BdH8LMR7Vx1C4hZCvSdtURVl0VaAMxHDX0MjRkwmqS","iv":"h+BoIf2CQ5BEjaIOShFE7g==","salt":"jfGI3TXguhb8GPnKSXFrMzRk2NCEc131Gt5G3kZr5+s="}
|
||||
password = "hashcat1"
|
||||
|
||||
salt = b64decode(vault["salt"])
|
||||
key = pbkdf2_hmac("sha256", password.encode(), salt, 10_000)
|
||||
|
||||
iv = b64decode(vault["iv"])
|
||||
payload = b64decode(vault["data"])
|
||||
ciphertext = payload[:-16]
|
||||
print(f"ciphertext.hex()={ciphertext.hex()[0:128]}")
|
||||
tag = payload[-16:]
|
||||
|
||||
cipher = AES.new(key, AES.MODE_GCM, nonce=iv)
|
||||
plaintext = cipher.decrypt(ciphertext)
|
||||
|
||||
print(plaintext.hex()[0:128])
|
||||
print(str(plaintext[0:128]))
|
||||
|
||||
print()
|
||||
try:
|
||||
cipher.verify(tag)
|
||||
print("The message is authentic:", plaintext.decode())
|
||||
except ValueError:
|
||||
print("Key incorrect or message corrupted")
|
||||
print()
|
||||
|
||||
cipher = AES.new(key, AES.MODE_GCM, nonce=iv)
|
||||
plaintext = cipher.decrypt(ciphertext[:32])
|
||||
print("Partially encrypted message (32 bytes):", plaintext.decode())
|
||||
|
||||
cipher = AES.new(key, AES.MODE_GCM, nonce=iv)
|
||||
plaintext = cipher.decrypt(ciphertext[:450])
|
||||
print("Partially encrypted message (450 bytes):", plaintext.decode())
|
@ -0,0 +1 @@
|
||||
{"data":"R95fzGt4UQ0uwrcrVYnIi4UcSlWn9wlmer+//526ZDwYAp50K82F1u1oacYcdjjhuEvbZnWk/uBG00UkgLLlO3WbINljqmu2QWdDEwjTgo/qWR6MU9d/82rxNiONHQE8UrZ8SV+htVr6XIB0ze3aCV0E+fwI93EeP79ZeDxuOEhuHoiYT0bHWMv5nA48AdluG4DbOo7SrDAWBVCBsEdXsOfYsS3/TIh0a/iFCMX4uhxY2824JwcWp4H36SFWyBYMZCJ3/U4DYFbbjWZtGRthoJlIik5BJq4FLu3Y1jEgza0AWlAvu4MKTEqrYSpUIghfxf1a1f+kPvxsHNq0as0kRwCXu09DObbdsiggbmeoBkxMZiFq0d9ar/3Gon0r3hfc3c124Wlivzbzu1JcZ3wURhLSsUS7b5cfG86aXHJkxmQDA5urBz6lw3bsIvlEUB2ErkQy/zD+cPwCG1Rs/WKt7KNh45lppCUkHccbf+xlpdc8OfUwj01Xp7BdH8LMR7Vx1C4hZCvSdtURVl0VaAMxHDX0MjRkwmqS","iv":"h+BoIf2CQ5BEjaIOShFE7g==","salt":"jfGI3TXguhb8GPnKSXFrMzRk2NCEc131Gt5G3kZr5+s="}
|
Loading…
Reference in new issue