Quick zero dependency fingerprinting with one command. sha_assist produces algorithmic hexadecimal hashes of public keys used in TLS/SSL connections' authentication. These hashes are useful in verifying the authenticity of recieved HTTPS certificates and are essential in thwarting MiTM attacks for example.
Out of the box, sha_assist exposes 5 key digests i.e. (SHA1, SHA256, SHA384, SHA512 and MD5) but can be easily extended using hashlib.algorithms_available
.
See Extensibility
Credit to dlenski for ssl.SSLSocket patching
git clone https://github.com/AndrewGlago/sha-assist.git && cd sha-assist
python3 ./sha_assist.py -d google.com -p 443
Usage: sha_assist.py [OPTIONS]
Options | Description |
---|---|
-d or --domain [required] | [Text] Domain URL to be fingerprinted (eg. https://www.github.com) |
-p, --port [optional] | [Integer] Port to establish connection on. Defaults to 443 |
NOTE: URL must be prefixed with https://
sha-assist produces algorithmic digests using hash-lib. By extension, all methods exposed by hashlib.algorithms_available
can be used to produce required digests.
Output is by default hex but can be adapted to binary by replacing ~.digestHex().