JS Analyzer
JavaScriptの静的解析のための強力なBurp Suite拡張機能。インテリジェントなノイズフィルタリングにより、JavaScriptファイルからAPIエンドポイント、URL、シークレット、メールアドレスを抽出します。目的は、精度を確保するために可能な限りノイズを減らすことです。
機能
- エンドポイント検出 – APIパス、RESTエンドポイント、OAuth URL、管理者ルートを検出
- URL抽出 – クラウドストレージ(AWS S3、Azure、GCP)を含む完全なURLを抽出
- シークレットスキャン – APIキー、トークン、認証情報(AWS、Stripe、GitHub、Slack、JWTなど)を検出
- メール抽出 – JSコード内のメールアドレスを検出
- ファイル検出 – 機密ファイル(.sql、.csv、.bak、.env、.pdfなど)への参照を検出
- スマートフィルタリング – XML名前空間、モジュールインポート、ビルド成果物由来のノイズを除去
- ソース追跡 – 各検出結果がどのJSファイル由来かを表示
- ライブ検索 – 結果をリアルタイムでフィルタリング
- コピー機能 – 個別またはすべての検出結果をクリップボードにコピー
- JSONエクスポート – すべての検出結果をJSONファイルにエクスポート
検出対象
エンドポイント
| パターン | 例 |
|---|---|
| APIパス | /api/v1/users, /api/v2/auth |
| RESTエンドポイント | /rest/data, /graphql |
| OAuth/認証 | /oauth2/token, /auth/login, /callback |
| 管理者ルート | /admin, /dashboard, /internal |
| Well-known | /.well-known/openid-configuration |
シークレット
| 種類 | パターン |
|---|---|
| AWS Access Key | AKIA[0-9A-Z]{16} |
| Google API Key | AIza[0-9A-Za-z\-_]{35} |
| Stripe Live Key | sk_live_[0-9a-zA-Z]{24,} |
| GitHub PAT | ghp_[0-9a-zA-Z]{36} |
| Slack Token | xox[baprs]-... |
| JWT | eyJ... |
| 秘密鍵 | -----BEGIN PRIVATE KEY----- |
| データベースURL | mongodb://, postgres://, mysql:// |
#注: 必要に応じてフォークして、さらにシークレット検出を追加してください。
ノイズフィルタリング
この拡張機能は以下を自動的に除外します:
- XML名前空間(
schemas.openxmlformats.org,www.w3.org) - モジュールインポート(
./,../,@angular/など) - PDF内部パス(
/Type,/Font,/Filter) - Excel/XMLパス(
xl/,docProps/,worksheets/) - ロケールファイル(
en.js,fr-ca.js) - 暗号ライブラリの内部(
sha.js,aes,bn.js)
ファイル
機密性の高いファイル種別への参照を検出:
| カテゴリ | 拡張子 |
|---|---|
| データ | .sql, .csv, .xlsx, .json, .xml, .yaml |
| 設定 | .env, .conf, .ini, .cfg, .config |
| バックアップ | .bak, .backup, .old, .orig |
| 証明書 | .key, .pem, .crt, .p12, .pfx |
| ドキュメント | .pdf, .doc, .docx |
| アーカイブ | .zip, .tar, .gz |
| スクリプト | .sh, .bat, .ps1, .py |
ダウンロードして使用
翻訳元: https://meterpreter.org/unmasking-the-code-js-analyzer-automates-javascript-recon-secret-discovery/
ソース: meterpreter.org