Skip to content
forked from khast3x/h8mail

Password Breach Hunting and Email OSINT locally or using premium services. Supports chasing down related email

License

Notifications You must be signed in to change notification settings

w3llr00t3d/h8mail

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

PyPI - Python Version travis platforms

Powerful and user-friendly password finder.
Use h8mail to find passwords through different breach and reconnaissance services, using local breaches such as Troy Hunt's "Collection1" or the infamous "Breach Compilation" torrent.
First Anniversary update, feedback and pull requests are welcomed ❀️ πŸŽ‚

πŸ“– Table of Content

🍊 Features

  • πŸ”Ž Email pattern matching (reg exp), useful for reading from other tool outputs
  • πŸ’« Loosey patterns for local searchs ("john.smith", "evilcorp")
  • πŸ“¦ Painless install. Available through pip, only requires requests
  • 🐳 Small and fast Alpine Dockerfile available
  • βœ… CLI or Bulk file-reading for targeting
  • πŸ“ Output to CSV file
  • πŸ’ͺ Compatible with the "Breach Compilation" torrent scripts
  • 🏠 Search .txt and .gz files locally using multiprocessing
    • πŸŒ€ Compatible with "Collection#1"
  • πŸ”₯ Get related emails
  • 🐲 Chase and target related emails in ongoing search
  • πŸ‘‘ Supports premium lookup services for advanced users
  • πŸ“š Regroup breach results for all targets and methods
  • πŸ‘€ Includes option to hide passwords for demonstrations
  • 🌈 Delicious colors

πŸ“¦ pip3 install h8mail


Demo

Out of the box

h8mail2demo6-1.gif

With API services, local breach search & chasing enabled

ezgif-3-eada1c3a7e53.gif


APIs

Service Functions Status
HaveIBeenPwned Number of email breaches βœ…
Hunter.io - Public Number of related emails βœ…
Hunter.io - Service (free tier) Cleartext related emails βœ…
WeLeakInfo - Public Number of search-able breach results πŸ›ƒ
WeLeakInfo - Service Cleartext passwords, hashs and salts πŸ”œ
Snusbase - Service Cleartext passwords, hashs and salts - Fast ⚑ βœ…
Leak-Lookup - Public πŸ†• Number of search-able breach results βœ…
Leak-Lookup - Service πŸ†• Cleartext passwords, hashs and salts βœ…

🍊 Install

Requirements

h8mail 2.0 only requires requests to run.

Stable release (best)

To install h8mail, run this command in your terminal:

$ pip3 install h8mail

And that's basically it.
This is the preferred method to install h8mail, as it will always install the most recent stable release.

If you don't have pip installed, this Python installation guide can guide you through the process.

From sources

The sources for h8mail can be downloaded from the Github repo.

You can either clone the public repository:

$ git clone git:https://github.com/khast3x/h8mail

Or download the tarball:

$ curl  -OL https://github.com/khast3x/h8mail/tarball/master

Once you have a copy of the source, you can install it with:

$ python setup.py install

Docker

$ docker run -ti kh4st3x00/h8mail -h

🍊 Usage

usage: h8mail [-h] -t TARGET_EMAILS [TARGET_EMAILS ...] [--loose]
              [-c CONFIG_FILE [CONFIG_FILE ...]] [-o OUTPUT_FILE]
              [-bc BC_PATH] [-sk] [-k CLI_APIKEYS [CLI_APIKEYS ...]]
              [-lb LOCAL_BREACH_SRC [LOCAL_BREACH_SRC ...]]
              [-gz LOCAL_GZIP_SRC [LOCAL_GZIP_SRC ...]] [-sf]
              [-ch [CHASE_LIMIT]]

Email information and password lookup tool

optional arguments:
  -h, --help            show this help message and exit
  -t TARGET_EMAILS [TARGET_EMAILS ...], --targets TARGET_EMAILS [TARGET_EMAILS ...]
                        Either string inputs or files. Supports email pattern
                        matching from input or file, filepath globing and
                        multiple arguments
  --loose               Allow loose search by disabling email pattern
                        recognition. Use spaces as pattern seperators
  -c CONFIG_FILE [CONFIG_FILE ...], --config CONFIG_FILE [CONFIG_FILE ...]
                        Configuration file for API keys. Accepts keys from
                        Snusbase, (WeLeakInfo, Citadel.pw), hunterio
  -o OUTPUT_FILE, --output OUTPUT_FILE
                        File to write CSV output
  -bc BC_PATH, --breachcomp BC_PATH
                        Path to the breachcompilation torrent folder. Uses the
                        query.sh script included in the torrent.
                        https://ghostbin.com/paste/2cbdn
  -sk, --skip-defaults  Skips HaveIBeenPwned and HunterIO check. Ideal for
                        local scans
  -k CLI_APIKEYS [CLI_APIKEYS ...], --apikey CLI_APIKEYS [CLI_APIKEYS ...]
                        Pass config options. Supported format: "K=V,K=V"
  -lb LOCAL_BREACH_SRC [LOCAL_BREACH_SRC ...], --local-breach LOCAL_BREACH_SRC [LOCAL_BREACH_SRC ...]
                        Local cleartext breaches to scan for targets. Uses
                        multiprocesses, one separate process per file, on
                        separate worker pool by arguments. Supports file or
                        folder as input, and filepath globing
  -gz LOCAL_GZIP_SRC [LOCAL_GZIP_SRC ...], --gzip LOCAL_GZIP_SRC [LOCAL_GZIP_SRC ...]
                        Local tar.gz (gzip) compressed breaches to scans for
                        targets. Uses multiprocesses, one separate process per
                        file. Supports file or folder as input, and filepath
                        globing. Looks for 'gz' in filename
  -sf, --single-file    If breach contains big cleartext or tar.gz files, set
                        this flag to view the progress bar. Disables
                        concurrent file searching for stability
  -ch [CHASE_LIMIT], --chase [CHASE_LIMIT]
                        Add related emails from HunterIO to ongoing target
                        list. Define number of emails per target to chase.
                        Requires hunter.io private API key


🍊 Usage examples

Query for a single target
$ h8mail -t [email protected]
Query for list of targets, indicate config file for API keys, output to pwned_targets.csv
$ h8mail -t targets.txt -c config.ini -o pwned_targets.csv
Query a list of targets against local copy of the Breach Compilation, pass API keys for Snusbase from the command line
$ h8mail -t targets.txt -bc ../Downloads/BreachCompilation/ -k "snusbase_url=$snusbase_url,snusbase_token=$snusbase_token"
Query without making API calls against local copy of the Breach Compilation
$ h8mail -t targets.txt -bc ../Downloads/BreachCompilation/ -sk
Search every .gz file for targets found in targets.txt locally
$ h8mail -t targets.txt -gz /tmp/Collection1/ -sk
Check a cleartext dump for target. Add the next 10 related emails to targets to check. Read keys from cli
$ h8mail -t [email protected] -lb /tmp/4k_Combo.txt -ch 10 -k "hunterio=ABCDE123"

🍊 Configuration file & keys

h8mail can read keys by using a config.ini file with -c, or by passing keys from the command line directly with -k.

The configuration file format is as follows:

[h8mail]
shodan =
hunterio =
snusbase_url =
snusbase_token =
; leak-lookup_pub = 1bf94ff907f68d511de9a610a6ff9263
leak-lookup_priv =

In the above example, you'll notice a Leak-lookup public key, graciously generated for h8mail users. To activate, uncomment the line and make sure to pass to config file. The API can sometimes timeout. If that's the case, simply relaunch.

Keys and their respective values can also be passed from the command line, with the -k option. Format is like so:

$ h8mail -t [email protected] -k "K=V, K=V" "K=V"

🍊 Troubleshooting

Python version & Kali

The above instructions assume you are running python3 as default. If unsure, type:

$ python --version

in your terminal. It should be either Python 3.* or Python 2.*.

If you are running python2 as default :
Make sure you have python3.6+ installed, then replace python commands with explicit python3 calls.

Windows

  • h8mail uses ANSI color escape characters. Windows doesn't know how to show the colors, and will show gibberish instead.
    Fortunately, you can use Cmder, which is an excellent Windows CMD prompt alternative
  • If you're having trouble with python and pip, chances are you need to add python to your PATH. pip will also need to be in your PATH environment variable.
  • If you're still having trouble with pip, you can do the following:
# Check python version, should be 3.6+
C:> python --version
# To have python handle installation of pip
C:> python -m ensurepip
# To launch pip as a module
C:> python -m pip install h8mail
# To launch h8mail as a module
C:> python -m h8mail --help

OSX

  • As described for Windows, you might encounter issues with python if your installation is incomplete, or pip's installation directory is not in your PATH.
  • If thats the case, you can try invoking pip and h8mail with the same command lines as Windows.
  • Make sure the python command refers to Python 3 with python --version, otherwise replace python with python3 in the instructions.

🍊 Thanks & Credits


🍊 Related open source projects


🍊 Notes

  • Service providers that wish being integrated can send me an email at k at khast3x dot club (PGP friendly)
  • h8mail is maintained on my free time. Feedback and war stories are welcomed.

If you wish to stay updated on this project:

twitter

About

Password Breach Hunting and Email OSINT locally or using premium services. Supports chasing down related email

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 95.9%
  • Makefile 3.7%
  • Dockerfile 0.4%