
WordPressの攻撃対象領域マッピング、プラグインフィンガープリンティング、オフラインCVE相関のための高速Go CLI
WordPress の攻撃対象領域マッピング、プラグインのフィンガープリンティング、オフライン CVE 相関のための高速 Go CLI。
FenrirLVX は、許可された攻撃的セキュリティ運用、バグバウンティのトリアージ、および境界監査のために構築された、焦点を絞った低フットプリントの Go セキュリティユーティリティです。WordPress ターゲットのフィンガープリントを行い、プラグインとテーマを列挙し、検出されたバージョンをローカルの脆弱性データベース(vuln_db.json)と照合し、外部 API に依存せずに決定論的なトリアージ結果を出力します。
[!IMPORTANT] FenrirLVX は、所有している資産、または評価について明示的な書面による許可を得ている資産に対してのみ使用してください。
vuln_db.json)に対するローカルマッピング。amd64、arm64、386)向けのネイティブ単一バイナリビルド。brew install leviathan-offsec/tap/fenrir
fenrir --help
releases からお使いのプラットフォーム向けのアーカイブをダウンロードしてください。各アーカイブにはバイナリ、vuln_db.json、および SHA256SUMS ファイルが含まれています。検証してください:
sha256sum -c SHA256SUMS --ignore-missing
./fenrir-v0.1.0-linux-amd64 --help
vuln_db.json を含むディレクトリから実行してください。 データベースは相対パスで参照されるため、バイナリと JSON ファイルを同じ場所に置く必要があります。
git clone https://github.com/leviathan-offsec/FenrirLVX.git
cd FenrirLVX
go build -o fenrir .
./fenrir --help
vuln_db.json はコミットされているため、ソースビルドは追加設定なしで完全にオフラインで実行できます。Go 1.27 以降が必要です。
vuln_db.json は Wordfence のエクスポートから生成されますが、サイズが大きいためコミットされていません。独自のフィードから再ビルドするには:
# needs the Wordfence API key and an export
cp wordfence_production.json .
go run ./tools/convertor.go
コンバーターはフィードを解析し、vuln_db.json をその場で書き換えます。これはメンテナンスツールであり、通常のビルドの一部ではありません。
サードパーティのサービスを介さずに、許可されたターゲットURLを直接スキャンします:
fenrir scan -t https://staging.example.com
スキャン出力は、検出されたCMS技術、有効なプラグイン、検出されたテーマ、および信頼度スコアリング付きのローカル脆弱性定義との照合結果を出力します。
export SHODAN_API_KEY="your-api-key"
fenrir wordpress -t staging.example.com -k $SHODAN_API_KEY
Shodanキーは任意です。直接スキャンは完全にオフラインで機能します。
fenrir mass -k $SHODAN_API_KEY -q 'http.component:"WordPress" org:"TargetOrg"' -p 1 -d 5
| フラグ | 対応コマンド | 説明 |
|---|---|---|
-t | scan、wordpress | 対象URLまたはドメイン |
-k | wordpress、mass | Shodan APIキー(任意) |
-q | mass | Shodan検索クエリフィルター |
-p | mass | 取得する結果ページの総数(デフォルト: 1) |
-d | mass | クエリ間のポーリング遅延(秒)(デフォルト: 5) |
-P | mass | 厳密/高精度バージョンマッチングを有効化 |
FenrirLVXはターミナル出力において決定論的な重大度シグナリングを採用しています:
[+] Clean No matching vulnerability signature in local database
[!] Low or medium-severity signal / unverified version match
[!!] High-severity vulnerability signature detected
[!!!] Critical CVSS / exploit-confirmed vulnerability signature
[SKIP] Honeypot, WAF canary, or synthetic response filtered
データベースのカバレッジもクリーンな判定結果として報告されます:
[+] staging.example.com Clean
database coverage 3/7 plugins matched 4 with no advisory data
[!IMPORTANT]
Cleanはローカルシグネチャが一致しなかったことを意味するのであり、対象に既知の問題がないことを意味するわけではありません。このデータベースには4つのプラグインに関するアドバイザリデータが存在せず、そのギャップは隠さず明示しています。オフラインスキャナは問題が存在しないことを証明できません。報告できるのは、そのデータがカバーする範囲のみです。
[!NOTE] 無制限のアドバイザリ(いずれかのバージョン境界に
*が付いているもの)を持つプラグインは、検出されたあらゆるバージョンに一致します。これらの一致はフラグが付けられているため、割り引いて判断できます。
cmd/ Cobra command wiring and CLI interface
pkg/banner/ Console branding and output telemetry
pkg/engine/ Fingerprinting, asset enumeration, and CVE correlation
pkg/shodan/ Shodan host discovery client
tools/ Database convertor and release build script
build.ps1 Cross-platform release build (Windows)
vuln_db.json Local vulnerability definitions and signatures
go build ./...
go test ./...
go vet ./...
pkg/engine のテストは、範囲境界の処理、バージョン解析、カバレッジの集計、およびクリーンパスの開示をカバーしています。これらは、ここで重要な2つの障害モードに対するリグレッション網です。すなわち、プラグインがデータベースから黙って欠落すること、そして上限のないアドバイザリに対してマッチが発火することです。
MIT License。Leviathan OffSec のために @cyeezy08 が開発しました。