ein passives OSINT-Toolkit in Python und C++ für Benutzernamen, E-Mails, Domains, IPs, Telefonnummern und Hashes. Keine Schlüssel, 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 ohnehin schon öffentlich ist.

username durchsucht einen Handle auf etwa 700 Seiten, mithilfe der Community-Liste WhatsMyName. jeder Eintrag in dieser Liste weiß, wie man einen Treffer von einem Fehlschlag unterscheidet, die Ergebnisse sind also keine Vermutungen. email sagt dir, wo die Adresse tatsächlich registriert ist - derzeit firefox, x, spotify und duolingo, plus gravatar - holt ihre Leak-Historie von xposedornot (Namen der Leaks, Daten, Anzahl der Datensätze und was geleakt wurde) 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 verlangst. phone liefert Betreiber, Region, Leitungstyp und Zeitzone. hash sagt dir nur, was es wahrscheinlich ist.
alles öffentliche Daten. DNS, whois, Profilseiten, Cert-Logs.
es gibt noch mehr über die sechs Kernfunktionen hinaus. discord sagt dir, ob ein Username vergeben ist, und holt ein Profil, wenn du ihm eine User-ID gibst. github, roblox und steam schlagen Profile nach. tls gibt das Zertifikat eines Hosts aus. headers zeigt, welche Security-Header einer Seite fehlen. proxies kratzt öffentliche Proxy-Listen zusammen und prüft sie, wobei die funktionierenden in proxies/working.txt geschrieben werden.
python higernes.py proxies
holt siebzehn öffentliche Listen, prüft sie alle gleichzeitig und behält die, die antworten, schnellste zuerst, mit einem Live-Balken, der die Anzahl und eine Rate pro Sekunde zeigt. 142k Kandidaten auf die guten in etwa zweieinhalb Minuten. übergib --thorough, um länger auf die langsamen zu warten und mehr von ihnen zu behalten. alles, was eine Proxy-Datei nimmt, fällt auf proxies/working.txt zurück, wenn du ihm keine gibst, sodass dcheck sie von selbst aufgreift, sobald du dies ausgeführt hast.
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 viel 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.
wenn 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 geh 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
python higernes.py subs example.com
python higernes.py subs example.com --wordlist names.txt
python higernes.py sweep 192.168.1.0/24 --port 80
python higernes.py revdns 8.8.8.8
python higernes.py whois example.com
python higernes.py http example.com
python higernes.py discord vqkro
python higernes.py discord 80351110224678912
python higernes.py github torvalds
python higernes.py roblox builderman
python higernes.py steam gabe
python higernes.py tls example.com
python higernes.py headers example.com
eine Kategorie schränkt nur den Username-Sweep ein. lass sie weg und er trifft alle 700.
domain erledigt das Ganze in einem Durchgang: DNS-Einträge, HTTP, Subdomains aus Certificate Transparency plus ein Brute-Force-Durchlauf über gängige Namen und whois.
data/wmn-data.json ist der WhatsMyName-Datensatz. Tausche jederzeit eine neuere Kopie aus, sie wird beim Start gelesen. Wenn die Datei nicht vorhanden ist, wird auf eine kurze Liste zurückgegriffen, die im Skript eingebaut ist, damit alles weiterhin läuft.
Der Portscanner in Python ist langsam, deshalb liegt 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. Wenn sie nicht vorhanden ist, fällt ip --ports auf die langsamere Python-Version zurück. Du musst sie nur bauen, wenn du aus dem Quellcode heraus 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 funktioniert auch eigenständig:
hcore dns github.com
hcore revdns 8.8.8.8
hcore whois example.com
hcore subs example.com --threads 96
hcore sweep 192.168.1.0/24 --port 80
hcore http example.com --path /
hcore ports example.com --banners
hcore ports example.com --all --threads 1024
Das deckt DNS, Reverse DNS, whois über Port 43, Subdomain-Brute-Force, einen Subnetz-Sweep und einen einfachen HTTP-Abruf ab. Kein TLS darin, also ist HTTP Port 80 oder was auch immer du darauf richtest.
Die exe auf der Releases-Seite enthält sie bereits.
core/dcheck.cpp ist der Massen-Discord-Benutzernamen-Checker. Er sendet an denselben
Verfügbarkeits-Endpunkt, den die Registrierungsseite verwendet, von so vielen Threads, wie du
ihm gibst, optional über deine eigenen Proxys.
dcheck --mode single --value somechosen
dcheck --mode ogu
dcheck --mode 4l --limit 5000 --threads 64
dcheck --mode 5c --threads 128 --proxies proxies.txt --out free.txt
dcheck --mode 4l --proxies proxies.txt --webhook https://discord.com/api/webhooks/...
Mit --webhook wird jeder freie Name an diese URL gesendet, sobald er gefunden wird, sodass du ihn laufen lassen und einen Channel beobachten kannst statt der Konsole. Treffer werden fortlaufend ausgegeben, freie in Grün und belegte in Rot; übergib --only-free, wenn du die belegten lieber nicht vorbeiscrollen sehen willst.
Die Modi sind 4c und 4l (jede 4-Zeichen-/4-Buchstaben-Kombination), 5l und 5c für
fünf, ogu für ein paar hundert kurze Wörternamen und single oder list, wenn du ihm
einen Namen oder eine Datei übergeben willst.
Discord limitiert hart pro IP. Ohne Proxys bekommst du eine Wand von 429ern und die Zusammenfassungszeile wird dir das mitteilen. Das liegt auf deren Seite, nicht am Checker.
Auch auf der Python-Seite eingebunden:
python higernes.py dcheck 4l --limit 500 --threads 64 --proxies proxies.txt
Baue es mit winhttp (nur Windows):
g++ -O2 -std=c++17 -static -o core/dcheck.exe core/dcheck.cpp -lwinhttp
dnspython und requests sind empfehlenswert. 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 das der Fall ist, sagt der Domain-Scan das einfach und macht weiter.
pip install pyinstaller
pyinstaller --onefile --name higernes --console higernes.py