un toolkit OSINT passivo in python per username, email, domini, IP, telefoni, hash. nessuna chiave, nessun login.
toolkit osint passivo in python. nessuna api key, nessun account, nessun login da nessuna parte. dagli un handle, un'email, un dominio, un ip, un numero di telefono o un hash e passa in rassegna ciò che è già pubblico.

username passa un handle attraverso circa 700 siti, usando la lista WhatsMyName della community. ogni voce di quella lista sa come distinguere un risultato positivo da uno negativo, quindi i risultati non sono supposizioni. email controlla la sintassi e gli mx, cerca domini usa e getta, prova gravatar, poi passa la parte prima della @ attraverso la scansione degli username. domain recupera i record dns, lo stato http e il titolo, i sottodomini dalla certificate transparency e il whois. ip fornisce geo e asn, reverse dns, e scansiona le porte se glielo chiedi. phone fa carrier, regione, tipo di linea e timezone. hash ti dice solo cosa probabilmente è.
sono tutti dati pubblici. dns, whois, pagine di profilo, log dei certificati.
richiede python 3.9 o superiore. poi:
pip install -r requirements.txt
così ottieni rich, requests, dnspython e aiohttp. c'è anche phonenumbers ma solo il modulo phone lo usa, quindi puoi toglierlo dal file se vuoi. senza aiohttp la scansione degli username ripiega sui thread e diventa molto più lenta, quindi tienilo.
su windows, se python non è ancora nel tuo path:
winget install --id Python.Python.3.13 -e
git clone https://gitlab.com/vqkro/higernes
cd higernes
pip install -r requirements.txt
python higernes.py
linux e mac sono la stessa cosa con python3 al posto di python:
git clone https://gitlab.com/vqkro/higernes
cd higernes
python3 -m pip install -r requirements.txt
python3 higernes.py
su freebsd fai prima pkg install -y python3.
se pip si lamenta di un ambiente gestito esternamente, o crea un venv
python3 -m venv .venv && . .venv/bin/activate && pip install -r requirements.txt
oppure passa --break-system-packages e vai avanti.
senza argomenti ottieni il menu. oppure vai diretto su qualcosa:
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
una categoria restringe solo la scansione degli username. lasciala fuori e colpisce tutti i 700.
data/wmn-data.json è il dataset WhatsMyName. sostituiscilo con una copia più recente quando vuoi, viene letto all'avvio. se il file non c'è ripiega su una lista breve incorporata nello script così le cose funzionano comunque.
lo scanner di porte in python è lento, quindi quella parte vive in core/hcore.cpp e si compila in un piccolo binario. higernes lo cerca accanto a sé, in core/, o nel path, e lo esegue. se non c'è, ip --ports ripiega sulla versione python più lenta. devi compilarlo solo se esegui dal sorgente e vuoi il percorso veloce:
# windows
g++ -O2 -std=c++17 -static -o core/hcore.exe core/hcore.cpp -lws2_32
# linux / mac
g++ -O2 -std=c++17 -o core/hcore core/hcore.cpp -pthread
funziona anche da solo:
hcore dns github.com
hcore ports example.com --banners
hcore ports example.com --all --threads 1024
l'exe sulla pagina delle release lo ha già dentro.
dnspython e requests vale la pena averli. senza dnspython si risolve solo il record A, tutto il resto viene semplicemente saltato. l'endpoint gratuito di ip-api limita a circa 45 lookup al minuto. crt.sh è lento o giù metà delle volte, e quando lo è la scansione del dominio lo dice e va avanti.
pip install pyinstaller
pyinstaller --onefile --name higernes --console higernes.py
è così che è stato creato quello sulla pagina delle release.
MIT, vedi LICENSE.