Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cpanel-cve-2026-41940-ioc — CVE-2026-41940 cPanel/WHM 認証バイパス IOC スキャナー — 上流の検出スクリプトにおける誤検知を修正し、ログの相互相関を追加 | Kitploit
ツール/GitHubGitHub/andrei-dr/cpanel-cve-2026-41940-ioc
防御ツール脆弱性スキャナーウェブセキュリティ認証インシデントレスポンスログ分析
GitHubandrei-dr/cpanel-cve-2026-41940-ioc

cpanel-cve-2026-41940-ioc

CVE-2026-41940 cPanel/WHM 認証バイパス IOC スキャナー — 上流の検出スクリプトにおける誤検知を修正し、ログの相互相関を追加

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
リポジトリを見る
43ヶ月前未レビュー

CVE-2026-41940 IOC スキャナー

cPanel/WHM の認証バイパス(CVE-2026-41940)を検出するスクリプトです。11.40 以降のすべての cPanel バージョンに影響します。

これは上流の cPanel 検出スクリプトを書き直したもので、誤検知の修正とログ相関の追加が行われています。

機能

/var/cpanel/sessions/raw/ をスキャンして改行インジェクションの悪用の兆候を示すセッションファイルを検出し、疑わしい IP とセッショントークンを cPanel のアクセス/ログイン/エラーログと相互参照します。また、セッションファイルが期限切れまたは削除された履歴的な悪用についても access_log をスキャンします。

上流スクリプトからの修正点

  1. 壊れた複数行の pass 正規表現を削除 — 本番環境のすべての認証済みセッションで誤検知が発生していました(この正規表現は pass= フィールドの後に別の行が続くものすべてに一致するため、すべてのセッションファイルが該当していました)。
  2. インジェクション検出を一般化 — 狭い token_denied + cp_security_token の組み合わせを要求する代わりに、method=badpass origin + 任意の認証後属性 を検出します。token_denied を省略する PoC の亜種も捕捉できます。
  3. 3段階の重大度 — バイナリフラグではなく、観測された結果に基づいて判定します:
    • CRITICAL — インジェクションされたトークンが access_log で 2xx/3xx とともに観測された(悪用が成功)、またはセッション期限切れ後に access_log で履歴的な悪用が発見された
    • HIGH — インジェクションの書き込みは成功したが、トークンが access_log に出現しなかった(ステージング済み、まだ使用される可能性あり)
    • MEDIUM — トークンは試行されたが、すべてのリクエストが 4xx/5xx になった(サーバーがブロック)
  4. 段階的な修復ガイダンス — CRITICAL/HIGH は完全なインシデントレスポンスをトリガーし、MEDIUM のみの場合はサーバーが耐えたため軽いクリーンアップ手順で済みます。
  5. cpsessid と IP の両方で相互参照 — インジェクションされたトークンへの access_log ヒットから取得した IP を相互参照し、インジェクション後の攻撃者の IP ピボットを捕捉します。
  6. access_log のみの検出 — セッションファイルが期限切れまたは削除された悪用を、失敗したログイン試行(POST /login/?login_only=1 -> 401)と、同じ IP からのその後の成功した cpsess トークン使用を相関させて検出します。
  7. --extended モード — 追加のソースを対象に、より深いログスイープを実行します。

クイック実行(クローン不要)

root@kitploit:~
# Bash — どこでも動作、依存関係なし
bash <(curl -fsSL https://raw.githubusercontent.com/AndreiG6/cpanel-cve-2026-41940-ioc/main/ioc.sh)

# Python — 大規模なセッションディレクトリで高速、--json 対応
curl -fsSLo /tmp/ioc.py https://raw.githubusercontent.com/AndreiG6/cpanel-cve-2026-41940-ioc/main/ioc.py
python3 /tmp/ioc.py

# 拡張スキャン(どちらのバリアントでも)
bash <(curl -fsSL https://raw.githubusercontent.com/AndreiG6/cpanel-cve-2026-41940-ioc/main/ioc.sh) --extended
python3 /tmp/ioc.py --extended

# 実行後の終了コードを確認($? = 0 クリーン、1 IOC 検出、2 環境エラー)
echo $?

curl フラグ: -f HTTP エラー時に失敗(エラーページを bash にパイプしない)、-s サイレント(プログレスバーなし)、-S -s でもエラーを表示、-L リダイレクトを追跡。

JSON 出力(Python のみ)

Python バリアントは --json をサポートしており、jq にパイプしたり、SIEM に送信したり、プログラムで処理したりできる構造化出力を生成します。

root@kitploit:~
# 完全な JSON 出力
python3 ioc.py --json

# サマリーカウントのみ
python3 ioc.py --json | jq '.counts'

# すべての CRITICAL 検出結果を一覧表示
python3 ioc.py --json | jq '[.findings[] | select(.severity == "CRITICAL")]'

# 一意の攻撃者 IP を抽出
python3 ioc.py --json | jq '.suspect_ips[]'

# ソース IP 付きの検出結果を表示(ファイアウォールブロックリスト用)
python3 ioc.py --json | jq '[.findings[] | {severity, source_ip, token: .cp_security_token}]'

# トークン使用が成功したすべての IP を取得(即時ブロック用)
python3 ioc.py --json | jq '[.findings[] | select(.severity == "CRITICAL") | .source_ip] | unique'

# 特定の IP の相互参照データを取得
python3 ioc.py --json | jq '.cross_ref[.suspect_ips[0]]'

JSON 構造の例:

root@kitploit:~
{
  "findings": [
    {
      "severity": "CRITICAL",
      "file": "/var/cpanel/sessions/raw/:Q3f8Ag2epeBuTaIZ",
      "verdict": "Injected token used successfully (2xx/3xx in access_log)",
      "origin": "address=203.0.113.50,app=whostmgrd,method=badpass",
      "source_ip": "203.0.113.50",
      "user": "root",
      "hasroot": "1",
      "tfa_verified": "0",
      "cp_security_token": "/cpsess04396539398",
      "token_denied": "1",
      "successful_internal_auth_with_timestamp": "9999999999",
      "token_hits": [
        "203.0.113.50 - root [04/30/2026:12:12:01 -0000] \"GET /cpsess04396539398/json-api/version HTTP/1.1\" 200 0 ..."
      ]
    },
    {
      "severity": "MEDIUM",
      "file": "/var/cpanel/sessions/raw/:2TDiaHwh_r8qOH5y",
      "verdict": "Injection landed; token was tried but BLOCKED (all 4xx/5xx)",
      "source_ip": "198.51.100.23",
      "cp_security_token": "/cpsess5637704041",
      "token_hits": [
        "198.51.100.23 - root [04/30/2026:04:08:09 -0000] \"GET /cpsess5637704041/json-api/version HTTP/1.1\" 403 0 ..."
      ]
    },
    {
      "severity": "CRITICAL",
      "file": null,
      "verdict": "Injected cpsess token used with 2xx/3xx after failed login; session expired or purged",
      "source_ip": "203.0.113.99",
      "cp_security_token": "/cpsess8705792557",
      "token_hits": ["..."]
    }
  ],
  "counts": {"critical": 2, "high": 15, "medium": 71, "warning": 0},
  "suspect_ips": ["203.0.113.50", "198.51.100.23", "203.0.113.99"],
  "suspect_ips_omitted": 0,
  "cross_ref": {
    "203.0.113.50": {
      "cpanel_access_log": ["...last 5 lines..."],
      "cpanel_login_log": ["..."]
    }
  },
  "advisory": "https://support.cpanel.net/hc/en-us/articles/40073787579671"
}

使用方法(ローカルコピー)

root@kitploit:~
git clone https://github.com/AndreiG6/cpanel-cve-2026-41940-ioc.git
cd cpanel-cve-2026-41940-ioc

# Bash バリアント
bash ioc.sh                # デフォルト(CRITICAL/HIGH 展開、MEDIUM/WARNING はカウントのみ)
bash ioc.sh -v             # 詳細(すべての検出結果を展開)
bash ioc.sh --extended     # 詳細 + より深いログ + 相互参照のすべての IP

# Python バリアント(同じ検出ロジック、高速、構造化出力)
python3 ioc.py             # デフォルト(bash と同じ折りたたみ動作)
python3 ioc.py -v          # 詳細
python3 ioc.py --extended  # 詳細 + より深いログ
python3 ioc.py --json      # 構造化 JSON(常にすべての検出結果を含む)

対象の cPanel サーバーで root として実行する必要があります。Python バリアントには Python 3.6+ が必要です(CentOS 7 / CloudLinux 7+ に同梱)。

終了コード

コード意味
0指標が検出されませんでした
1IOC が検出されました
2環境エラー(cPanel サーバーではない)

参考情報

  • cPanel アドバイザリ
  • CVE-2026-41940: cPanel セッション処理における改行インジェクションによる認証バイパス

ライセンス

MIT

ツールをダウンロード