Active Directoryの脆弱性「Certighost」が公開、低権限ユーザーによるドメインコントローラーの乗っ取りが可能に
要点
-
低権限のActive Directoryユーザーがドメインコントローラーの証明書を取得し、なりすましを可能にする脆弱性「Certighost」の実証コードが公開された。
-
悪用されると、攻撃者はなりすましたアカウントを利用して「DCSync」を実行し、ドメイン全体の暗号キーなどの機密情報を奪取できる。
-
Microsoftは2026年7月14日の月例更新プログラムで、この問題を「CVE-2026-54121」(CVSSスコア8.8)として修正した。
-
脆弱性の根本的な要因は、証明書登録のフォールバック処理において、接続先のドメインコントローラーが本物であるかどうかの検証が不十分だったことにある。
-
パッチの即時適用が難しい環境向けに回避策も提示されているが、正当な証明書の登録処理が機能しなくなるリスクがある。
-
セキュリティ研究者のH0j3n氏とAniq Fakhrul氏は2026年7月24日、Windowsの「Active Directory」環境における深刻な脆弱性を悪用する実証コード(PoC)を公開した。「Certighost」と名付けられたこの脆弱性は、低権限のユーザーアカウントであっても、ネットワーク上の最高権限を持つサーバーになりすますことを可能にするものだという。本脆弱性は、Microsoftが同月14日に公開した修正プログラムで対応済みの「CVE-2026-54121」に該当する。
脆弱性の概要と想定される被害
「Certighost」は、Windowsネットワークの信頼基盤である「Active Directory(ユーザーやコンピューターを集中管理する仕組み)」の証明書発行機能「Active Directory Certificate Services(AD CS)」に存在する、不適切な認可の欠陥である。脆弱性の深刻度を示すCVSS(脆弱性評価システム)スコアは「8.8」と高く評価されている。
この脆弱性が悪用された場合、通常権限しか持たないドメインユーザーが、ドメイン内の全システムを管理する「ドメインコントローラー(認証とアクセス制限を行うサーバー)」のデジタル証明書を不正に取得できるようになる。この証明書を用いてドメインコントローラーとしてのなりすまし認証に成功すると、攻撃者は「DCSync(ドメイン内の認証情報を複製・取得する攻撃手法)」と呼ばれる手法を用いて、Active Directory全体の認証の要である「krbtgt」アカウントのパスワードハッシュといった極めて重要な機密情報を窃取することが可能になる。これにより、最終的にドメイン全体の完全な管理者権限が奪取される危険性がある。
攻撃が成立する条件
本脆弱性の実行には、該当するネットワークへのアクセス権と、一般的なドメインユーザーアカウント(Domain Users)が1つ必要となるが、管理者権限やシステム利用者の操作は一切不要である。
実験において研究者らは、一般ユーザーが持つ「ms-DS-MachineAccountQuota(ドメイン内で一般ユーザーが作成できるコンピューターアカウントの最大数)」のデフォルト値が「10」に設定されている点を利用した。これにより、攻撃者は自身で新しく作成したコンピューターアカウントを使用するか、あるいはすでに制御下にある既存のアカウントを再利用することで、容易に攻撃の足がかりを構築できることが実証された。
さらに、攻撃を成立させるためにはいくつかの環境的な条件が必要となる。具体的には、脆弱な処理経路を持つ「エンタープライズCA(組織内で証明書を自動発行する機関)」が存在すること、デフォルトの「Machine(マシン)」テンプレートを用いた証明書の登録申請が行われていること、そしてCAから攻撃者が用意した通信の待ち受けサーバー(SMBおよびLDAPプロトコルを使用)に対してネットワーク上の疎通が可能であること、などが挙げられる。
技術的なメカニズム:登録フォールバック処理の盲点
この問題の原因は、AD CSの証明書登録処理における「chase」と呼ばれるフォールバック(代替処理)メカニズムにある。証明書を発行するCAが対象となる端末(エンドエンティティ)の情報を取得できない場合、Windowsの登録プロトコルに基づき、証明書を要求する側から「cdc(通信先のActive Directoryサーバー)」と「rmd(解決対象のマシンオブジェクト)」の指定を行うことができる仕様が存在する。
研究者らの調査により、CAは要求側から指定された「cdc」のホストに対して、そのホストが本当に正規のドメインコントローラーであるかを確認することなく、ファイル共有用の「SMB(Windowsのファイル共有プロトコル)」や「LDAP(ディレクトリ情報の検索・管理用プロトコル)」を介して接続を行ってしまうことが判明した。
この仕様を悪用し、攻撃者は偽のLSA(ローカルセキュリティ機関)サービスおよびLDAPサービスを自身のサーバー上で起動する。そして、CAから送られてくる認証の要求(認証チャレンジ)を、認証サービス「Netlogon」を通じて本物のドメインコントローラーに転送(リレー)し、標的とするドメインコントローラーの識別子(objectSid)とホスト名(dNSHostName)を取得してCAへ返す。CAは攻撃者の管理するマシンアカウントを正当なものとして認証し、最終的に標的のドメインコントローラーのアイデンティティが書き込まれた証明書を発行してしまう。
公開された実証ツールと修正内容
公開された実証ツール「aniqfakhrul/CVE-2026-54121」は、これらの攻撃手順を自動化するものである。実行すると自動的にコンピューターアカウントを準備し、ポート445(SMB用)と389(LDAP用)で接続を待ち受け、CAからの認証要求をリレーして、最終的に証明書ファイル(PFX形式)とKerberos認証用の資格情報キャッシュを生成する。この生成されたデータを用いて「PKINIT(公開鍵暗号を用いたKerberosの初期認証方式)」を実行することで、ドメインコントローラーとしての認証を完了させる。
研究者がMicrosoftの7月アップデートをバイナリ解析したところ、修正プログラムの適用によって certpdef.dll ファイルに CRequestInstance::_ValidateChaseTargetIsDC という検証関数が追加されたことが明らかになった。この検証処理により、IPアドレスによる直接指定や長すぎる名前、LDAPのメタ文字が含まれる要求が排除される。さらに、指定されたホスト名と一致し、なおかつコンピューターオブジェクトの属性「userAccountControl」に「SERVER_TRUST_ACCOUNT(ドメインコントローラーを示す属性)」が含まれるActive Directory内のオブジェクトが厳密に1つだけ存在することを確認する仕様となった。
影響範囲と推奨される対応
本脆弱性は、Windows Server 2012から最新のWindows Server 2025(Server Coreエディションを含む)、およびWindows 10の特定のバージョン(1607、1809)に影響することが確認されている。
研究者らがPoCを公開した2026年7月24日時点において、この脆弱性が実際に野生環境で悪用されたという報告は確認されていない。しかし、詳細な動作手順が公になっていることから、組織内のシステム管理者に対して、AD CSが動作するホストへの迅速な更新プログラムの適用が推奨されている。もし即座の修正が困難な場合は、証明書登録における「chase」機能を無効化する暫定的な回避策も案内されているが、この対応により正規の証明書登録処理が一部機能しなくなる可能性がある点に注意が必要である。