Ghunt
2.3.4Offensive Google framework.
- Verified 24 Sept 2026
- pip 2.3.4
- Licence not stated
- 20k stars
- Interactive
- Needs setup
Install and run
otlite install ghuntInstalls
ghunt==2.3.4into its own virtualenv. otlite lists what it will install and asks before it starts.otlite run ghunt -- e:ada@example.comType your own value to rewrite the commands. It stays in this page: nothing is sent or saved.
ghuntreceivesghunt email ada@example.com
No otlite yet? Install it in one line
curl -fsSL https://get.otinstaller.com/otlite | shLinux and macOS, no Docker. It uses your Python and pipx when both are there, and otherwise brings its own Python. About otlite · otlite docs
Before you run it
- Asks questions while it runs. Run it on its own in a terminal;
otlite run --all,otlite autoand playbooks skip it. - Needs a login or API key. Set it up before the first lookup; batch runs skip it unless you pass
--include-credentialed. - Needs Python older than 3.14. Its dependency Pillow 10 has no wheels for 3.14 and needs the libjpeg headers to compile. otlite checks your Python before installing and says which version to use;
otlite doctorlists the tools your Python can't run.
Notes
- Sign in to a Google account once with
otlite run ghunt -- loginon a terminal before looking anything up.
What it takes
Typed inputs after -- become Ghunt's own arguments. Anything else after -- passes through unchanged, so every option of the tool still works.
| Input | With otlite | ghunt receives |
|---|---|---|
Emaile: | otlite run ghunt -- e:ada@example.com | ghunt email ada@example.com |
What a run leaves
Every run is saved under results/ where you run otlite (or --output, or OTLITE_RESULTS_DIR): what the tool printed, a sidecar with how it ran, and an envelope.
results/ghunt/ada@example.com/<time>_ghunt_ada@example.com_<run id>.txtresults/ghunt/ada@example.com/<time>_ghunt_ada@example.com_<run id>.meta.jsonresults/ghunt/ada@example.com/<time>_ghunt_ada@example.com_<run id>.envelope.json
{
"envelope": 1,
"tool": "ghunt@2.3.4",
"runtime": "otlite",
"input": { "target": "ada@example.com" },
"case": null,
"started_at": "…", "ended_at": "…", "duration_ms": …,
"exit_code": 0,
"status": "complete",
"entities": [{ "type": "url", "value": "…" }, …],
"warnings": [],
"output": { "path": "results/ghunt/ada@example.com/<time>_ghunt_ada@example.com_<run id>.txt", "sha256": "…", "bytes": … }
}otlite results --tool ghuntotlite extract ghuntotlite diff ghunt ada@example.comList the saved runs, pull out every indicator, or compare the two latest runs against the same target.
With other tools
Batch runs skip it: asks questions while it runs; run it on its own.