
Python製のパッシブOSINTツールキット。ユーザー名、メールアドレス、ドメイン、IP、電話番号、ハッシュに対応。キーもログインも不要。
PythonによるパッシブOSINTツールキット。APIキー不要、アカウント不要、何かにログインする必要もない。ハンドル、メールアドレス、ドメイン、IP、電話番号、またはハッシュを渡すと、すでに公開されている情報を調べてくれる。

usernameはハンドルを約700のサイトにわたって調査する。コミュニティのWhatsMyNameリストを使用している。このリストの各エントリはヒットとミスを区別する方法を知っているので、結果は推測ではない。emailは構文とMXをチェックし、使い捨てドメインを探し、gravatarを試し、その後@より前の部分をusernameスイープにかける。domainはDNSレコード、HTTPステータスとタイトル、証明書透過性ログとwhoisからサブドメインを取得する。ipはジオとASN、逆引きDNSを提供し、指定すればポートスキャンも行う。phoneはキャリア、地域、回線種別、タイムゾーンを調べる。hashはおそらく何であるかを教えてくれるだけだ。
すべて公開データだ。DNS、whois、プロフィールページ、証明書ログ。
Python 3.9以降が必要。その後:
pip install -r requirements.txt
これでrich、requests、dnspython、aiohttpが入る。phonenumbersも一緒に入るが、phoneモジュールだけがこれを使うので、必要ならファイルから外してもよい。aiohttpがないとusernameスイープはスレッドにフォールバックし、かなり遅くなるので、入れておくこと。
Windowsで、まだPythonがパスにない場合:
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とMacは同じことをpython3で行う:
git clone https://gitlab.com/vqkro/higernes
cd higernes
python3 -m pip install -r requirements.txt
python3 higernes.py
FreeBSDでは先にpkg install -y python3を実行する。
pipがexternally managed environmentについて文句を言う場合は、venvを作るか
python3 -m venv .venv && . .venv/bin/activate && pip install -r requirements.txt
--break-system-packagesを渡して先に進むかだ。
引数なしでメニューが出る。または直接何かに向かって実行する:
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
カテゴリはusernameスイープを絞り込むだけだ。省略すると700すべてにヒットする。
data/wmn-data.jsonはWhatsMyNameデータセットだ。いつでも新しいコピーに差し替えられる。起動時に読み込まれる。ファイルがなければ、スクリプトに焼き込まれた短いリストにフォールバックするので、動作は続く。
Pythonのポートスキャナは遅いので、その部分はcore/hcore.cppにあり、小さなバイナリにコンパイルされる。higernesは自身の隣、core/内、またはパス上でそれを探し、シェルアウトする。なければ、ip --portsは遅いPython版にフォールバックする。ソースから実行していて高速パスが欲しい場合のみビルドが必要だ:
# 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
単体でも動作する:
hcore dns github.com
hcore ports example.com --banners
hcore ports example.com --all --threads 1024
リリースページのexeにはすでにこれが入っている。
dnspythonとrequestsは入れておく価値がある。dnspythonがないとAレコードだけが解決され、他はすべてスキップされる。ip-apiの無料エンドポイントは1分あたり約45ルックアップでスロットリングされる。crt.shは遅いか、半分の確率でダウンしており、その場合はdomainスキャンはそう告げて続行するだけだ。
pip install pyinstaller
pyinstaller --onefile --name higernes --console higernes.py
これがリリースページのものがビルドされた方法だ。
MIT、LICENSEを参照。