A traditional password audit typically involves extracting password hashes from systems and then sending those hashes to a third-party security auditor or an in-house security team. These security specialists have the knowledge and tools to effectively audit password hashes. They use password cracking software such as John the Ripper and Hashcat in an effort to uncover weak passwords.
However, there are many risks associated with traditional password audits. The password hashes may be lost or stolen from the security team. A rogue security team member may secretly make copies of the password hashes. How would anyone know? Basically, once the password hashes are given to the security team, the system manager must simply trust that the password hashes are handled and disposed of securely and that access to the hashes is not abused.
Blackhash works by building a bloom filter from the system password hashes. The system manager extracts the password hashes and then uses Blackhash to build the filter. The filter is saved to a file, then compressed and given to the security team. The filter is just a bitset that contains ones and zeros. It does not contain the password hashes or any other information about the users or the accounts from the system. It’s just a string of ones and zeros. You may
view a Blackhash filter with a simple text editor. It will look similar to this:
00000100000001000100001
When the security team receives the filter, they use Blackhash to test it for known weak password hashes. If weak passwords are found, the security team creates a weak filter and sends that back to the system manager. Finally, the system manager tests the weak filter to identify individual users so that they can be contacted and asked to change passwords.
This enables you to audit passwords without actually giving out the hashes.
Pros
- Password hashes never leave the system team.
- Works with any simple, un-salted hash. LM, NT, MD5, SHA1, etc.
- Security auditors do not have to transmit, handle or safe-guard the password hashes.
- Anonymizes the users. The filter contains no data about the users at all.
Cons
- Slower than traditional password cracking methods.
- More complex than traditional password cracking methods.
- Bloom Filters may produce a few false positives (very few in this case).