【ITニュース解説】Hack The Box — Hercules Write-up | Advanced Active Directory & AD CS
2026年10月05日に「Dev.to」が公開したITニュース「Hack The Box — Hercules Write-up | Advanced Active Directory & AD CS」について初心者にもわかりやすく解説しています。
ITニュース概要
Hack The Boxの難関マシン「Hercules」を攻略した。Active Directoryの複数の弱点(脆弱性)を巧妙に連鎖させ、少しずつ権限を上げてドメイン管理者権限を奪取する一連の攻撃手法を解説する。
ITニュース解説
「Hack The Box」という、サイバーセキュリティのスキルを磨くためのプラットフォームで、「Hercules」という非常に難しいWindowsサーバーを攻略した体験について解説する。このHerculesというサーバーは、Windowsネットワークでユーザーやコンピューターを管理する「Active Directory(アクティブディレクトリ)」と、その中で証明書を発行・管理する「Active Directory 証明書サービス(AD CS)」の複数の弱点を利用する必要があった。
Herculesの攻略が特に困難だった理由は、単一の脆弱性(セキュリティ上の弱点)を見つけて攻撃するだけでは成功せず、複数の脆弱性や設定ミスを連鎖的に組み合わせて利用する必要があった点にある。つまり、一見すると些細で限定的な権限から、次々と足がかりを見つけ、それらを繋ぎ合わせることで、最終的にネットワーク全体を掌握できるほどの強力な権限を手に入れるという、複雑な「攻撃チェーン」を構築する必要があったのだ。
この攻撃の全体的な流れは、ウェブサイトなどでデータ検索に使うLDAP(軽量ディレクトリアクセスプロトコル)の脆弱性を悪用する「LDAPインジェクション」から始まる。これはファイルシステム内のファイルを不正に読み取る「LFI(ローカルファイルインクルージョン)」、ウェブアプリケーションの認証情報を偽装する「ASP.NETクッキー偽造」、ネットワーク上でやり取りされる認証情報を盗む「NetNTLMv2キャプチャ」とパスワードを割り出す「ハッシュクラッキング」へと進む。
次に、ネットワーク内の権限関係を可視化するツール「BloodHound」で、ユーザーやコンピューターの権限を詳しく調査する「偵察」を行う。この調査結果をもとに、特定の組織単位(OU)を乗っ取り、無効化されていたアカウントを「復活」させ、証明書サービス(AD CS)の脆弱性を悪用して、自分に有利な証明書を不正に発行する「証明書乱用」と「証明書なりすまし」を行う。
これらの偽装した認証情報を使って、Windowsのリモート管理機能「WinRM(Windows Remote Management)」を利用し、Active Directoryの中心的なサーバーであるドメインコントローラーへと移動する「横方向の移動」を実行する。そこから、他のユーザーのパスワードを強制的に変更したり、コンピューターアカウントを乗っ取ったりする。最終段階では、「RBCD(リソースベースの制約付き委任)」という高度な設定と、Kerberos認証の特性を悪用する「S4U2Self/U2U」および「S4U2Proxy」という技術を組み合わせ、ネットワーク全体の最高管理者権限「ドメインアドミン」を獲得する。このプロセスを通じて、攻撃者はドメイン管理者のパスワードに一切触れることなく、その権限を奪取できた。
特に注目すべきポイントがいくつかある。一つ目は「LDAPブラインドインジェクション」だ。これは、ユーザー入力の特殊記号(ワイルドカード)が適切に処理されない脆弱性を利用し、エラーなどを手がかりに、文字を一つずつ推測しながらデータベースから情報を引き出す手法である。
二つ目は「ASP.NETクッキーの偽造」である。ウェブアプリケーションの暗号化設定が外部に漏れる設定ミスを利用し、特権ユーザーになりすますための認証クッキーを自分で作成・偽造して、システムにログインできるようにした。
三つ目は「証明書の乱用」だ。Active Directory証明書サービス内の「スマートカードオペレーター」という役割を悪用し、脆弱な設定の証明書テンプレートを特定し、好きなユーザーのために新しい証明書を不正に発行することが可能になった。AD CS自体が、攻撃者が望む証明書を自動生成する形だ。
そして、最も高度な手口の一つが「RBCD-S4U2Self/S4U2Proxy」である。これは、あるコンピューターアカウントがドメインコントローラーに対して特定の委任権限(他のサービスに代わってユーザーを認証する権限)を持っていたことを悪用したものだ。攻撃者は、この権限を利用して自身のセッションキーとKerberos認証を同期させ、最終的にドメイン管理者としてサービスチケットを取得した。この手法を使えば、ドメイン管理者のパスワードを直接知ることなく、その管理者として振る舞える。
最後に、これらの技術で得られたドメイン管理者としての認証チケットを「WinRM」にインポートすることで、ドメインコントローラー上で完全な操作権限を持つシェルを手に入れることができた。これが、サーバーの攻略完了の瞬間である。
この一連の攻撃は、単なる一つの技術的な欠陥を突くだけでなく、システム管理者が見落としがちな設定ミスや、複数の機能の組み合わせによって生じる予期せぬリスクを巧みに連鎖させた結果である。システムエンジニアを目指す上で、このような複雑な攻撃経路を理解することは、セキュリティを考慮した設計や運用を行う上で非常に重要な学びとなるだろう。Active Directoryとその関連サービスがいかに深く連携し、一つの弱点が全体のセキュリティに影響を与える可能性があるかを示す良い例と言える。