From 16cc90eb4469e3f651aae1e52e96fcfce21dd97b Mon Sep 17 00:00:00 2001 From: delirious-lettuce Date: Thu, 11 Jan 2018 16:10:14 -0700 Subject: [PATCH 1/6] Fix typo: `Adress` -> `Address` --- hashid.py | 2 +- prototypes.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hashid.py b/hashid.py index f0deb5b..4e22270 100755 --- a/hashid.py +++ b/hashid.py @@ -210,7 +210,7 @@ Prototype( regex=re.compile(r'^[a-z0-9]{34}$', re.IGNORECASE), modes=[ - HashInfo(name='CryptoCurrency(Adress)', hashcat=None, john=None, extended=False)]), + HashInfo(name='CryptoCurrency(Address)', hashcat=None, john=None, extended=False)]), Prototype( regex=re.compile(r'^[a-f0-9]{40}(:.+)?$', re.IGNORECASE), modes=[ diff --git a/prototypes.json b/prototypes.json index 9aefedf..268f456 100644 --- a/prototypes.json +++ b/prototypes.json @@ -667,7 +667,7 @@ "john": null, "hashcat": null, "extended": false, - "name": "CryptoCurrency(Adress)" + "name": "CryptoCurrency(Address)" } ] }, From 0828cb659de877a63b00edd5653955885aa9a1db Mon Sep 17 00:00:00 2001 From: delirious-lettuce Date: Thu, 11 Jan 2018 16:18:06 -0700 Subject: [PATCH 2/6] Replace `{1,}` with `+` --- hashid.py | 6 +++--- prototypes.json | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/hashid.py b/hashid.py index 4e22270..3a22c6a 100755 --- a/hashid.py +++ b/hashid.py @@ -482,7 +482,7 @@ modes=[ HashInfo(name='NetNTLMv2', hashcat=5600, john='netntlmv2', extended=False)]), Prototype( - regex=re.compile(r'^\$(krb5pa|mskrb5)\$([0-9]{2})?\$.+\$[a-f0-9]{1,}$', re.IGNORECASE), + regex=re.compile(r'^\$(krb5pa|mskrb5)\$([0-9]{2})?\$.+\$[a-f0-9]+$', re.IGNORECASE), modes=[ HashInfo(name='Kerberos 5 AS-REQ Pre-Auth', hashcat=7500, john='krb5pa-md5', extended=False)]), Prototype( @@ -526,7 +526,7 @@ modes=[ HashInfo(name='Lastpass', hashcat=6800, john=None, extended=False)]), Prototype( - regex=re.compile(r'^[a-z0-9\/.]{16}([:$].{1,})?$', re.IGNORECASE), + regex=re.compile(r'^[a-z0-9\/.]{16}([:$].+)?$', re.IGNORECASE), modes=[ HashInfo(name='Cisco-ASA(MD5)', hashcat=2410, john='asa-md5', extended=False)]), Prototype( @@ -642,7 +642,7 @@ modes=[ HashInfo(name='Lotus Notes/Domino 8', hashcat=9100, john=None, extended=False)]), Prototype( - regex=re.compile(r'^SCRYPT:[0-9]{1,}:[0-9]{1}:[0-9]{1}:[a-z0-9:\/+=]{1,}$', re.IGNORECASE), + regex=re.compile(r'^SCRYPT:[0-9]+:[0-9]{1}:[0-9]{1}:[a-z0-9:\/+=]+$', re.IGNORECASE), modes=[ HashInfo(name='scrypt', hashcat=8900, john=None, extended=False)]), Prototype( diff --git a/prototypes.json b/prototypes.json index 268f456..fbf2bb5 100644 --- a/prototypes.json +++ b/prototypes.json @@ -1629,7 +1629,7 @@ ] }, { - "regex": "^\\$(krb5pa|mskrb5)\\$([0-9]{2})?\\$.+\\$[a-f0-9]{1,}$", + "regex": "^\\$(krb5pa|mskrb5)\\$([0-9]{2})?\\$.+\\$[a-f0-9]+$", "modes": [ { "john": "krb5pa-md5", @@ -1750,7 +1750,7 @@ ] }, { - "regex": "^[a-z0-9\\/.]{16}([:$].{1,})?$", + "regex": "^[a-z0-9\\/.]{16}([:$].+)?$", "modes": [ { "john": "asa-md5", @@ -2069,7 +2069,7 @@ ] }, { - "regex": "^SCRYPT:[0-9]{1,}:[0-9]{1}:[0-9]{1}:[a-z0-9:\\/+=]{1,}$", + "regex": "^SCRYPT:[0-9]+:[0-9]{1}:[0-9]{1}:[a-z0-9:\\/+=]+$", "modes": [ { "john": null, From 11a49ec07e740206f8d5a35a039d4940f1f48494 Mon Sep 17 00:00:00 2001 From: delirious-lettuce Date: Thu, 11 Jan 2018 16:20:13 -0700 Subject: [PATCH 3/6] Remove unnecessary single repetitions, `{1}` --- hashid.py | 4 ++-- prototypes.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hashid.py b/hashid.py index 3a22c6a..74c76c9 100755 --- a/hashid.py +++ b/hashid.py @@ -642,7 +642,7 @@ modes=[ HashInfo(name='Lotus Notes/Domino 8', hashcat=9100, john=None, extended=False)]), Prototype( - regex=re.compile(r'^SCRYPT:[0-9]+:[0-9]{1}:[0-9]{1}:[a-z0-9:\/+=]+$', re.IGNORECASE), + regex=re.compile(r'^SCRYPT:[0-9]+:[0-9]:[0-9]:[a-z0-9:\/+=]+$', re.IGNORECASE), modes=[ HashInfo(name='scrypt', hashcat=8900, john=None, extended=False)]), Prototype( @@ -718,7 +718,7 @@ modes=[ HashInfo(name='PostgreSQL Challenge-Response Authentication (MD5)', hashcat=11100, john='postgres', extended=False)]), Prototype( - regex=re.compile(r'^\$siemens-s7\$[0-9]{1}\$[a-f0-9]{40}\$[a-f0-9]{40}$', re.IGNORECASE), + regex=re.compile(r'^\$siemens-s7\$[0-9]\$[a-f0-9]{40}\$[a-f0-9]{40}$', re.IGNORECASE), modes=[ HashInfo(name='Siemens-S7', hashcat=None, john='siemens-s7', extended=False)]), Prototype( diff --git a/prototypes.json b/prototypes.json index fbf2bb5..7c68aac 100644 --- a/prototypes.json +++ b/prototypes.json @@ -2069,7 +2069,7 @@ ] }, { - "regex": "^SCRYPT:[0-9]+:[0-9]{1}:[0-9]{1}:[a-z0-9:\\/+=]+$", + "regex": "^SCRYPT:[0-9]+:[0-9]:[0-9]:[a-z0-9:\\/+=]+$", "modes": [ { "john": null, @@ -2291,7 +2291,7 @@ ] }, { - "regex": "^\\$siemens-s7\\$[0-9]{1}\\$[a-f0-9]{40}\\$[a-f0-9]{40}$", + "regex": "^\\$siemens-s7\\$[0-9]\\$[a-f0-9]{40}\\$[a-f0-9]{40}$", "modes": [ { "john": "siemens-s7", From a6c3588bc38d54ad455c5ac535e92f82c377cf27 Mon Sep 17 00:00:00 2001 From: delirious-lettuce Date: Thu, 11 Jan 2018 19:31:52 -0700 Subject: [PATCH 4/6] Remove redundant character escapes (`*`, `,`, `$`, `{`) --- hashid.py | 10 +++++----- prototypes.json | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/hashid.py b/hashid.py index 74c76c9..628dfbe 100755 --- a/hashid.py +++ b/hashid.py @@ -305,7 +305,7 @@ modes=[ HashInfo(name='Oracle 11g/12c', hashcat=112, john='oracle11', extended=False)]), Prototype( - regex=re.compile(r'^\$bcrypt-sha256\$(2[axy]|2)\,[0-9]+\$[a-z0-9\/.]{22}\$[a-z0-9\/.]{31}$', re.IGNORECASE), + regex=re.compile(r'^\$bcrypt-sha256\$(2[axy]|2),[0-9]+\$[a-z0-9\/.]{22}\$[a-z0-9\/.]{31}$', re.IGNORECASE), modes=[ HashInfo(name='bcrypt(SHA-256)', hashcat=None, john=None, extended=False)]), Prototype( @@ -347,7 +347,7 @@ modes=[ HashInfo(name='SAM(LM_Hash:NT_Hash)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^(\$chap\$0\*)?[a-f0-9]{32}[\*:][a-f0-9]{32}(:[0-9]{2})?$', re.IGNORECASE), + regex=re.compile(r'^(\$chap\$0\*)?[a-f0-9]{32}[*:][a-f0-9]{32}(:[0-9]{2})?$', re.IGNORECASE), modes=[ HashInfo(name='MD5(Chap)', hashcat=4800, john='chap', extended=False), HashInfo(name='iSCSI CHAP Authentication', hashcat=4800, john='chap', extended=False)]), @@ -554,7 +554,7 @@ modes=[ HashInfo(name='hMailServer', hashcat=1421, john='hmailserver', extended=False)]), Prototype( - regex=re.compile(r'^[:\$][AB][:\$]([a-f0-9]{1,8}[:\$])?[a-f0-9]{32}$', re.IGNORECASE), + regex=re.compile(r'^[:$][AB][:$]([a-f0-9]{1,8}[:$])?[a-f0-9]{32}$', re.IGNORECASE), modes=[ HashInfo(name='MediaWiki', hashcat=3711, john='mediawiki', extended=False)]), Prototype( @@ -630,7 +630,7 @@ modes=[ HashInfo(name='Django(MD5)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\{PKCS5S2\}[a-z0-9\/+]{64}$', re.IGNORECASE), + regex=re.compile(r'^{PKCS5S2\}[a-z0-9\/+]{64}$', re.IGNORECASE), modes=[ HashInfo(name='PBKDF2(Atlassian)', hashcat=None, john=None, extended=False)]), Prototype( @@ -714,7 +714,7 @@ modes=[ HashInfo(name='Django(bcrypt-SHA256)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$postgres\$.[^\*]+[*:][a-f0-9]{1,32}[*:][a-f0-9]{32}$', re.IGNORECASE), + regex=re.compile(r'^\$postgres\$.[^*]+[*:][a-f0-9]{1,32}[*:][a-f0-9]{32}$', re.IGNORECASE), modes=[ HashInfo(name='PostgreSQL Challenge-Response Authentication (MD5)', hashcat=11100, john='postgres', extended=False)]), Prototype( diff --git a/prototypes.json b/prototypes.json index 7c68aac..1f86710 100644 --- a/prototypes.json +++ b/prototypes.json @@ -1035,7 +1035,7 @@ ] }, { - "regex": "^\\$bcrypt-sha256\\$(2[axy]|2)\\,[0-9]+\\$[a-z0-9\\/.]{22}\\$[a-z0-9\\/.]{31}$", + "regex": "^\\$bcrypt-sha256\\$(2[axy]|2),[0-9]+\\$[a-z0-9\\/.]{22}\\$[a-z0-9\\/.]{31}$", "modes": [ { "john": null, @@ -1196,7 +1196,7 @@ ] }, { - "regex": "^(\\$chap\\$0\\*)?[a-f0-9]{32}[\\*:][a-f0-9]{32}(:[0-9]{2})?$", + "regex": "^(\\$chap\\$0\\*)?[a-f0-9]{32}[*:][a-f0-9]{32}(:[0-9]{2})?$", "modes": [ { "john": "chap", @@ -1827,7 +1827,7 @@ ] }, { - "regex": "^[:\\$][AB][:\\$]([a-f0-9]{1,8}[:\\$])?[a-f0-9]{32}$", + "regex": "^[:$][AB][:$]([a-f0-9]{1,8}[:$])?[a-f0-9]{32}$", "modes": [ { "john": "mediawiki", @@ -2036,7 +2036,7 @@ ] }, { - "regex": "^\\{PKCS5S2\\}[a-z0-9\\/+]{64}$", + "regex": "^{PKCS5S2\\}[a-z0-9\\/+]{64}$", "modes": [ { "john": null, @@ -2280,7 +2280,7 @@ ] }, { - "regex": "^\\$postgres\\$.[^\\*]+[*:][a-f0-9]{1,32}[*:][a-f0-9]{32}$", + "regex": "^\\$postgres\\$.[^*]+[*:][a-f0-9]{1,32}[*:][a-f0-9]{32}$", "modes": [ { "john": "postgres", From b975a38ad35b07bef81dbf803c033e2dbdd09382 Mon Sep 17 00:00:00 2001 From: delirious-lettuce Date: Thu, 11 Jan 2018 19:47:42 -0700 Subject: [PATCH 5/6] Remove redundant character escapes (`/`) --- hashid.py | 110 ++++++++++++++++++++++++------------------------ prototypes.json | 110 ++++++++++++++++++++++++------------------------ 2 files changed, 110 insertions(+), 110 deletions(-) diff --git a/hashid.py b/hashid.py index 628dfbe..69d315d 100755 --- a/hashid.py +++ b/hashid.py @@ -62,11 +62,11 @@ modes=[ HashInfo(name='CRC-32', hashcat=None, john='crc32', extended=False)]), Prototype( - regex=re.compile(r'^\+[a-z0-9\/.]{12}$', re.IGNORECASE), + regex=re.compile(r'^\+[a-z0-9/.]{12}$', re.IGNORECASE), modes=[ HashInfo(name='Eggdrop IRC Bot', hashcat=None, john='bfegg', extended=False)]), Prototype( - regex=re.compile(r'^[a-z0-9\/.]{13}$', re.IGNORECASE), + regex=re.compile(r'^[a-z0-9/.]{13}$', re.IGNORECASE), modes=[ HashInfo(name='DES(Unix)', hashcat=1500, john='descrypt', extended=False), HashInfo(name='Traditional DES', hashcat=1500, john='descrypt', extended=False), @@ -81,15 +81,15 @@ HashInfo(name='FNV-164', hashcat=None, john=None, extended=False), HashInfo(name='CRC-64', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^[a-z0-9\/.]{16}$', re.IGNORECASE), + regex=re.compile(r'^[a-z0-9/.]{16}$', re.IGNORECASE), modes=[ HashInfo(name='Cisco-PIX(MD5)', hashcat=2400, john='pix-md5', extended=False)]), Prototype( - regex=re.compile(r'^\([a-z0-9\/+]{20}\)$', re.IGNORECASE), + regex=re.compile(r'^\([a-z0-9/+]{20}\)$', re.IGNORECASE), modes=[ HashInfo(name='Lotus Notes/Domino 6', hashcat=8700, john='dominosec', extended=False)]), Prototype( - regex=re.compile(r'^_[a-z0-9\/.]{19}$', re.IGNORECASE), + regex=re.compile(r'^_[a-z0-9/.]{19}$', re.IGNORECASE), modes=[ HashInfo(name='BSDi Crypt', hashcat=None, john='bsdicrypt', extended=False)]), Prototype( @@ -97,7 +97,7 @@ modes=[ HashInfo(name='CRC-96(ZIP)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^[a-z0-9\/.]{24}$', re.IGNORECASE), + regex=re.compile(r'^[a-z0-9/.]{24}$', re.IGNORECASE), modes=[ HashInfo(name='Crypt16', hashcat=None, john=None, extended=False)]), Prototype( @@ -146,20 +146,20 @@ modes=[ HashInfo(name='NTLM', hashcat=1000, john='nt', extended=False)]), Prototype( - regex=re.compile(r'^([^\\\/:*?"<>|]{1,20}:)?[a-f0-9]{32}(:[^\\\/:*?"<>|]{1,20})?$', re.IGNORECASE), + regex=re.compile(r'^([^\\/:*?"<>|]{1,20}:)?[a-f0-9]{32}(:[^\\/:*?"<>|]{1,20})?$', re.IGNORECASE), modes=[ HashInfo(name='Domain Cached Credentials', hashcat=1100, john='mscach', extended=False)]), Prototype( - regex=re.compile(r'^([^\\\/:*?"<>|]{1,20}:)?(\$DCC2\$10240#[^\\\/:*?"<>|]{1,20}#)?[a-f0-9]{32}$', re.IGNORECASE), + regex=re.compile(r'^([^\\/:*?"<>|]{1,20}:)?(\$DCC2\$10240#[^\\/:*?"<>|]{1,20}#)?[a-f0-9]{32}$', re.IGNORECASE), modes=[ HashInfo(name='Domain Cached Credentials 2', hashcat=2100, john='mscach2', extended=False)]), Prototype( - regex=re.compile(r'^{SHA}[a-z0-9\/+]{27}=$', re.IGNORECASE), + regex=re.compile(r'^{SHA}[a-z0-9/+]{27}=$', re.IGNORECASE), modes=[ HashInfo(name='SHA-1(Base64)', hashcat=101, john='nsldap', extended=False), HashInfo(name='Netscape LDAP SHA', hashcat=101, john='nsldap', extended=False)]), Prototype( - regex=re.compile(r'^\$1\$[a-z0-9\/.]{0,8}\$[a-z0-9\/.]{22}(:.*)?$', re.IGNORECASE), + regex=re.compile(r'^\$1\$[a-z0-9/.]{0,8}\$[a-z0-9/.]{22}(:.*)?$', re.IGNORECASE), modes=[ HashInfo(name='MD5 Crypt', hashcat=500, john='md5crypt', extended=False), HashInfo(name='Cisco-IOS(MD5)', hashcat=500, john='md5crypt', extended=False), @@ -169,13 +169,13 @@ modes=[ HashInfo(name='Lineage II C4', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$H\$[a-z0-9\/.]{31}$', re.IGNORECASE), + regex=re.compile(r'^\$H\$[a-z0-9/.]{31}$', re.IGNORECASE), modes=[ HashInfo(name='phpBB v3.x', hashcat=400, john='phpass', extended=False), HashInfo(name='Wordpress v2.6.0/2.6.1', hashcat=400, john='phpass', extended=False), HashInfo(name="PHPass' Portable Hash", hashcat=400, john='phpass', extended=False)]), Prototype( - regex=re.compile(r'^\$P\$[a-z0-9\/.]{31}$', re.IGNORECASE), + regex=re.compile(r'^\$P\$[a-z0-9/.]{31}$', re.IGNORECASE), modes=[ HashInfo(name=u'Wordpress ≥ v2.6.2', hashcat=400, john='phpass', extended=False), HashInfo(name=u'Joomla ≥ v2.5.18', hashcat=400, john='phpass', extended=False), @@ -186,13 +186,13 @@ HashInfo(name='osCommerce', hashcat=21, john=None, extended=False), HashInfo(name='xt:Commerce', hashcat=21, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$apr1\$[a-z0-9\/.]{0,8}\$[a-z0-9\/.]{22}$', re.IGNORECASE), + regex=re.compile(r'^\$apr1\$[a-z0-9/.]{0,8}\$[a-z0-9/.]{22}$', re.IGNORECASE), modes=[ HashInfo(name='MD5(APR)', hashcat=1600, john=None, extended=False), HashInfo(name='Apache MD5', hashcat=1600, john=None, extended=False), HashInfo(name='md5apr1', hashcat=1600, john=None, extended=True)]), Prototype( - regex=re.compile(r'^{smd5}[a-z0-9$\/.]{31}$', re.IGNORECASE), + regex=re.compile(r'^{smd5}[a-z0-9$/.]{31}$', re.IGNORECASE), modes=[ HashInfo(name='AIX(smd5)', hashcat=6300, john='aix-smd5', extended=False)]), Prototype( @@ -243,7 +243,7 @@ modes=[ HashInfo(name='Cisco-IOS(SHA-256)', hashcat=5700, john=None, extended=False)]), Prototype( - regex=re.compile(r'^{SSHA}[a-z0-9\/+]{38}==$', re.IGNORECASE), + regex=re.compile(r'^{SSHA}[a-z0-9/+]{38}==$', re.IGNORECASE), modes=[ HashInfo(name='SSHA-1(Base64)', hashcat=111, john='nsldaps', extended=False), HashInfo(name='Netscape LDAP SSHA', hashcat=111, john='nsldaps', extended=False), @@ -270,7 +270,7 @@ modes=[ HashInfo(name='CryptoCurrency(PrivateKey)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^{ssha1}[0-9]{2}\$[a-z0-9$\/.]{44}$', re.IGNORECASE), + regex=re.compile(r'^{ssha1}[0-9]{2}\$[a-z0-9$/.]{44}$', re.IGNORECASE), modes=[ HashInfo(name='AIX(ssha1)', hashcat=6700, john='aix-ssha1', extended=False)]), Prototype( @@ -279,7 +279,7 @@ HashInfo(name='MSSQL(2005)', hashcat=132, john='mssql05', extended=False), HashInfo(name='MSSQL(2008)', hashcat=132, john='mssql05', extended=False)]), Prototype( - regex=re.compile(r'^(\$md5,rounds=[0-9]+\$|\$md5\$rounds=[0-9]+\$|\$md5\$)[a-z0-9\/.]{0,16}(\$|\$\$)[a-z0-9\/.]{22}$', re.IGNORECASE), + regex=re.compile(r'^(\$md5,rounds=[0-9]+\$|\$md5\$rounds=[0-9]+\$|\$md5\$)[a-z0-9/.]{0,16}(\$|\$\$)[a-z0-9/.]{22}$', re.IGNORECASE), modes=[ HashInfo(name='Sun MD5 Crypt', hashcat=3300, john='sunmd5', extended=False)]), Prototype( @@ -291,7 +291,7 @@ HashInfo(name='Skein-256(224)', hashcat=None, john=None, extended=False), HashInfo(name='Skein-512(224)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^(\$2[axy]|\$2)\$[0-9]{2}\$[a-z0-9\/.]{53}$', re.IGNORECASE), + regex=re.compile(r'^(\$2[axy]|\$2)\$[0-9]{2}\$[a-z0-9/.]{53}$', re.IGNORECASE), modes=[ HashInfo(name='Blowfish(OpenBSD)', hashcat=3200, john='bcrypt', extended=False), HashInfo(name='Woltlab Burning Board 4.x', hashcat=None, john=None, extended=False), @@ -305,7 +305,7 @@ modes=[ HashInfo(name='Oracle 11g/12c', hashcat=112, john='oracle11', extended=False)]), Prototype( - regex=re.compile(r'^\$bcrypt-sha256\$(2[axy]|2),[0-9]+\$[a-z0-9\/.]{22}\$[a-z0-9\/.]{31}$', re.IGNORECASE), + regex=re.compile(r'^\$bcrypt-sha256\$(2[axy]|2),[0-9]+\$[a-z0-9/.]{22}\$[a-z0-9/.]{31}$', re.IGNORECASE), modes=[ HashInfo(name='bcrypt(SHA-256)', hashcat=None, john=None, extended=False)]), Prototype( @@ -352,11 +352,11 @@ HashInfo(name='MD5(Chap)', hashcat=4800, john='chap', extended=False), HashInfo(name='iSCSI CHAP Authentication', hashcat=4800, john='chap', extended=False)]), Prototype( - regex=re.compile(r'^\$episerver\$\*0\*[a-z0-9\/=+]+\*[a-z0-9\/=+]{27,28}$', re.IGNORECASE), + regex=re.compile(r'^\$episerver\$\*0\*[a-z0-9/=+]+\*[a-z0-9/=+]{27,28}$', re.IGNORECASE), modes=[ HashInfo(name='EPiServer 6.x < v4', hashcat=141, john='episerver', extended=False)]), Prototype( - regex=re.compile(r'^{ssha256}[0-9]{2}\$[a-z0-9$\/.]{60}$', re.IGNORECASE), + regex=re.compile(r'^{ssha256}[0-9]{2}\$[a-z0-9$/.]{60}$', re.IGNORECASE), modes=[ HashInfo(name='AIX(ssha256)', hashcat=6400, john='aix-ssha256', extended=False)]), Prototype( @@ -364,7 +364,7 @@ modes=[ HashInfo(name='RIPEMD-320', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$episerver\$\*1\*[a-z0-9\/=+]+\*[a-z0-9\/=+]{42,43}$', re.IGNORECASE), + regex=re.compile(r'^\$episerver\$\*1\*[a-z0-9/=+]+\*[a-z0-9/=+]{42,43}$', re.IGNORECASE), modes=[ HashInfo(name=u'EPiServer 6.x ≥ v4', hashcat=1441, john='episerver', extended=False)]), Prototype( @@ -379,12 +379,12 @@ HashInfo(name='Skein-512(384)', hashcat=None, john=None, extended=False), HashInfo(name='Skein-1024(384)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^{SSHA512}[a-z0-9\/+]{96}$', re.IGNORECASE), + regex=re.compile(r'^{SSHA512}[a-z0-9/+]{96}$', re.IGNORECASE), modes=[ HashInfo(name='SSHA-512(Base64)', hashcat=1711, john='ssha512', extended=False), HashInfo(name='LDAP(SSHA-512)', hashcat=1711, john='ssha512', extended=False)]), Prototype( - regex=re.compile(r'^{ssha512}[0-9]{2}\$[a-z0-9\/.]{16,48}\$[a-z0-9\/.]{86}$', re.IGNORECASE), + regex=re.compile(r'^{ssha512}[0-9]{2}\$[a-z0-9/.]{16,48}\$[a-z0-9/.]{86}$', re.IGNORECASE), modes=[ HashInfo(name='AIX(ssha512)', hashcat=6500, john='aix-ssha512', extended=False)]), Prototype( @@ -434,11 +434,11 @@ modes=[ HashInfo(name='Citrix Netscaler', hashcat=8100, john='citrix_ns10', extended=False)]), Prototype( - regex=re.compile(r'^\$S\$[a-z0-9\/.]{52}$', re.IGNORECASE), + regex=re.compile(r'^\$S\$[a-z0-9/.]{52}$', re.IGNORECASE), modes=[ HashInfo(name='Drupal > v7.x', hashcat=7900, john='drupal7', extended=False)]), Prototype( - regex=re.compile(r'^\$5\$(rounds=[0-9]+\$)?[a-z0-9\/.]{0,16}\$[a-z0-9\/.]{43}$', re.IGNORECASE), + regex=re.compile(r'^\$5\$(rounds=[0-9]+\$)?[a-z0-9/.]{0,16}\$[a-z0-9/.]{43}$', re.IGNORECASE), modes=[ HashInfo(name='SHA-256 Crypt', hashcat=7400, john='sha256crypt', extended=False)]), Prototype( @@ -446,7 +446,7 @@ modes=[ HashInfo(name='Sybase ASE', hashcat=8000, john='sybasease', extended=False)]), Prototype( - regex=re.compile(r'^\$6\$(rounds=[0-9]+\$)?[a-z0-9\/.]{0,16}\$[a-z0-9\/.]{86}$', re.IGNORECASE), + regex=re.compile(r'^\$6\$(rounds=[0-9]+\$)?[a-z0-9/.]{0,16}\$[a-z0-9/.]{86}$', re.IGNORECASE), modes=[ HashInfo(name='SHA-512 Crypt', hashcat=1800, john='sha512crypt', extended=False)]), Prototype( @@ -474,11 +474,11 @@ modes=[ HashInfo(name='Microsoft MSTSC(RDP-File)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^[^\\\/:*?"<>|]{1,20}[:]{2,3}([^\\\/:*?"<>|]{1,20})?:[a-f0-9]{48}:[a-f0-9]{48}:[a-f0-9]{16}$', re.IGNORECASE), + regex=re.compile(r'^[^\\/:*?"<>|]{1,20}[:]{2,3}([^\\/:*?"<>|]{1,20})?:[a-f0-9]{48}:[a-f0-9]{48}:[a-f0-9]{16}$', re.IGNORECASE), modes=[ HashInfo(name='NetNTLMv1-VANILLA / NetNTLMv1+ESS', hashcat=5500, john='netntlm', extended=False)]), Prototype( - regex=re.compile(r'^([^\\\/:*?"<>|]{1,20}\\)?[^\\\/:*?"<>|]{1,20}[:]{2,3}([^\\\/:*?"<>|]{1,20}:)?[^\\\/:*?"<>|]{1,20}:[a-f0-9]{32}:[a-f0-9]+$', re.IGNORECASE), + regex=re.compile(r'^([^\\/:*?"<>|]{1,20}\\)?[^\\/:*?"<>|]{1,20}[:]{2,3}([^\\/:*?"<>|]{1,20}:)?[^\\/:*?"<>|]{1,20}:[a-f0-9]{32}:[a-f0-9]+$', re.IGNORECASE), modes=[ HashInfo(name='NetNTLMv2', hashcat=5600, john='netntlmv2', extended=False)]), Prototype( @@ -486,7 +486,7 @@ modes=[ HashInfo(name='Kerberos 5 AS-REQ Pre-Auth', hashcat=7500, john='krb5pa-md5', extended=False)]), Prototype( - regex=re.compile(r'^\$scram\$[0-9]+\$[a-z0-9\/.]{16}\$sha-1=[a-z0-9\/.]{27},sha-256=[a-z0-9\/.]{43},sha-512=[a-z0-9\/.]{86}$', re.IGNORECASE), + regex=re.compile(r'^\$scram\$[0-9]+\$[a-z0-9/.]{16}\$sha-1=[a-z0-9/.]{27},sha-256=[a-z0-9/.]{43},sha-512=[a-z0-9/.]{86}$', re.IGNORECASE), modes=[ HashInfo(name='SCRAM Hash', hashcat=None, john=None, extended=False)]), Prototype( @@ -502,7 +502,7 @@ modes=[ HashInfo(name='SAP CODVN F/G (PASSCODE)', hashcat=7800, john='sapg', extended=False)]), Prototype( - regex=re.compile(r'^(.+\$)?[a-z0-9\/.+]{30}(:.+)?$', re.IGNORECASE), + regex=re.compile(r'^(.+\$)?[a-z0-9/.+]{30}(:.+)?$', re.IGNORECASE), modes=[ HashInfo(name='Juniper Netscreen/SSG(ScreenOS)', hashcat=22, john='md5ns', extended=False)]), Prototype( @@ -526,7 +526,7 @@ modes=[ HashInfo(name='Lastpass', hashcat=6800, john=None, extended=False)]), Prototype( - regex=re.compile(r'^[a-z0-9\/.]{16}([:$].+)?$', re.IGNORECASE), + regex=re.compile(r'^[a-z0-9/.]{16}([:$].+)?$', re.IGNORECASE), modes=[ HashInfo(name='Cisco-ASA(MD5)', hashcat=2410, john='asa-md5', extended=False)]), Prototype( @@ -546,7 +546,7 @@ modes=[ HashInfo(name='NTHash(FreeBSD Variant)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$sha1\$[0-9]+\$[a-z0-9\/.]{0,64}\$[a-z0-9\/.]{28}$', re.IGNORECASE), + regex=re.compile(r'^\$sha1\$[0-9]+\$[a-z0-9/.]{0,64}\$[a-z0-9/.]{28}$', re.IGNORECASE), modes=[ HashInfo(name='SHA-1 Crypt', hashcat=None, john='sha1crypt', extended=False)]), Prototype( @@ -562,27 +562,27 @@ modes=[ HashInfo(name='Minecraft(xAuth)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$pbkdf2(-sha1)?\$[0-9]+\$[a-z0-9\/.]+\$[a-z0-9\/.]{27}$', re.IGNORECASE), + regex=re.compile(r'^\$pbkdf2(-sha1)?\$[0-9]+\$[a-z0-9/.]+\$[a-z0-9/.]{27}$', re.IGNORECASE), modes=[ HashInfo(name='PBKDF2-SHA1(Generic)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$pbkdf2-sha256\$[0-9]+\$[a-z0-9\/.]+\$[a-z0-9\/.]{43}$', re.IGNORECASE), + regex=re.compile(r'^\$pbkdf2-sha256\$[0-9]+\$[a-z0-9/.]+\$[a-z0-9/.]{43}$', re.IGNORECASE), modes=[ HashInfo(name='PBKDF2-SHA256(Generic)', hashcat=None, john='pbkdf2-hmac-sha256', extended=False)]), Prototype( - regex=re.compile(r'^\$pbkdf2-sha512\$[0-9]+\$[a-z0-9\/.]+\$[a-z0-9\/.]{86}$', re.IGNORECASE), + regex=re.compile(r'^\$pbkdf2-sha512\$[0-9]+\$[a-z0-9/.]+\$[a-z0-9/.]{86}$', re.IGNORECASE), modes=[ HashInfo(name='PBKDF2-SHA512(Generic)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$p5k2\$[0-9]+\$[a-z0-9\/+=-]+\$[a-z0-9\/+-]{27}=$', re.IGNORECASE), + regex=re.compile(r'^\$p5k2\$[0-9]+\$[a-z0-9/+=-]+\$[a-z0-9/+-]{27}=$', re.IGNORECASE), modes=[ HashInfo(name='PBKDF2(Cryptacular)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$p5k2\$[0-9]+\$[a-z0-9\/.]+\$[a-z0-9\/.]{32}$', re.IGNORECASE), + regex=re.compile(r'^\$p5k2\$[0-9]+\$[a-z0-9/.]+\$[a-z0-9/.]{32}$', re.IGNORECASE), modes=[ HashInfo(name='PBKDF2(Dwayne Litzenberger)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^{FSHP[0123]\|[0-9]+\|[0-9]+}[a-z0-9\/+=]+$', re.IGNORECASE), + regex=re.compile(r'^{FSHP[0123]\|[0-9]+\|[0-9]+}[a-z0-9/+=]+$', re.IGNORECASE), modes=[ HashInfo(name='Fairly Secure Hashed Password', hashcat=None, john=None, extended=False)]), Prototype( @@ -606,23 +606,23 @@ modes=[ HashInfo(name='IKE-PSK SHA1', hashcat=5400, john=None, extended=False)]), Prototype( - regex=re.compile(r'^[a-z0-9\/+]{27}=$', re.IGNORECASE), + regex=re.compile(r'^[a-z0-9/+]{27}=$', re.IGNORECASE), modes=[ HashInfo(name='PeopleSoft', hashcat=133, john=None, extended=False)]), Prototype( - regex=re.compile(r'^crypt\$[a-f0-9]{5}\$[a-z0-9\/.]{13}$', re.IGNORECASE), + regex=re.compile(r'^crypt\$[a-f0-9]{5}\$[a-z0-9/.]{13}$', re.IGNORECASE), modes=[ HashInfo(name='Django(DES Crypt Wrapper)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^(\$django\$\*1\*)?pbkdf2_sha256\$[0-9]+\$[a-z0-9]+\$[a-z0-9\/+=]{44}$', re.IGNORECASE), + regex=re.compile(r'^(\$django\$\*1\*)?pbkdf2_sha256\$[0-9]+\$[a-z0-9]+\$[a-z0-9/+=]{44}$', re.IGNORECASE), modes=[ HashInfo(name='Django(PBKDF2-HMAC-SHA256)', hashcat=10000, john='django', extended=False)]), Prototype( - regex=re.compile(r'^pbkdf2_sha1\$[0-9]+\$[a-z0-9]+\$[a-z0-9\/+=]{28}$', re.IGNORECASE), + regex=re.compile(r'^pbkdf2_sha1\$[0-9]+\$[a-z0-9]+\$[a-z0-9/+=]{28}$', re.IGNORECASE), modes=[ HashInfo(name='Django(PBKDF2-HMAC-SHA1)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^bcrypt(\$2[axy]|\$2)\$[0-9]{2}\$[a-z0-9\/.]{53}$', re.IGNORECASE), + regex=re.compile(r'^bcrypt(\$2[axy]|\$2)\$[0-9]{2}\$[a-z0-9/.]{53}$', re.IGNORECASE), modes=[ HashInfo(name='Django(bcrypt)', hashcat=None, john=None, extended=False)]), Prototype( @@ -630,7 +630,7 @@ modes=[ HashInfo(name='Django(MD5)', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^{PKCS5S2\}[a-z0-9\/+]{64}$', re.IGNORECASE), + regex=re.compile(r'^{PKCS5S2\}[a-z0-9/+]{64}$', re.IGNORECASE), modes=[ HashInfo(name='PBKDF2(Atlassian)', hashcat=None, john=None, extended=False)]), Prototype( @@ -638,19 +638,19 @@ modes=[ HashInfo(name='PostgreSQL MD5', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\([a-z0-9\/+]{49}\)$', re.IGNORECASE), + regex=re.compile(r'^\([a-z0-9/+]{49}\)$', re.IGNORECASE), modes=[ HashInfo(name='Lotus Notes/Domino 8', hashcat=9100, john=None, extended=False)]), Prototype( - regex=re.compile(r'^SCRYPT:[0-9]+:[0-9]:[0-9]:[a-z0-9:\/+=]+$', re.IGNORECASE), + regex=re.compile(r'^SCRYPT:[0-9]+:[0-9]:[0-9]:[a-z0-9:/+=]+$', re.IGNORECASE), modes=[ HashInfo(name='scrypt', hashcat=8900, john=None, extended=False)]), Prototype( - regex=re.compile(r'^\$8\$[a-z0-9\/.]{14}\$[a-z0-9\/.]{43}$', re.IGNORECASE), + regex=re.compile(r'^\$8\$[a-z0-9/.]{14}\$[a-z0-9/.]{43}$', re.IGNORECASE), modes=[ HashInfo(name='Cisco Type 8', hashcat=9200, john='cisco8', extended=False)]), Prototype( - regex=re.compile(r'^\$9\$[a-z0-9\/.]{14}\$[a-z0-9\/.]{43}$', re.IGNORECASE), + regex=re.compile(r'^\$9\$[a-z0-9/.]{14}\$[a-z0-9/.]{43}$', re.IGNORECASE), modes=[ HashInfo(name='Cisco Type 9', hashcat=9300, john='cisco9', extended=False)]), Prototype( @@ -686,11 +686,11 @@ modes=[ HashInfo(name='RAdmin v2.x', hashcat=9900, john='radmin', extended=False)]), Prototype( - regex=re.compile(r'^{x-issha,\s[0-9]{4}}[a-z0-9\/+=]+$', re.IGNORECASE), + regex=re.compile(r'^{x-issha,\s[0-9]{4}}[a-z0-9/+=]+$', re.IGNORECASE), modes=[ HashInfo(name='SAP CODVN H (PWDSALTEDHASH) iSSHA-1', hashcat=10300, john='saph', extended=False)]), Prototype( - regex=re.compile(r'^\$cram_md5\$[a-z0-9\/+=-]+\$[a-z0-9\/+=-]{52}$', re.IGNORECASE), + regex=re.compile(r'^\$cram_md5\$[a-z0-9/+=-]+\$[a-z0-9/+=-]{52}$', re.IGNORECASE), modes=[ HashInfo(name='CRAM-MD5', hashcat=10200, john=None, extended=False)]), Prototype( @@ -702,15 +702,15 @@ modes=[ HashInfo(name='Cisco Type 7', hashcat=None, john=None, extended=True)]), Prototype( - regex=re.compile(r'^[a-z0-9\/.]{13,}$', re.IGNORECASE), + regex=re.compile(r'^[a-z0-9/.]{13,}$', re.IGNORECASE), modes=[ HashInfo(name='BigCrypt', hashcat=None, john='bigcrypt', extended=True)]), Prototype( - regex=re.compile(r'^(\$cisco4\$)?[a-z0-9\/.]{43}$', re.IGNORECASE), + regex=re.compile(r'^(\$cisco4\$)?[a-z0-9/.]{43}$', re.IGNORECASE), modes=[ HashInfo(name='Cisco Type 4', hashcat=None, john='cisco4', extended=False)]), Prototype( - regex=re.compile(r'^bcrypt_sha256\$\$(2[axy]|2)\$[0-9]+\$[a-z0-9\/.]{53}$', re.IGNORECASE), + regex=re.compile(r'^bcrypt_sha256\$\$(2[axy]|2)\$[0-9]+\$[a-z0-9/.]{53}$', re.IGNORECASE), modes=[ HashInfo(name='Django(bcrypt-SHA256)', hashcat=None, john=None, extended=False)]), Prototype( @@ -726,7 +726,7 @@ modes=[ HashInfo(name='Microsoft Outlook PST', hashcat=None, john=None, extended=False)]), Prototype( - regex=re.compile(r'^sha256[:$][0-9]+[:$][a-z0-9\/+]+[:$][a-z0-9\/+]{32,128}$', re.IGNORECASE), + regex=re.compile(r'^sha256[:$][0-9]+[:$][a-z0-9/+]+[:$][a-z0-9/+]{32,128}$', re.IGNORECASE), modes=[ HashInfo(name='PBKDF2-HMAC-SHA256(PHP)', hashcat=10900, john=None, extended=False)]), Prototype( diff --git a/prototypes.json b/prototypes.json index 1f86710..4e7a43e 100644 --- a/prototypes.json +++ b/prototypes.json @@ -110,7 +110,7 @@ ] }, { - "regex": "^\\+[a-z0-9\\/.]{12}$", + "regex": "^\\+[a-z0-9/.]{12}$", "modes": [ { "john": "bfegg", @@ -121,7 +121,7 @@ ] }, { - "regex": "^[a-z0-9\\/.]{13}$", + "regex": "^[a-z0-9/.]{13}$", "modes": [ { "john": "descrypt", @@ -185,7 +185,7 @@ ] }, { - "regex": "^[a-z0-9\\/.]{16}$", + "regex": "^[a-z0-9/.]{16}$", "modes": [ { "john": "pix-md5", @@ -196,7 +196,7 @@ ] }, { - "regex": "^\\([a-z0-9\\/+]{20}\\)$", + "regex": "^\\([a-z0-9/+]{20}\\)$", "modes": [ { "john": "dominosec", @@ -207,7 +207,7 @@ ] }, { - "regex": "^_[a-z0-9\\/.]{19}$", + "regex": "^_[a-z0-9/.]{19}$", "modes": [ { "john": "bsdicrypt", @@ -229,7 +229,7 @@ ] }, { - "regex": "^[a-z0-9\\/.]{24}$", + "regex": "^[a-z0-9/.]{24}$", "modes": [ { "john": null, @@ -458,7 +458,7 @@ ] }, { - "regex": "^([^\\\\\\/:*?\"<>|]{1,20}:)?[a-f0-9]{32}(:[^\\\\\\/:*?\"<>|]{1,20})?$", + "regex": "^([^\\\\/:*?\"<>|]{1,20}:)?[a-f0-9]{32}(:[^\\\\/:*?\"<>|]{1,20})?$", "modes": [ { "john": "mscach", @@ -469,7 +469,7 @@ ] }, { - "regex": "^([^\\\\\\/:*?\"<>|]{1,20}:)?(\\$DCC2\\$10240#[^\\\\\\/:*?\"<>|]{1,20}#)?[a-f0-9]{32}$", + "regex": "^([^\\\\/:*?\"<>|]{1,20}:)?(\\$DCC2\\$10240#[^\\\\/:*?\"<>|]{1,20}#)?[a-f0-9]{32}$", "modes": [ { "john": "mscach2", @@ -480,7 +480,7 @@ ] }, { - "regex": "^{SHA}[a-z0-9\\/+]{27}=$", + "regex": "^{SHA}[a-z0-9/+]{27}=$", "modes": [ { "john": "nsldap", @@ -497,7 +497,7 @@ ] }, { - "regex": "^\\$1\\$[a-z0-9\\/.]{0,8}\\$[a-z0-9\\/.]{22}(:.*)?$", + "regex": "^\\$1\\$[a-z0-9/.]{0,8}\\$[a-z0-9/.]{22}(:.*)?$", "modes": [ { "john": "md5crypt", @@ -531,7 +531,7 @@ ] }, { - "regex": "^\\$H\\$[a-z0-9\\/.]{31}$", + "regex": "^\\$H\\$[a-z0-9/.]{31}$", "modes": [ { "john": "phpass", @@ -554,7 +554,7 @@ ] }, { - "regex": "^\\$P\\$[a-z0-9\\/.]{31}$", + "regex": "^\\$P\\$[a-z0-9/.]{31}$", "modes": [ { "john": "phpass", @@ -594,7 +594,7 @@ ] }, { - "regex": "^\\$apr1\\$[a-z0-9\\/.]{0,8}\\$[a-z0-9\\/.]{22}$", + "regex": "^\\$apr1\\$[a-z0-9/.]{0,8}\\$[a-z0-9/.]{22}$", "modes": [ { "john": null, @@ -617,7 +617,7 @@ ] }, { - "regex": "^{smd5}[a-z0-9$\\/.]{31}$", + "regex": "^{smd5}[a-z0-9$/.]{31}$", "modes": [ { "john": "aix-smd5", @@ -819,7 +819,7 @@ ] }, { - "regex": "^{SSHA}[a-z0-9\\/+]{38}==$", + "regex": "^{SSHA}[a-z0-9/+]{38}==$", "modes": [ { "john": "nsldaps", @@ -916,7 +916,7 @@ ] }, { - "regex": "^{ssha1}[0-9]{2}\\$[a-z0-9$\\/.]{44}$", + "regex": "^{ssha1}[0-9]{2}\\$[a-z0-9$/.]{44}$", "modes": [ { "john": "aix-ssha1", @@ -944,7 +944,7 @@ ] }, { - "regex": "^(\\$md5,rounds=[0-9]+\\$|\\$md5\\$rounds=[0-9]+\\$|\\$md5\\$)[a-z0-9\\/.]{0,16}(\\$|\\$\\$)[a-z0-9\\/.]{22}$", + "regex": "^(\\$md5,rounds=[0-9]+\\$|\\$md5\\$rounds=[0-9]+\\$|\\$md5\\$)[a-z0-9/.]{0,16}(\\$|\\$\\$)[a-z0-9/.]{22}$", "modes": [ { "john": "sunmd5", @@ -990,7 +990,7 @@ ] }, { - "regex": "^(\\$2[axy]|\\$2)\\$[0-9]{2}\\$[a-z0-9\\/.]{53}$", + "regex": "^(\\$2[axy]|\\$2)\\$[0-9]{2}\\$[a-z0-9/.]{53}$", "modes": [ { "john": "bcrypt", @@ -1035,7 +1035,7 @@ ] }, { - "regex": "^\\$bcrypt-sha256\\$(2[axy]|2),[0-9]+\\$[a-z0-9\\/.]{22}\\$[a-z0-9\\/.]{31}$", + "regex": "^\\$bcrypt-sha256\\$(2[axy]|2),[0-9]+\\$[a-z0-9/.]{22}\\$[a-z0-9/.]{31}$", "modes": [ { "john": null, @@ -1213,7 +1213,7 @@ ] }, { - "regex": "^\\$episerver\\$\\*0\\*[a-z0-9\\/=+]+\\*[a-z0-9\\/=+]{27,28}$", + "regex": "^\\$episerver\\$\\*0\\*[a-z0-9/=+]+\\*[a-z0-9/=+]{27,28}$", "modes": [ { "john": "episerver", @@ -1224,7 +1224,7 @@ ] }, { - "regex": "^{ssha256}[0-9]{2}\\$[a-z0-9$\\/.]{60}$", + "regex": "^{ssha256}[0-9]{2}\\$[a-z0-9$/.]{60}$", "modes": [ { "john": "aix-ssha256", @@ -1246,7 +1246,7 @@ ] }, { - "regex": "^\\$episerver\\$\\*1\\*[a-z0-9\\/=+]+\\*[a-z0-9\\/=+]{42,43}$", + "regex": "^\\$episerver\\$\\*1\\*[a-z0-9/=+]+\\*[a-z0-9/=+]{42,43}$", "modes": [ { "john": "episerver", @@ -1297,7 +1297,7 @@ ] }, { - "regex": "^{SSHA512}[a-z0-9\\/+]{96}$", + "regex": "^{SSHA512}[a-z0-9/+]{96}$", "modes": [ { "john": "ssha512", @@ -1314,7 +1314,7 @@ ] }, { - "regex": "^{ssha512}[0-9]{2}\\$[a-z0-9\\/.]{16,48}\\$[a-z0-9\\/.]{86}$", + "regex": "^{ssha512}[0-9]{2}\\$[a-z0-9/.]{16,48}\\$[a-z0-9/.]{86}$", "modes": [ { "john": "aix-ssha512", @@ -1497,7 +1497,7 @@ ] }, { - "regex": "^\\$S\\$[a-z0-9\\/.]{52}$", + "regex": "^\\$S\\$[a-z0-9/.]{52}$", "modes": [ { "john": "drupal7", @@ -1508,7 +1508,7 @@ ] }, { - "regex": "^\\$5\\$(rounds=[0-9]+\\$)?[a-z0-9\\/.]{0,16}\\$[a-z0-9\\/.]{43}$", + "regex": "^\\$5\\$(rounds=[0-9]+\\$)?[a-z0-9/.]{0,16}\\$[a-z0-9/.]{43}$", "modes": [ { "john": "sha256crypt", @@ -1530,7 +1530,7 @@ ] }, { - "regex": "^\\$6\\$(rounds=[0-9]+\\$)?[a-z0-9\\/.]{0,16}\\$[a-z0-9\\/.]{86}$", + "regex": "^\\$6\\$(rounds=[0-9]+\\$)?[a-z0-9/.]{0,16}\\$[a-z0-9/.]{86}$", "modes": [ { "john": "sha512crypt", @@ -1607,7 +1607,7 @@ ] }, { - "regex": "^[^\\\\\\/:*?\"<>|]{1,20}[:]{2,3}([^\\\\\\/:*?\"<>|]{1,20})?:[a-f0-9]{48}:[a-f0-9]{48}:[a-f0-9]{16}$", + "regex": "^[^\\\\/:*?\"<>|]{1,20}[:]{2,3}([^\\\\/:*?\"<>|]{1,20})?:[a-f0-9]{48}:[a-f0-9]{48}:[a-f0-9]{16}$", "modes": [ { "john": "netntlm", @@ -1618,7 +1618,7 @@ ] }, { - "regex": "^([^\\\\\\/:*?\"<>|]{1,20}\\\\)?[^\\\\\\/:*?\"<>|]{1,20}[:]{2,3}([^\\\\\\/:*?\"<>|]{1,20}:)?[^\\\\\\/:*?\"<>|]{1,20}:[a-f0-9]{32}:[a-f0-9]+$", + "regex": "^([^\\\\/:*?\"<>|]{1,20}\\\\)?[^\\\\/:*?\"<>|]{1,20}[:]{2,3}([^\\\\/:*?\"<>|]{1,20}:)?[^\\\\/:*?\"<>|]{1,20}:[a-f0-9]{32}:[a-f0-9]+$", "modes": [ { "john": "netntlmv2", @@ -1640,7 +1640,7 @@ ] }, { - "regex": "^\\$scram\\$[0-9]+\\$[a-z0-9\\/.]{16}\\$sha-1=[a-z0-9\\/.]{27},sha-256=[a-z0-9\\/.]{43},sha-512=[a-z0-9\\/.]{86}$", + "regex": "^\\$scram\\$[0-9]+\\$[a-z0-9/.]{16}\\$sha-1=[a-z0-9/.]{27},sha-256=[a-z0-9/.]{43},sha-512=[a-z0-9/.]{86}$", "modes": [ { "john": null, @@ -1684,7 +1684,7 @@ ] }, { - "regex": "^(.+\\$)?[a-z0-9\\/.+]{30}(:.+)?$", + "regex": "^(.+\\$)?[a-z0-9/.+]{30}(:.+)?$", "modes": [ { "john": "md5ns", @@ -1750,7 +1750,7 @@ ] }, { - "regex": "^[a-z0-9\\/.]{16}([:$].+)?$", + "regex": "^[a-z0-9/.]{16}([:$].+)?$", "modes": [ { "john": "asa-md5", @@ -1805,7 +1805,7 @@ ] }, { - "regex": "^\\$sha1\\$[0-9]+\\$[a-z0-9\\/.]{0,64}\\$[a-z0-9\\/.]{28}$", + "regex": "^\\$sha1\\$[0-9]+\\$[a-z0-9/.]{0,64}\\$[a-z0-9/.]{28}$", "modes": [ { "john": "sha1crypt", @@ -1849,7 +1849,7 @@ ] }, { - "regex": "^\\$pbkdf2(-sha1)?\\$[0-9]+\\$[a-z0-9\\/.]+\\$[a-z0-9\\/.]{27}$", + "regex": "^\\$pbkdf2(-sha1)?\\$[0-9]+\\$[a-z0-9/.]+\\$[a-z0-9/.]{27}$", "modes": [ { "john": null, @@ -1860,7 +1860,7 @@ ] }, { - "regex": "^\\$pbkdf2-sha256\\$[0-9]+\\$[a-z0-9\\/.]+\\$[a-z0-9\\/.]{43}$", + "regex": "^\\$pbkdf2-sha256\\$[0-9]+\\$[a-z0-9/.]+\\$[a-z0-9/.]{43}$", "modes": [ { "john": "pbkdf2-hmac-sha256", @@ -1871,7 +1871,7 @@ ] }, { - "regex": "^\\$pbkdf2-sha512\\$[0-9]+\\$[a-z0-9\\/.]+\\$[a-z0-9\\/.]{86}$", + "regex": "^\\$pbkdf2-sha512\\$[0-9]+\\$[a-z0-9/.]+\\$[a-z0-9/.]{86}$", "modes": [ { "john": null, @@ -1882,7 +1882,7 @@ ] }, { - "regex": "^\\$p5k2\\$[0-9]+\\$[a-z0-9\\/+=-]+\\$[a-z0-9\\/+-]{27}=$", + "regex": "^\\$p5k2\\$[0-9]+\\$[a-z0-9/+=-]+\\$[a-z0-9/+-]{27}=$", "modes": [ { "john": null, @@ -1893,7 +1893,7 @@ ] }, { - "regex": "^\\$p5k2\\$[0-9]+\\$[a-z0-9\\/.]+\\$[a-z0-9\\/.]{32}$", + "regex": "^\\$p5k2\\$[0-9]+\\$[a-z0-9/.]+\\$[a-z0-9/.]{32}$", "modes": [ { "john": null, @@ -1904,7 +1904,7 @@ ] }, { - "regex": "^{FSHP[0123]\\|[0-9]+\\|[0-9]+}[a-z0-9\\/+=]+$", + "regex": "^{FSHP[0123]\\|[0-9]+\\|[0-9]+}[a-z0-9/+=]+$", "modes": [ { "john": null, @@ -1970,7 +1970,7 @@ ] }, { - "regex": "^[a-z0-9\\/+]{27}=$", + "regex": "^[a-z0-9/+]{27}=$", "modes": [ { "john": null, @@ -1981,7 +1981,7 @@ ] }, { - "regex": "^crypt\\$[a-f0-9]{5}\\$[a-z0-9\\/.]{13}$", + "regex": "^crypt\\$[a-f0-9]{5}\\$[a-z0-9/.]{13}$", "modes": [ { "john": null, @@ -1992,7 +1992,7 @@ ] }, { - "regex": "^(\\$django\\$\\*1\\*)?pbkdf2_sha256\\$[0-9]+\\$[a-z0-9]+\\$[a-z0-9\\/+=]{44}$", + "regex": "^(\\$django\\$\\*1\\*)?pbkdf2_sha256\\$[0-9]+\\$[a-z0-9]+\\$[a-z0-9/+=]{44}$", "modes": [ { "john": "django", @@ -2003,7 +2003,7 @@ ] }, { - "regex": "^pbkdf2_sha1\\$[0-9]+\\$[a-z0-9]+\\$[a-z0-9\\/+=]{28}$", + "regex": "^pbkdf2_sha1\\$[0-9]+\\$[a-z0-9]+\\$[a-z0-9/+=]{28}$", "modes": [ { "john": null, @@ -2014,7 +2014,7 @@ ] }, { - "regex": "^bcrypt(\\$2[axy]|\\$2)\\$[0-9]{2}\\$[a-z0-9\\/.]{53}$", + "regex": "^bcrypt(\\$2[axy]|\\$2)\\$[0-9]{2}\\$[a-z0-9/.]{53}$", "modes": [ { "john": null, @@ -2036,7 +2036,7 @@ ] }, { - "regex": "^{PKCS5S2\\}[a-z0-9\\/+]{64}$", + "regex": "^{PKCS5S2\\}[a-z0-9/+]{64}$", "modes": [ { "john": null, @@ -2058,7 +2058,7 @@ ] }, { - "regex": "^\\([a-z0-9\\/+]{49}\\)$", + "regex": "^\\([a-z0-9/+]{49}\\)$", "modes": [ { "john": null, @@ -2069,7 +2069,7 @@ ] }, { - "regex": "^SCRYPT:[0-9]+:[0-9]:[0-9]:[a-z0-9:\\/+=]+$", + "regex": "^SCRYPT:[0-9]+:[0-9]:[0-9]:[a-z0-9:/+=]+$", "modes": [ { "john": null, @@ -2080,7 +2080,7 @@ ] }, { - "regex": "^\\$8\\$[a-z0-9\\/.]{14}\\$[a-z0-9\\/.]{43}$", + "regex": "^\\$8\\$[a-z0-9/.]{14}\\$[a-z0-9/.]{43}$", "modes": [ { "john": "cisco8", @@ -2091,7 +2091,7 @@ ] }, { - "regex": "^\\$9\\$[a-z0-9\\/.]{14}\\$[a-z0-9\\/.]{43}$", + "regex": "^\\$9\\$[a-z0-9/.]{14}\\$[a-z0-9/.]{43}$", "modes": [ { "john": "cisco9", @@ -2203,7 +2203,7 @@ ] }, { - "regex": "^{x-issha,\\s[0-9]{4}}[a-z0-9\\/+=]+$", + "regex": "^{x-issha,\\s[0-9]{4}}[a-z0-9/+=]+$", "modes": [ { "john": "saph", @@ -2214,7 +2214,7 @@ ] }, { - "regex": "^\\$cram_md5\\$[a-z0-9\\/+=-]+\\$[a-z0-9\\/+=-]{52}$", + "regex": "^\\$cram_md5\\$[a-z0-9/+=-]+\\$[a-z0-9/+=-]{52}$", "modes": [ { "john": null, @@ -2247,7 +2247,7 @@ ] }, { - "regex": "^[a-z0-9\\/.]{13,}$", + "regex": "^[a-z0-9/.]{13,}$", "modes": [ { "john": "bigcrypt", @@ -2258,7 +2258,7 @@ ] }, { - "regex": "^(\\$cisco4\\$)?[a-z0-9\\/.]{43}$", + "regex": "^(\\$cisco4\\$)?[a-z0-9/.]{43}$", "modes": [ { "john": "cisco4", @@ -2269,7 +2269,7 @@ ] }, { - "regex": "^bcrypt_sha256\\$\\$(2[axy]|2)\\$[0-9]+\\$[a-z0-9\\/.]{53}$", + "regex": "^bcrypt_sha256\\$\\$(2[axy]|2)\\$[0-9]+\\$[a-z0-9/.]{53}$", "modes": [ { "john": null, @@ -2313,7 +2313,7 @@ ] }, { - "regex": "^sha256[:$][0-9]+[:$][a-z0-9\\/+]+[:$][a-z0-9\\/+]{32,128}$", + "regex": "^sha256[:$][0-9]+[:$][a-z0-9/+]+[:$][a-z0-9/+]{32,128}$", "modes": [ { "john": null, From c82cd783cf46f00e12a24088cbc1be6478dc0d73 Mon Sep 17 00:00:00 2001 From: delirious-lettuce Date: Thu, 11 Jan 2018 19:50:32 -0700 Subject: [PATCH 6/6] Remove redundant parentheses --- hashid.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hashid.py b/hashid.py index 69d315d..1a55604 100755 --- a/hashid.py +++ b/hashid.py @@ -780,7 +780,7 @@ def writeResult(identified_modes, outfile, hashcatMode=False, johnFormat=False, outfile.write(hashTypes) if count == 0: outfile.write(u"[+] Unknown hash\n") - return (count > 0) + return count > 0 def main():