- Breaking changes:
- Drop Ruby 2.7 support, EOL since 31/03/2023, no longer compatible with newest version of bundler
- Additions:
- Enhancements:
- OpenSSH private key
- Better naming (add algorithm)
- Better regexp (add john format support)
- Add type
$2$
- IPB 2.x (Invision Power Board)
- fix HC ref. #182 (thanks to @junewerner)
- WPA-PMKID-PBKDF2
- Different separators
- OpenSSH private key
- Additions:
- 4 new binaries
hashcat-haiti
: wrapper for Hashcat where you can select the mode using haiti and fzfjohn-haiti
: wrapper for John the Ripper where you can select the format using haiti and fzfhaiti-fzf
: select a Hashcat or John the Ripper reference with fzf from one of the matching hash types- mostly useful for
hashcat-haiti
andjohn-haiti
or building another binary or alias that will make use of haiti with fzf input
- mostly useful for
haiti-parsable
: display hash types matching that have a Hashcat reference in an easily parsable format- mostly useful for
haiti-fzf
or building another binary or alias
- mostly useful for
- 4 new binaries
- Documentation:
- migrating from ronn to asciidoc for man page generation
- add documentation for how to package haiti for distribution maintainers
- add more demo casts
- Breaking changes:
- Drop Ruby 2.5 support, EOL since 05/04/2021 and not supported by Rubocop since 1.29.0
- Drop Ruby 2.6 support, EOL since 12/04/2021 and not supported by Rubocop since 1.51.0
- Warning: Drop Ruby 2.7 support soon, EOL since 31/03/2023 but still supported by Rubocop
- Additions:
- New
list
command #159 - SSHA-256 (Base64) #147
- LDAP (SSHA-256) #147
- IPMI 2.0 RAKP HMAC-MD5 #144
- RedHat 389-DS LDAP (PBKDF2-HMAC-SHA256) #160
- PBKDF2-HMAC-MD5 #160
- PBKDF2-HMAC-SHA1 #160
- PBKDF2-HMAC-SHA512 #160
- Ethereum Wallet (SCRYPT)
- WPA-PMKID-PBKDF2 #160
- PBKDF2-HMAC-MD4 #160
- SAP CODVN B (BCODE) from RFC_READ_TABLE
- SAP CODVN F/G (PASSCODE) from RFC_READ_TABLE
- SAP CODVN H (PWDSALTEDHASH) iSSHA-256
- SAP CODVN H (PWDSALTEDHASH) iSSHA-384
- SAP CODVN H (PWDSALTEDHASH) iSSHA-512
- Web2py (PBKDF2-HMAC-SHA512) #160
- VMware VMX (PBKDF2-HMAC-SHA1 + AES-256-CBC) #160
- ENCsecurity Datavault (PBKDF2/no keychain) #160
- ENCsecurity Datavault (PBKDF2/keychain) #160
- ENCsecurity Datavault (MD5/no keychain) #160
- ENCsecurity Datavault (MD5/keychain) #160
- Python Werkzeug MD5 (HMAC-MD5 (key = $salt)) #160
- Python Werkzeug SHA1 (HMAC-SHA1 (key = $salt)) #160
- Python Werkzeug SHA224 (HMAC-SHA224 (key = $salt)) #160
- Python Werkzeug SHA256 (HMAC-SHA256 (key = $salt)) #160
- Python Werkzeug SHA384 (HMAC-SHA384 (key = $salt)) #160
- Python Werkzeug SHA512 (HMAC-SHA512 (key = $salt)) #160
- Python Werkzeug scrypt (scrypt (key = $salt)) #160
- Python Werkzeug PBKDF2-HMAC-MD5 (key = $salt) #160
- Python Werkzeug PBKDF2-HMAC-SHA1 (key = $salt) #160
- Python Werkzeug PBKDF2-HMAC-SHA224 (key = $salt) #160
- Python Werkzeug PBKDF2-HMAC-SHA256 (key = $salt) #160
- Python Werkzeug PBKDF2-HMAC-SHA384 (key = $salt) #160
- Python Werkzeug PBKDF2-HMAC-SHA512 (key = $salt) #160
- JWT #164
- VeraCrypt RIPEMD160 + XTS 512/1024/1536 bit (legacy) #154
- VeraCrypt SHA512 + XTS 512/1024/1536 bit (legacy) #154
- VeraCrypt Whirlpool + XTS 512/1024/1536 bit (legacy) #154
- VeraCrypt RIPEMD160 + XTS 512/1024/1536 bit + boot-mode (legacy) #154
- VeraCrypt SHA256 + XTS 512/1024/1536 bit (legacy) #154
- VeraCrypt SHA256 + XTS 512/1024/1536 bit + boot-mode (legacy) #154
- VeraCrypt Streebog-512 + XTS 512/1024/1536 bit (legacy) #154
- VeraCrypt Streebog-512 + XTS 512/1024/1536 bit + boot-mode (legacy) #154
- VeraCrypt RIPEMD160 + XTS 512/1024/1536 bit #154
- VeraCrypt SHA512 + XTS 512/1024/1536 bit #154
- VeraCrypt Whirlpool + XTS 512/1024/1536 bit #154
- VeraCrypt RIPEMD160 + XTS 512/1024/1536 bit + boot-mode #154
- VeraCrypt SHA256 + XTS 512/1024/1536 bit + boot-mode #154
- VeraCrypt Streebog-512 + XTS 512/1024/1536 bit #154
- VeraCrypt Streebog-512 + XTS 512/1024/1536 bit + boot-mode #154
- TrueCrypt RIPEMD160 + XTS 512/1024/1536 bit (legacy) #154
- TrueCrypt SHA512 + XTS 512/1024/1536 bit (legacy) #154
- TrueCrypt Whirlpool + XTS 512/1024/1536 bit (legacy) #154
- TrueCrypt RIPEMD160 + XTS 512/1024/1536 bit #154
- TrueCrypt SHA512 + XTS 512/1024/1536 bit #154
- TrueCrypt Whirlpool + XTS 512/1024/1536 bit #154
- TrueCrypt RIPEMD160 + XTS 512/1024/1536 bit + boot-mode #154
- TrueCrypt RIPEMD160 + XTS 256 bit #154
- TrueCrypt RIPEMD160 + XTS 256 bit + boot-mode #154
- TrueCrypt SHA512 + XTS 256 bit #154
- TrueCrypt Whirlpool + XTS 256 bit #154
- New
- Enhancements:
- SSHA: #145
- update JtR label
- fix regexp
- add OPENLDAPS flavor
- add samples
- AIX: #146
- AIX (smd5): add samples
- AIX (ssha256): add samples
- AIX (ssha512): add samples
- AIX (ssha1): add samples
- SSHA-512: #147
- fix regexp
- add samples
- IPMI2 RAKP HMAC-SHA1 #144
- fix regexp
- add samples
- add JtR format
- Django (PBKDF2-HMAC-SHA256) #160
- add samples
- PBKDF2-HMAC-SHA256 #160
- fix regexp
- split regexp in 2 (1 for HC & 1 for JtR)
- add samples
- Atlassian (PBKDF2-HMAC-SHA1) #160
- enhance regexp
- add JtR & HC refs.
- enhance name
- add samples
- PBKDF2-HMAC-SHA1 (Cryptacular) #160
- enhance name
- add samples
- macOS v10.8+ (PBKDF2-HMAC-SHA512) #160
- enhance regexp
- enhance name
- add samples
- remove duplicate mode
- GRUB 2 (PBKDF2-HMAC-SHA512) #160
- enhance regexp
- enhance name
- add samples
- add JtR ref.
- Ethereum Wallet (PBKDF2-HMAC-SHA256) #160
- fix regexp
- enhance name
- add samples
- fix JtR ref.
- Ethereum Presale Wallet (PBKDF2-HMAC-SHA256) #160
- fix regexp
- enhance name
- add samples
- fix JtR ref.
- Python passlib (PBKDF2-HMAC-SHA512) #160
- fix name
- add HC ref.
- add samples
- Python passlib (PBKDF2-HMAC-SHA256) #160
- fix name
- remove JtR ref.
- enhance regexp
- Python passlib (PBKDF2-HMAC-SHA1) #160
- enhance regexp
- remove JtR ref.
- add samples
- PBKDF2-HMAC-SHA1 #160
- fix regexp
- add a special case sample
- Telegram Desktop #160
- merge Telegram Desktop 1.3.9 into Telegram Desktop < v2.1.14 (PBKDF2-HMAC-SHA1)
- update samples
- add HC refs.
- SAP CODVN F/G (PASSCODE)
- fix regexp
- add samples
- SAP CODVN B (BCODE)
- fix regexp
- add samples
- SAP CODVN H (PWDSALTEDHASH) iSSHA-1
- add samples
- enhance regexp
- Telegram Mobile App Passcode (SHA256)
- add samples
- Updated hash names in
commons.json
to reflectprototypes.json
changes
- SSHA: #145
- Documentation:
- added a man page
- Chore:
- Change indentation from 4 spaces to tabs in
data/*.json
to save dozens of KB
- Change indentation from 4 spaces to tabs in
- Additions:
- blake2s
- sm3
- Shake-128
- Shake-256
- Shake-512
- BLAKE3
- HighwayHash
- Streebog-256
- Streebog-512
- Add an ascii-art option
- Enhancements:
- Colors:
- help message is colored
- change reference colors to match the same theme
- NTLM: #139
- Add recognition for common dump format
- Add samples
- argon2id:
- Add samples
- SHA-1, SHA-224, SHA-256, SHA-384:
- Add samples
- BLAKE2-512, BLAKE2-224, BLAKE2-256, BLAKE2-384:
- Add samples
- Enhance name
- Keccak-224, Keccak-384:
- Add samples
- Keccak-256, Keccak-512:
- Add samples
- Alternative format
- SHA3-224, SHA3-256, SHA3-384, SHA3-512:
- Add samples
- Whirlpool
- Add samples
- Snefru-128, Snefru-256:
- Add samples
- MD2, MD4:
- Add samples
- Tiger-128, Tiger-160, Tiger-192:
- Add samples
- Alternative format
- 3-4 rounds variant
- All Skein:
- Add samples
- Gost, Gost Crypto:
- Add samples
- Adler, CRC-32, FNV:
- Add samples
- Joaat:
- Add samples
- All Haval:
- Add samples
- Colors:
- Changes:
- All regexp will now use
\A
and\Z
instead of^
and$
to prevent multi-line false positives - Make the
samples
command case insensitive
- All regexp will now use
- Chore:
- Add support for Ruby 3.2
- Add project reference in help message
- Additions:
- Enhancements:
- scrypt:
- Add samples
- Cisco Type 9 (scrypt)
- Add samples
- Enhance name
- Fix JtR ref.
- Cisco Type 8 (PBKDF2-SHA256)
- Add samples
- Enhance name
- Fix JtR ref.
- Cisco Type 4 (Raw SHA256)
- Add samples
- Enhance name
- Fix JtR ref.
- Cisco Type 7 (XOR)
- Add samples
- Enhance name
- Cisco Type 5 (MD5)
- Add samples
- Enhance name
- Fix regexp
- Cisco-ASA (MD5)
- Add samples
- Cisco-PIX (MD5)
- Add samples
- BSDi Crypt
- Add samples
- Sun / Solaris MD5 Crypt
- Add samples
- Enhance name
- SHA-256 Crypt
- Add samples
- SHA-512 Crypt
- Add samples
- NTHash (FreeBSD Variant)
- Add samples
- RACF
- Add samples
- DNSSEC (NSEC3)
- Add samples
- Lastpass #133
- Add samples
- Fix regexp
- Add several variants
- Add JtR support
- Woltlab Burning Board 3.x
- Add samples
- Radmin 2
- Add samples
- SipHash
- Add samples
- scrypt:
- Documentation:
- Comparison to HashData
- Chore:
- Stop testing on Ruby 2.5 because Github Action (CI) has some issue with it.
- Additions:
- AzureAD #93
- HTTP Digest access authentication #94
- IPB 2.x (Invision Power Board) #95
- Amazon AWS4-HMAC-SHA256 #126
- Bitcoin WIF private key (P2PKH), compressed #126
- Bitcoin WIF private key (P2PKH), uncompressed #126
- Bitcoin WIF private key (P2WPKH, Bech32), compressed #126
- Bitcoin WIF private key (P2WPKH, Bech32), uncompressed #126
- Bitcoin WIF private key (P2SH(P2WPKH)), compressed #126
- Bitcoin WIF private key (P2SH(P2WPKH)), uncompressed #126
- BLAKE2-512($pass.$salt) #126
- BLAKE2-512($salt.$pass) #126
- DPAPI masterkey file v1 (context 1 and 2) #126
- DPAPI masterkey file v1 (context 3) #126
- DPAPI masterkey file v2 (context 1 and 2) #126
- DPAPI masterkey file v2 (context 3) #126
- Exodus Desktop Wallet #126
- Flask Session Cookie #126
- KeePass 1 AES / without keyfile #126
- KeePass 1 Twofish / with keyfile #126
- KeePass 1 Twofish / without keyfile #126
- KeePass 2 AES / without keyfile #126
- Keepass 2 AES / with keyfile #126
- KeePass 2 ChaCha20 (KDBX 3) / without keyfile #126
- Kerberos 5 DB etype 17 #126
- Kerberos 5 DB etype 18 #126
- Kerberos 5 DB etype 3
- Kerberos 5 TGT
- Kerberos 4 TGT
- PostgreSQL #126
- PostgreSQL SCRAM-SHA-256 #126
- Radmin3 #126
- Teamspeak 3 (channel hash) #126
- Terra Station Wallet #126
- bcrypt(sha512($pass)) / bcryptsha512 #126
- md5(sha1($pass).$salt) #126
- sha1($salt.sha1(utf16le($username).':'.utf16le($pass))) #126
- sha256($salt.sha256_raw($pass)) #126
- Enhancements:
- 7-zip: #118
- Add samples
- Match variants with optional fields
- WinZip: #118
- Add samples
- Enhance regexp, 7th token can be at max
0x200000 * 4 * 2
- SecureZip: #118
- Add samples
- PKZIP: #118
- Add samples
- Add HC codes
- Add several sub-variants
- PostgreSQL CRAM (MD5): #126
- Add samples
- Enhance regexp
- many Kerberos 5 types:
- Add samples
- sha1 / RIPEMD-160
- Enhance regexp
- sha256(sha256_raw($pass)) / sha256($salt.sha256($pass)) / sha256(sha256($pass).$salt)
- add HC
- add sample
- Hide some uncommon hash types (not removed but set as extended)
- 7-zip: #118
- CLI:
- Now can read hash from STDIN
- New command to display hash samples
- Lib:
- New class method to find hash samples
- Chore:
- Fix github action ruby workflow
- Install:
- Can now be installed on Debian with a
.deb
- Can now be installed on Void Linux
- Can now be installed on Debian with a
- Documentation:
- Comparison to houndsniff
- Add some legal terms
- Chore:
- Add support for Ruby 3.1
- Remove nodejs package lock
- Update ruby version in Dockerfile
- Documentation:
- Add
pass
unlock step to build docker (DockerHub) for the publishing page
- Add
- Additions:
- CRC-32C #101
- CRC64Jones #101
- MultiBit Wallet #101
- MultiBit Classic >= 0.5.19 .wallet
- MultiBit Classic =< 0.5.18 .wallet
- MultiBit HD wallet >= 0.5.0
- MurmurHash3 #101
- Windows Hello PIN/Password #101
- VirtualBox #89
- VirtualBox (PBKDF2-HMAC-SHA256 & AES-128-XTS)
- VirtualBox (PBKDF2-HMAC-SHA256 & AES-256-XTS)
- SNMPv3 #88
- SNMPv3 HMAC-MD5-96/HMAC-SHA1-96
- SNMPv3 HMAC-MD5-96
- SNMPv3 HMAC-SHA1-96
- SNMPv3 HMAC-SHA224-128
- SNMPv3 HMAC-SHA256-192
- SNMPv3 HMAC-SHA384-256
- SNMPv3 HMAC-SHA512-384
- Ruby on Rails Restful Auth (one round, no sitekey) #91
- NetNTLM (NT) #92
- NetNTLMv1 / NetNTLMv1+ESS (NT)
- NetNTLMv2 (NT)
- Enhancements:
- NetNTLM (vanilla)
- Better regexp
- Better description
- Add samples
- NetNTLM (vanilla)
- Chore:
- MFA required for gem release
- Better publishing documentation
- Add a rake task to count the number of hash types supported
- Dependencies:
- Update to yard v0.9.27
- Move from Redcarpet to CommonMarker markdown provider
- Update to yard v0.9.27
- Additions:
- MD6 (128, 256, 512) #84
- Apple iWork #65
- SQLCipher #66
- Stuffit5 #67
- Stargazer Stellar Wallet XLM #71
- bcrypt(md5($pass)) #72
- bcrypt(sha1($pass)) #72
- MurmurHash #73
- KNX IP Secure - Device Authentication Code #74
- Mozilla key4.db #75
- Mozilla key3.db #75
- OpenEdge Progress 4GL Encode #76
- AES-128-ECB NOKDF (PT = $salt, key = $pass) #77
- AES-192-ECB NOKDF (PT = $salt, key = $pass) #77
- AES-256-ECB NOKDF (PT = $salt, key = $pass) #77
- Bitwarden #79
- XMPP SCRAM PBKDF2-SHA1 #80
- Apple macOS Keychain #81
- PKCS#8 Private Keys (PBKDF2-HMAC-SHA1 + 3DES/AES) #78
- PKCS#8 Private Keys (PBKDF2-HMAC-SHA256 + 3DES/AES) #78
- Enhancements:
- MD5 APR: #83
- add JtR ref.
- add
$1$
and{smd5}
prefixes support - add
crypt(3)
name - add samples
- MD5 APR: #83
- Additions:
- iPhone passcode #56
- MetaMask Wallet #56
- FortiGate256 #59
- Umbraco HMAC-SHA1 #60
- Jetico BestCrypt v3 Volume Encryption #61
- Jetico BestCrypt Container Encryption (.jbc) #61
- MongoDB (system / network) #62
- MongoDB SCRAM PBKDF2-SHA1 #62
- MongoDB ServerKey SCRAM-SHA-1 #62
- MongoDB ServerKey SCRAM-SHA-256 #62
sha1($salt.sha1($pass.$salt))
#63- PDF 1.4 - 1.6 (Acrobat 5 - 8) - edit password #70
- Enhancements:
- Fixes:
- DCC & DCC2: correct JtR hash name #57
- Chore:
- Test: Display algo name when failing
- Breaking changes
- Drop ruby 2.4 support
- Additions:
- Enhancements:
- Code:
- add a
samples
attributes toChf
- add a
- Additions:
- argon2 #45
- Enhancements:
- Fixes:
- Chore:
- Add prototypes tests
- Documentation:
- update examples
- code: #27
- "office"
- add JtR support for Microsoft Office 2007 & 2010
- add JtR support for Microsoft Office 2019 (same as 2013)
- add HC support for Microsoft Office 2016 - SheetProtection
- "oldoffice"
- add JtR support for Microsoft Office ≤ 2003 (SHA1+RC4)
- Telegram
- add JtR support for Telegram Desktop 1.3.9
- add JtR support for Telegram Desktop ≥ 2.1.14 beta / 2.2.0
- add HC support for Telegram Mobile App Passcode (SHA256)
- Blake2
- add JtR support for Blake2 hash using
$BLAKE2$
format - remove HC support for Blake2 hash using the normal format
- add JtR support for Blake2 hash using
- PDF
- add PDF 1.1 - 1.3 (Acrobat 2 - 4)
- add PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #1
- add PDF 1.1 - 1.3 (Acrobat 2 - 4), collider #2
- fix PDF 1.4 - 1.6 (Acrobat 5 - 8)
- add PDF 1.7 Level 3 (Acrobat 9)
- add PDF 1.7 Level 8 (Acrobat 10 - 11)
- 7-zip
- SecureZIP
- SecureZIP AES-128
- SecureZIP AES-192
- SecureZIP AES-256
- PKZIP
- PKZIP Master Key
- PKZIP Master Key (6 byte optimization)
- PKZIP
- "office"
- code:
- common algorithms are sorted first
- add some BLAKE2 length variants
- add some Kerberos variants
- add some cryptocurrency wallets (bitcoin, ethereum, monero)
- add Android Backup
- add WinZip
- add iTunes backup
- code:
- dependencies:
- update
- more tolerant about the ruby version required
- ruby 3.0 support
- doc: update
- CI: add GitHub action
- bin: code simplification & lint
- test: code lint
- repo: from Orange-Cyberdefense/rabid to noraj/rabid
- dependencies: update
- rubocop: new rules for new cops
- deprecation: now requires ruby 2.7+ instead of 2.4+
- lib: Fix a file loading path of prototypes
- doc: Fix gem name
- bin: remove useless haiti_setup
- Initial version