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 गिटहब रिपोजिटरी में PRs सबमिट करें।
कार्यप्रणाली और पहचान की मूल बातें
- कोई भी ऑब्जेक्ट जिसे सहायक क्लास
dynamicObjectके साथ बनाया गया है उसेentryTTL(सेकंड काउंटडाउन) औरmsDS-Entry-Time-To-Die(पक्का एक्सपायरी टाइम) मिलता है। जबentryTTL0 पर पहुँचता है तो Garbage Collector इसे बिना tombstone/recycle-bin के डिलीट कर देता है, जिससे creator/timestamps हट जाते हैं और recovery अवरुद्ध हो जाती है। - TTL को
entryTTLअपडेट करके रिफ्रेश किया जा सकता है; न्यूनतम/डिफ़ॉल्ट मान Configuration\Services\NTDS Settings →msDS-Other-Settings→DynamicObjectMinTTL/DynamicObjectDefaultTTLमें लागू होते हैं (1s–1y सपोर्ट करता है पर आमतौर पर डिफ़ॉल्ट 86,400s/24h होता है)। Dynamic objects Configuration/Schema partitions में unsupported हैं। - DCs पर डिलीशन में कुछ मिनट का लेग हो सकता है अगर उनकी uptime कम हो (<24h), जो attributes क्वेरी/बैकअप के लिए तंग विंडो छोड़ता है। इसे डिटेक्ट करने के लिए नए ऑब्जेक्ट्स जिनमें
entryTTL/msDS-Entry-Time-To-Dieहोता है पर अलर्ट करें और orphan SIDs/broken links के साथ कोरिलेट करें।
MAQ एवेशन स्व-डिलीट करने वाले Computers के साथ
- Default
ms-DS-MachineAccountQuota= 10 किसी भी authenticated user को computers बनाने देता है। निर्माण के दौरानdynamicObjectजोड़ने से कंप्यूटर self-delete हो जाता है और quota स्लॉट खाली कर देता है साथ ही सबूत मिटा देता है। - Powermad tweak
New-MachineAccountके अंदर (objectClass list):
$request.Attributes.Add((New-Object "System.DirectoryServices.Protocols.DirectoryAttribute" -ArgumentList "objectClass", "dynamicObject", "Computer")) > $null
- Short TTL (उदा., 60s) अक्सर standard users के लिए विफल रहता है; AD
DynamicObjectDefaultTTLपर fallback कर लेता है (उदाहरण: 86,400s). ADUCentryTTLछुपा सकता है, पर LDP/LDAP क्वेरी इसे दिखाती हैं।
स्टील्थ Primary Group सदस्यता
- एक dynamic security group बनाएं, फिर किसी user का
primaryGroupIDउस group के RID पर सेट करें ताकि प्रभावशाली सदस्यता मिल सके जोmemberOfमें दिखाई नहीं देती पर Kerberos/access tokens में मान्य होती है। - TTL एक्सपायर होने पर group delete हो जाता है भले ही primary-group delete protection हो, जिससे user का
primaryGroupIDएक नॉन-एक्जिस्टेंट RID की ओर करप्ट हो जाता है और कोई tombstone नहीं होता जिससे जांच करना मुश्किल हो जाता है कि अधिकार कैसे दिए गए थे।
AdminSDHolder Orphan-SID प्रदूषण
CN=AdminSDHolder,CN=System,...में short-lived dynamic user/group के लिए ACEs जोड़ें। TTL एक्सपायर होने के बाद उस SID को template ACL में unresolvable (“Unknown SID”) बन जाता है, और SDProp (~60 min) वह orphan SID सभी protected Tier-0 objects पर propagate कर देता है।- फॉरेंसिक्स attribution खो देते हैं क्योंकि principal मौजूद नहीं रहता (कोई deleted-object DN नहीं)। मॉनिटरिंग के लिए नए dynamic principals + AdminSDHolder/privileged ACLs पर अचानक orphan SIDs पर अलर्ट करें।
Self-Destructing सबूत के साथ Dynamic GPO Execution
- एक malicious dynamic
groupPolicyContainerऑब्जेक्ट बनाएं जिसमें खराबgPCFileSysPath(उदा., SMB share à la GPODDITY) हो और उसे लक्षित OU मेंgPLinkके जरिए लिंक करें। - क्लाइंट पॉलिसी को प्रोसेस करते हैं और attacker SMB से कंटेंट खींचते हैं। जब TTL एक्सपायर हो जाता है, तो GPO ऑब्जेक्ट (और
gPCFileSysPath) गायब हो जाता है; केवल एक brokengPLinkGUID बचता है, जो executed payload के LDAP साक्ष्यों को हटा देता है।
Ephemeral AD-Integrated DNS रिडायरेक्शन
- AD DNS रिकॉर्ड्स
dnsNodeऑब्जेक्ट्स होते हैं जो DomainDnsZones/ForestDnsZones में होते हैं। उन्हें dynamic objects के रूप में बनाने से अस्थायी host redirection संभव होता है (credential capture/MITM)। क्लाइंट्स malicious A/AAAA response को cache कर लेते हैं; बाद में रिकॉर्ड self-delete हो जाता है ताकि zone साफ़ दिखे (DNS Manager को व्यू रिफ्रेश करने के लिए zone reload की ज़रूरत पड़ सकती है)। - डिटेक्शन: replication/event logs के माध्यम से किसी भी DNS रिकॉर्ड जो
dynamicObject/entryTTLरखता है पर अलर्ट करें; अस्थायी रिकॉर्ड स्टैंडर्ड DNS लॉग्स में कम ही दिखाई देते हैं।
Hybrid Entra ID Delta-Sync Gap (Note)
- Entra Connect delta sync deletes को detect करने के लिए tombstones पर निर्भर करता है। एक dynamic on-prem user Entra ID में sync हो सकता है, expire हो सकता है, और tombstone के बिना delete हो सकता है—delta sync क्लाउड अकाउंट को नहीं हटा पाएगा, जिससे एक orphaned active Entra user रह सकता है जब तक कि मैनुअल full sync न किया जाए।
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 गिटहब रिपोजिटरी में PRs सबमिट करें।


