joda32/CertCrunchy

GitHub: joda32/CertCrunchy

Stars: 29 | Forks: 13

_____ _ _____ _ / __ \ | | / __ \ | | | / \/ ___ _ __| |_| / \/_ __ _ _ _ __ ___| |__ _ _ | | / _ \ '__| __| | | '__| | | | '_ \ / __| '_ \| | | | | \__/\ __/ | | |_| \__/\ | | |_| | | | | (__| | | | |_| | \____/\___|_| \__|\____/_| \__,_|_| |_|\___|_| |_|\__, | __/ | |___/ Just a silly recon tool that uses data from SSL Certificates to find potential hostnames ## What the? It just a silly python script that either retrieves SSL Certificate based data from online sources, currently https://crt.sh/, https://certdb.com/, https://sslmate.com/certspotter/ and https://censys.io or given a IP range it will attempt to extract host information from SSL Certificates. If you want to use Censys.io you need to register for a API key. ## Demo ![gif](https://i.imgur.com/fsZFflZ.gif) ## How to install git clone https://github.com/joda32/CertCrunchy.git cd CertCrunchy sudo pip3 install -r requirements.txt ## How to use it? Very simply -d to get hostnames for specific domain -D to get hostnames for a list of domains (just stuff it in a line delimited text file) -i to retrieve and parse certificates from hosts in a netblock / ip range (e.g. 192.168.0.0/24) -T the thread count, makes stuff faster, but don't over do it -O to set the timeout on HTTP api requests in seconds (default is 3 seconds) -o Output file name -f Output format csv or json, csv is the default for the rest, I'm still working on those :) ## API keys and configs All API keys are stored in the api_keys.py file, below is a list of supported APIs requiring API keys. 1. Censys.oi https://censys.io 2. VirusTotal https://www.virustotal.com/en/documentation/public-api/ 3. PassiveTotal https://community.riskiq.com/registration ## Todo: 1. Better documentation