AD Dynamic Objects (dynamicObject) Anti-Forensics
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
メカニズムと検知の基本
- 補助クラス
dynamicObjectで作成されたオブジェクトはentryTTL(秒単位のカウントダウン)とmsDS-Entry-Time-To-Die(絶対期限)を持つ。entryTTLが 0 に到達すると Garbage Collector が tombstone/recycle-bin なしで削除 し、作成者やタイムスタンプを消去して復旧を阻止する。 - TTL は
entryTTLを更新することでリフレッシュできる;最小/デフォルト値は Configuration\Services\NTDS Settings →msDS-Other-Settings→DynamicObjectMinTTL/DynamicObjectDefaultTTLで強制される(1s–1y をサポートするが、一般的には 86,400s/24h がデフォルト)。Dynamic objects は Configuration/Schema パーティションではサポートされない。 - 稼働時間が短い DC(<24h)では削除が数分遅れることがあり、属性をクエリ/バックアップするための短い対応ウィンドウが残る。
entryTTL/msDS-Entry-Time-To-Dieを持つ新規オブジェクトをアラートし、孤立した SID/壊れたリンクと相関させて検知する。
MAQ 回避(自己削除するコンピュータ)
- 既定の
ms-DS-MachineAccountQuota= 10 により、認証済みユーザはコンピュータを作成できる。作成時にdynamicObjectを追加すると、コンピュータが自己削除して証拠を消しつつ クォータスロットを解放 できる。 - Powermad の
New-MachineAccount(objectClass リスト)内の調整:
$request.Attributes.Add((New-Object "System.DirectoryServices.Protocols.DirectoryAttribute" -ArgumentList "objectClass", "dynamicObject", "Computer")) > $null
- 短い TTL(例: 60s)は通常ユーザでは失敗することが多く、AD は
DynamicObjectDefaultTTLにフォールバックする(例: 86,400s)。ADUC はentryTTLを隠すことがあるが、LDP/LDAP クエリはそれを表示する。
ステルス primary group メンバーシップ
- 動的なセキュリティグループを作成し、ユーザの
primaryGroupIDをそのグループの RID に設定すると、memberOfに表示されないが Kerberos/アクセス トークンでは有効なメンバーシップを得られる。 - TTL の期限切れにより primary-group の削除保護があってもグループは削除され、ユーザは存在しない RID を指す破損した
primaryGroupIDを残され、特権付与の調査に使える tombstone も存在しない。
AdminSDHolder の孤立 SID 汚染
- 短命の dynamic user/group に対する ACE を
CN=AdminSDHolder,CN=System,...に追加する。TTL が切れるとテンプレート ACL 内の SID は 解決不能(“Unknown SID”) となり、SDProp(約60分) によりその孤立 SID が保護されたすべての Tier-0 オブジェクトに伝播する。 - 主体が消えるためフォレンジクスは帰属を失う(deleted-object DN がない)。新しい dynamic principal と AdminSDHolder/特権 ACL 上の突然の孤立 SID を監視する。
自己消滅する証拠を伴う Dynamic GPO 実行
- 悪意ある
gPCFileSysPath(例: GPODDITY のような SMB 共有)を持つ dynamicgroupPolicyContainerを作成し、対象 OU にgPLink経由でリンクする。 - クライアントはポリシーを処理して攻撃者の SMB からコンテンツを取得する。TTL が切れると GPO オブジェクト(および
gPCFileSysPath)は消滅し、残るのは壊れたgPLinkの GUID のみとなり、実行されたペイロードの LDAP 証拠が失われる。
短命の AD 統合 DNS リダイレクション
- AD の DNS レコードは
dnsNodeオブジェクトで、DomainDnsZones/ForestDnsZones に存在する。これらを dynamic objects として作成すると、一時的なホストリダイレクト(資格情報窃取/MITM)が可能になる。クライアントは悪意ある A/AAAA レスポンスをキャッシュし、その後レコードが自己削除されるためゾーンはクリーンに見える(DNS Manager は表示更新のためにゾーン再読み込みが必要な場合がある)。 - 検知: レプリケーション/イベントログ経由で
dynamicObject/entryTTLを持つ任意の DNS レコード をアラートする。短命レコードは標準の DNS ログに出ることは稀。
Hybrid Entra ID Delta-Sync Gap(注意)
- Entra Connect の delta sync は削除検出に tombstones を利用する。dynamic on-prem user が Entra ID に同期され、期限切れで tombstone なしに削除されると、delta sync はクラウドアカウントを削除せず、手動で full sync を実行するまで 孤立したアクティブな Entra ユーザ が残る。
References
Tip
AWSハッキングを学び、実践する:
HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。


