
un toolkit OSINT passivo in python - username, email, domini, ip, telefoni, hash. nessuna chiave, nessun login.
Un toolkit OSINT passivo in Python. Nessuna chiave API, nessun account, nessun logging da nessuna parte. Puntalo su un handle, un'email, un dominio, un IP, un numero di telefono o un hash e scava in ciò che è già pubblico.

Sei moduli, tutti leggono endpoint pubblici:
| Modulo | Cosa ottieni |
|---|---|
username | esamina un handle su ~700 siti (il dataset WhatsMyName), aggiornandosi in tempo reale man mano che arrivano i risultati |
email | sintassi, MX, controllo disposable, gravatar, poi la parte prima della @ come username |
domain | A/AAAA/MX/NS/TXT/CNAME, stato http e titolo, sottodomini dalla certificate transparency, whois |
ip | geo + ASN, reverse dns, scansione opzionale delle porte comuni |
phone | validità, operatore, regione, tipo di linea, fuso orario |
hash | identificazione di lunghezza/charset |
scan | scansione veloce delle porte TCP con banner grabbing, basata sul core C++ |
Niente qui tocca qualcosa di privato. È tutto DNS, WHOIS, endpoint di profili pubblici e log di certificati.
La scansione degli username si basa su data/wmn-data.json - il dataset
WhatsMyName della community, ~700 siti
con una regola di controllo ciascuno (codice di stato più una stringa che deve, e non deve,
essere presente). Sostituiscilo con una copia più recente in qualsiasi momento sovrascrivendo il file; lo strumento
lo legge all'avvio. Se manca, ripiega su una piccola lista integrata.
Restringi una scansione con --cat:
python higernes.py username vqkro --cat social
python higernes.py username vqkro --cat gaming
Eseguilo senza --cat e colpisce tutto.
Lo scanner di porte è troppo lento in Python, quindi il lavoro pesante vive in core/hcore.cpp
higernes.py lo cerca accanto a sé (o in
core/, o nel PATH) e lo invoca; se non c'è, la scansione ip --ports
ripiega silenziosamente sulla versione pure-Python più lenta.Compilalo (necessario solo se esegui dal sorgente e vuoi il percorso veloce):
# windows (mingw g++)
g++ -O2 -std=c++17 -static -o core/hcore.exe core/hcore.cpp -lws2_32
# linux / macOS
g++ -O2 -std=c++17 -o core/hcore core/hcore.cpp -pthread
Eseguilo direttamente se vuoi:
hcore dns github.com
hcore ports example.com --banners
hcore ports example.com --all --threads 1024
Il .exe precompilato sulla pagina Releases ha già il core integrato.
Richiede Python 3.9 o superiore.
Qualsiasi OS
pip install -r requirements.txt
Questo tira dentro rich, requests, dnspython e aiohttp. phonenumbers è
presente anch'esso ma solo il modulo phone ne ha bisogno - rimuovilo dal file e il
resto funziona comunque. Senza aiohttp la scansione degli username ripiega sui thread,
che è molto più lenta (decine di secondi contro centinaia).
Windows (PowerShell, se python non è ancora nel PATH)
winget install --id Python.Python.3.13 -e
git clone https://gitlab.com/jankoboy88/higernes
cd higernes
pip install -r requirements.txt
python higernes.py
Linux / macOS
git clone https://gitlab.com/jankoboy88/higernes
cd higernes
python3 -m pip install -r requirements.txt
python3 higernes.py
FreeBSD
pkg install -y python3
git clone https://gitlab.com/jankoboy88/higernes
cd higernes
python3 -m pip install -r requirements.txt
Se pip si lamenta di un ambiente gestito esternamente, usa un venv:
python3 -m venv .venv && . .venv/bin/activate && pip install -r requirements.txt
oppure passa --break-system-packages.
Eseguilo senza argomenti e ottieni il menu. Oppure vai direttamente a un modulo:
python higernes.py username vqkro
python higernes.py username vqkro --cat coding
python higernes.py email [email protected]
python higernes.py domain example.com
python higernes.py ip 1.1.1.1 --ports
python higernes.py phone +14155552671
python higernes.py hash 5f4dcc3b5aa765d61d8327deb882cf99
python higernes.py scan example.com
python higernes.py scan example.com --all
Lo schermo è tutto spinner in tempo reale e tabelle colorate; il wordmark si disegna da solo all'avvio.
dnspython e requests sono fortemente consigliati. Senza dnspython solo
il record A si risolve (usando la stdlib) e ogni altro tipo di record viene
saltato.Nessun Python sulla macchina di destinazione? Impacchettalo:
pip install pyinstaller
pyinstaller --onefile --name higernes --console higernes.py
# -> dist/higernes.exe
È così che viene creato il binario sulla pagina Releases. Nient'altro da configurare.
MIT. Vedi LICENSE.