Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
Certighost-CVE-2026-54121 — Splunk検出のwriteup(CVE-2026-54121 / CertiGhost): AD CS証明書チェイス悪用による完全なドメイン侵害。ラボ検証済みの検出手法、トリアージ手順、および実稼働中のDCに対するインシデント調査。 | Kitploit
ツール/GitHubGitHub/atlasvector/certighost-cve-2026-54121
認証と認可防御ツール脆弱性分析侵入検知インシデントレスポンスログ分析
GitHubatlasvector/certighost-cve-2026-54121

Certighost-CVE-2026-54121

Splunk検出のwriteup(CVE-2026-54121 / CertiGhost): AD CS証明書チェイス悪用による完全なドメイン侵害。ラボ検証済みの検出手法、トリアージ手順、および実稼働中のDCに対するインシデント調査。

人気

すべて見る →

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

すべてのツールを探索

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

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

Document Type: 検出ユースケース Related CVE: CVE-2026-54121 (Certighost) Author: Youssef Benchater

検出ユースケース: Certighost (CVE-2026-54121)

このドキュメントでは、CVE-2026-54121 向けに構築された Splunk 検出について説明します。標準的な検出ユースケースの形式に従っているため、実際の検出エンジニアリングチームが維持するのと同じように検出カタログに収めることができます。

目次

概要

  • 検出 ID / 名前
  • 目的
  • MITRE ATT&CK マッピング

検出の構築

  • 必要なログソース
  • 検出ロジック
  • 検出事項と設計上の注意
  • トリガー条件
  • 重大度

対応と検証

  • 対応 / トリアージ手順
  • テストの証跡
  • 関連ダッシュボード

ロードマップ

  • 計画中の検出チェーン
  • 今後の改善

メタデータ

  • 所有者
  • 最終レビュー日 / バージョン
  • 参考文献

検出 ID / 名前

アラート : Certighost ( CVE-2026-54121 )


目的

CVE-2026-54121 で説明されている AD CS 証明書登録のチェイス機構の悪用を検出します。このルールは、要求者が指定したチェイスターゲット(cdc 属性)が正規のドメインコントローラーに解決されない CA 上の証明書ライフサイクルイベントを検知します。これはまさに Certighost が用いる仕組みであり、CA にドメインコントローラーの識別情報を含む証明書を低権限の要求者に発行させ、結果としてドメイン全体の侵害と乗っ取りに至らしめます。

この検出は、マシンアカウントの作成ではなく cdc チェイスターゲットに基づいています。なぜなら、Microsoft の CVE-2026-54121 に関するアドバイザリでは、アカウントの前提条件として、デフォルトの ms-DS-MachineAccountQuota 値、または攻撃者がすでに制御しているアカウントのいずれかを挙げているからです。アカウント作成に基づくルールでは、2 つ目の経路を完全に見逃すうえ、アカウント作成と悪用が同じ時間枠内に発生することにも依存してしまいます。cdc のチェックは両方の経路をカバーし、そのような依存関係はありません。


MITRE ATT&CK マッピング

このルールは、攻撃チェーンのうち証明書要求と発行の段階をカバーします。

戦術手法 (ID)根拠
特権昇格昇格制御メカニズムの悪用 (T1548)低権限のドメインユーザーが偽造された AD CS 証明書を介してドメインコントローラーの特権に昇格する
資格情報アクセス認証証明書の窃取または偽造 (T1649)Certighost の中核 - cdc/rmd 属性を使用して DC の識別情報を含む証明書を取得する
資格情報アクセスOS 資格情報のダンプ: DCSync (T1003.006)DC アカウントの TGT を使用して MS-DRSR レプリケーションを実行し、krbtgt と全アカウントのハッシュを抽出する
資格情報アクセスゴールデンチケット (T1558.001)krbtgt ハッシュを用いて、攻撃者はパスワードリセット後も存続する Kerberos TGT を無期限に偽造する
防御回避代替認証マテリアルの使用: Pass-the-Ticket (T1550.003)証明書ベースの TGT を使用して DC として認証し、その TGT で DCSync を実行する
永続化アカウントの作成: ローカルアカウント (T1136.001)ms-DS-MachineAccountQuota を介してマシンアカウントを作成し、不正な LDAP エンドポイントで認証する
横展開代替認証マテリアルの使用 (T1550)DC 証明書により、ドメインコントローラーアカウントと同等の完全なネットワークアクセスが付与される
偵察ドメインアカウント (T1087.002)初期の LDAP 列挙により CA、DC、ドメイン SID、GUID、および MAQ 値を発見する

必要なログソース

  • インデックス: wineventlog-lab
  • ソースタイプ: WinEventLog
  • ログソース: WinEventLog:Security
  • ホスト: DC01
  • このルールの検索で直接クエリされる Windows イベントコード:
    • 4886 (証明書要求の受信)
    • 4887 (証明書の発行)
    • 4888 (証明書要求の拒否)

Splunk でログソースが稼働中であることを確認、ホスト DC01、EventCodes 4886/4887 が存在、Request ID 12、13、14 に対して抽出された追跡対象 172[.]66[.]66[.]33


検出ロジック

index=wineventlog-lab sourcetype=WinEventLog source="WinEventLog:Security"
  (EventCode=4886 OR EventCode=4887 OR EventCode=4888) cdc
  
| fields _time EventCode Request_ID Requester Attributes Subject host Message
| rex field=Message "(?m)^cdc:(?<chase_cdc>\S+)"
| where isnotnull(chase_cdc) AND lower(chase_cdc)!="dc01.atlasvec.lab"
| stats min(_time) as _time
        values(Requester)  as requester
        values(Attributes) as template
        values(chase_cdc)  as chase_target
        values(Subject)    as cert_subject
        values(EventCode)  as codes
        values(host)       as ca_host
  by Request_ID
  
| eval status   = case(mvfind(codes,"4887")>=0,"ISSUED",
                       mvfind(codes,"4888")>=0,"DENIED",
                       true(),"PENDING")

| eval severity = "critical"
| sort - _time
| rename ca_host as "CA Host", Request_ID as "Request ID",
         requester as "User Requester", template as "Certificate Template",
         chase_target as "Chase Target (cdc)", cert_subject as "Issued Subject",
         status as "Outcome", severity as "Severity",
         _time as "Timestamp"
| table "Timestamp" "CA Host" "Request ID" "User Requester" "Certificate Template" "Chase Target (cdc)" "Issued Subject" "Outcome" "Severity"

アラート設定: 有効、スケジュール/Cron、トリガー条件 = 結果数が0より大きい


検出結果と設計上の注意点

  • イベントはリクエストIDでグループ化されるため、1つの悪意あるリクエストのライフサイクル全体(received、続いてissuedまたはdenied)が1行として表示されます。

  • この検出の初期バージョンでは、攻撃チェーンの一部としてアカウント作成を示す公開された概念実証に基づき、前提条件としてイベントID 4741(コンピューターアカウントの作成)を含めていました。しかし、CVE-2026-54121に関するMicrosoftのアドバイザリでは、マシンアカウントの前提条件として、デフォルトのms-DS-MachineAccountQuota値、または攻撃者がすでに制御しているマシンアカウントのいずれかが挙げられています。

    攻撃者が2番目の経路を取る場合、すでに制御しているマシンアカウントを使用するため、**4741イベントは生成されません。このルールはcdc**チェイスターゲットのみに基づくよう更新され、設計上両方の悪用経路をカバーしています。

    これにより、アカウント作成と証明書の悪用が同じ時間枠内で発生する必要もなくなります。攻撃者が悪用の試行の数日前または数日後にマシンアカウントを作成した場合でも、ルールは引き続き発火します。


トリガー条件

基本検索はDC01上のAD CSセキュリティ監査イベント(4886、4887、4888)を対象とし、Messageフィールドにリテラル文字列**"cdc"**を含むイベントに事前フィルタリングします。これは、チェイスの悪用試行のみがその属性をMessageフィールドに持つためです。

一致する各イベントについて、検索はMessageフィールドのcdc:行からチェイス先を抽出します。その値が存在しない、または正規のDC FQDN(dc01.atlasvec.lab)に一致するイベントは除外されます。

cdcの値が他のターゲットを指すイベントはフラグが立てられます。これは、CAが正規のDCインフラストラクチャ外へチェイスするよう指示された正確な条件であり、このCVEの核心的な悪用に当たります。


重大度

Critical - 検索ロジック内で直接設定された固定値です。スケールで計算されるものではなく、このルールが生成するすべての一致は重大として扱われます。これは、検出される条件(CAがリクエスター制御のチェイスに従って非DCターゲットへ向かうこと)が悪用のプリミティブそのものであるためです。


対応 / トリアージ手順

  1. アラート出力でリクエスターアカウントを確認します。標準のドメインユーザー、マシンアカウント、サービスアカウントのいずれであるか、またそのアカウントに証明書を要求する正当な理由があるかを確認します。
  2. 同じ時間枠に対してDC01 - Suspicious Accounts Activities相関検索を実行し、同じタイムスタンプ前後におけるDC01上の関連アカウントまたはプロセスのアクティビティを確認します。
  3. DCSync / レプリケーション権限チェックを実行し、リクエスターまたは関連アカウントがDS-Replication-Get-Changes / DS-Replication-Get-Changes-Allアクティビティを実行または試行したかを判断します。これは攻撃者が証明書発行を超えて資格情報の抽出に移行したことを示します。
  4. OutcomeがISSUEDの場合、発行された証明書を侵害されたものとして扱います。これには偽造されたドメインコントローラーのIDデータが含まれており、DCとして認証するために使用できます。
  5. 封じ込めのためにエスカレーションします。発行された証明書を取り消し、リクエスターアカウントを無効化またはリセットし、ms-DS-MachineAccountQuotaと証明書テンプレートのACLを確認します。これらは両方ともこの攻撃の前提条件です。

テスト証跡

2026-08-02にこのラボで取得された実際のリクエストライフサイクルデータに対して検証済みです:

atlasvec.labに対して実行されたCertighost PoC: 不正なLDAP/SMBサーバーを起動し、偽造されたcdc値で証明書を要求し、DC01$としてPKINITを実行し、NTLMハッシュを取得

上記のPoC実行は、不正サーバーのセットアップから証明書要求、資格情報の抽出に至るまで、攻撃チェーン全体をエンドツーエンドで確認しています。以下のSplunkの証跡は、同じリクエストライフサイクルがCA側で捕捉されたことを示しています。

Request ID 12、13、14 の Raw Event 4887: cdc:172[.]66[.]66[.]33、Subject CN=DC01.atlasvec.lab が各 GHOST アカウントに発行されている

  • Request ID 11(要求元 ATLASVEC\Administrator)は追跡対象 DC01.atlasvec.lab(正規の DC)を示しており、ルールを正しくトリガーしなかった。

Request ID 11 の Raw Event 4887: cdc:DC01.atlasvec.lab は正規の DC FQDN に一致し、フィルターにより正しく除外されている

アラート出力テーブル: Request ID 12、13、14 がフラグ付けされ、追跡対象 172[.]66[.]66[.]33、Outcome ISSUED、Severity critical

完全なテスト手法、確認済みの前提条件、および追加のスクリーンショットは、Document 2: Detection Validation Report に別途記録されている。


関連ダッシュボード

この検知と併せて、コンパニオンの監視ダッシュボードを構築した。これは 2 つのビューで Certighost 攻撃チェーンをカバーする。DC Monitoring タブでは AD CS 証明書イベント、DCSync インジケーター、マシンアカウントのアクティビティを追跡し、SOC 概要タブでは発火したすべてのアラートを重大度別に表示する。

攻撃前のベースライン

悪用前の DC Monitoring タブ。4 つの KPI はすべてゼロ: DC 関連アラートの発火なし、追跡証明書イベントなし、DCSync レプリケーションなし、マシンアカウントの作成なし。

ツールをダウンロード