ein passives OSINT-Toolkit in Python für Benutzernamen, E-Mails, Domains, IPs, Telefonnummern, Hashes. Keine Keys, keine Logins.
passives OSINT-Toolkit in Python. Keine API-Schlüssel, keine Konten, keine Anmeldung irgendwo. Gib ihm einen Handle, eine E-Mail, eine Domain, eine IP, eine Telefonnummer oder einen Hash und es durchsucht, was bereits öffentlich ist.

username durchsucht einen Handle auf etwa 700 Seiten, mithilfe der Community- WhatsMyName-Liste. Jeder Eintrag in dieser Liste weiß, wie man einen Treffer von einem Fehlschlag unterscheidet, sodass die Ergebnisse keine Vermutungen sind. email prüft die Syntax und MX, sucht nach Wegwerf-Domains, versucht Gravatar und schickt dann den Teil vor dem @ durch den username-Sweep. domain holt die DNS-Einträge, den HTTP-Status und -Titel, Subdomains aus Certificate Transparency und whois. ip liefert Geo und ASN, Reverse DNS und scannt Ports, wenn du es darum bittest. phone ermittelt Carrier, Region, Leitungstyp und Zeitzone. hash sagt dir nur, was es wahrscheinlich ist.
Alles sind öffentliche Daten. DNS, whois, Profilseiten, Cert-Logs.
Benötigt Python 3.9 oder neuer. Dann:
pip install -r requirements.txt
Das besorgt dir rich, requests, dnspython und aiohttp. phonenumbers kommt ebenfalls mit, aber nur das phone-Modul nutzt es, du kannst es also aus der Datei entfernen, wenn du willst. Ohne aiohttp fällt der username-Sweep auf Threads zurück und wird deutlich langsamer, also behalte es.
Unter Windows, falls Python noch nicht in deinem PATH ist:
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 und Mac sind dasselbe mit python3 stattdessen:
git clone https://gitlab.com/vqkro/higernes
cd higernes
python3 -m pip install -r requirements.txt
python3 higernes.py
Unter FreeBSD führe zuerst pkg install -y python3 aus.
Falls pip sich über eine extern verwaltete Umgebung beschwert, erstelle entweder ein venv
python3 -m venv .venv && . .venv/bin/activate && pip install -r requirements.txt
oder übergib --break-system-packages und mach weiter.
Ohne Argumente bekommst du das Menü. Oder gehe direkt auf etwas los:
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
Eine Kategorie schränkt nur den username-Sweep ein. Lass sie weg und er trifft alle 700.
data/wmn-data.json ist der WhatsMyName-Datensatz. Tausche jederzeit eine neuere Kopie ein, sie wird beim Start gelesen. Falls die Datei nicht vorhanden ist, fällt es auf eine kurze Liste zurück, die in das Skript eingebaut ist, damit alles weiterhin läuft.
Der Portscanner in Python ist langsam, daher lebt dieser Teil in core/hcore.cpp und kompiliert zu einer kleinen Binärdatei. higernes sucht sie neben sich selbst, in core/ oder im PATH und ruft sie auf. Falls sie nicht da ist, fällt ip --ports auf die langsamere Python-Version zurück. Du musst sie nur bauen, wenn du aus dem Quellcode läufst und den schnellen Pfad willst:
# 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
Sie steht auch für sich allein:
hcore dns github.com
hcore ports example.com --banners
hcore ports example.com --all --threads 1024
Die exe auf der Releases-Seite hat sie bereits integriert.
dnspython und requests sind es wert, dabei zu sein. Ohne dnspython wird nur der A-Record aufgelöst, alles andere wird einfach übersprungen. Der kostenlose Endpunkt von ip-api drosselt bei etwa 45 Abfragen pro Minute. crt.sh ist die Hälfte der Zeit langsam oder down, und wenn es das ist, sagt der Domain-Scan einfach Bescheid und macht weiter.
pip install pyinstaller
pyinstaller --onefile --name higernes --console higernes.py
So wurde die auf der Releases-Seite gebaut.
MIT, siehe LICENSE.