TGViewer
  @kavehoffsec · 1.16K subscribers
Post #101 1.18K
⭕ مقدمه‌ای بر AD CS: کانتینرها در Active Directory

حالا می‌رسیم به بخش کانتینرها تو اکتیو دایرکتوری که مستقیماً با Certificate Services مرتبطه. این کانتینرها اساساً جایی هستن که همه تنظیمات و objectهای مرتبط با PKI ذخیره میشن، و اگر بتونی بهشون دسترسی پیدا کنی، راه برای persistence یا حتی escalation باز میشه. من اینجا تمرکز میکنم روی Public Key Services container، که مسیرش اینه: CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com. این کانتینر تو partition Configuration قرار داره، یعنی site-wide و replicate میشه تو همه DCها.

زیرمجموعه‌های کلیدی تو Public Key Services
این کانتینر چند تا sub-container مهم داره که هر کدوم نقش خاصی تو AD CS بازی میکنن:

- Certificate Templates: 
  اینجا templateهای گواهی ذخیره میشن

📌  چیزایی مثل User یا Computer که مشخص میکنن چطور گواهی صادر بشه، شامل EKUها، enrollment rights و غیره. اینا کلیدین برای abuse، چون اگر vuln باشن، میتونی دسترسی بگیری.

- Certification Authorities: 
  لیست trusted root CAها اینجا هست. این rootها از طریق Group Policy Object (GPO) propagate میشن به کلاینت‌ها. یعنی اگر بتونی یک CA جعلی اضافه کنی، همه ماشین‌ها بهش trust میکنن.

- Enrollment Services: 

  این بخش Enterprise CAها رو لیست میکنه 📌 CAهایی که integrate شدن با AD و میتونن گواهی صادر کنن. اگر دسترسی داشته باشی، میتونی enrollment رو manipulate کنی.

- NTAuthCertificates: 
  برای چیزایی مثل smart card authentication و key archival استفاده میشه. این objectها مشخص میکنن کدوم CAها مجازن برای NT authentication، که تو Kerberos مهمه.

آموزش ردتیم: چطور این کانتینرها رو abuse کنیم؟

تو سناریوهای حمله، ACLهای ضعیف روی این کانتینرها میتونه به persistence منجر بشه. مثلاً، اگر Write rights داشته باشی روی Certification Authorities، می‌ تونی یک trusted root جعلی اضافه کنی (مثل حمله DPERSIST2 تو گزارش‌های persistence). این کار domain-wide trust رو میشکنه.

برای enumerate کردن، از PowerShell استفاده کن:
Powershell

ls 'AD:\CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com'

این کامند لیست objectها رو نشون میده. برای templateها، ابزار Certify.exe عالیه: Certify find رو بزن تا vuln templateها رو پیدا کنی.

abuse عملی:
اگر ACL Write داری روی یک template، می‌ تونی modify کنی (مثل ESC4) .

مثلاً enrollment rights اضافه کنی یا EKUها رو تغییر بدی تا vuln بشه. بعد، گواهی درخواست بده و escalate کن.

نکته ای که هس :
این کانتینرها جزو Tier 0 assetها حساب می‌شن یعنی compromiseشون معادل domain persistence. adminها باید ACLها رو سختگیرانه چک کنن، چون حتی یک low-priv کاربر اگر rights داشته باشه، میتونه کل PKI رو به هم بریزه.

تمرین پیشنهادی

برای دست‌گرمی، تو محیط تستت یک template enumerate کن با Certify (مثل Certify find /template:User) و EKUها رو چک کن ببین آیا Client Auth داره یا Any Purpose، که vuln هستن. این کمک میکنه بهتر بفهمی کجا حمله کنی.

#ADCS
@KavehOffSec
  • 👍 7
  • ❤ 1
More from @kavehoffsec
  1. Sep 28, 2026یکی از چیزهایی که در Active Directory باید جدی بگیری DCSync است ، چون اینجا مهاجم لزوماً ن…
  2. Sep 27, 2026ویندوز از هر عکسی که تا حالا پاک کردی، یه تصویر کوچک (thumbnail) نگه میداره. این تصاویر دا…
  3. Sep 27, 2026🚨 الان همه اطلاعات حساس و لو رفته‌ تون رو از اینترنت پاک کنید. ۲۰ ساله که پروفایل میسازید…
  4. Sep 25, 2026توی Active Directory، دیدن یک Event به‌ تنهایی معمولاً داستان کاملی بهت نمیده ، مثلاً Even…
  5. Sep 25, 2026آبان ...
  6. Sep 24, 2026پورت 23 Telnet : کاملاً بدون رمزنگاری. نام کاربری، پسورد و تمام دستورات به صورت متن ساده ا…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →