Abusing Active Directory ACLs/ACEs
Bu sayfa çoğunlukla https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces ve https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges** tekniklerinin özetidir. Daha fazla ayrıntı için orijinal makalelere bakın.**
Kullanıcı Üzerinde GenericAll Hakları
Bu ayrıcalık, bir saldırganın hedef kullanıcı hesabı üzerinde tam kontrol sağlar. GenericAll
hakları Get-ObjectAcl
komutu kullanılarak doğrulandığında, bir saldırgan şunları yapabilir:
Hedefin Parolasını Değiştirme:
net user <kullanıcıadı> <parola> /domain
kullanarak saldırgan kullanıcının parolasını sıfırlayabilir.Hedefe Yönelik Kerberoasting: Kullanıcı hesabına bir SPN atayarak kerberoastable yapın, ardından Rubeus ve targetedKerberoast.py kullanarak bilet verme biletini (TGT) çıkartmaya ve kırmaya çalışın.
Hedeflenen ASREPRoasting: Kullanıcının ön kimlik doğrulamasını devre dışı bırakarak hesabını ASREPRoasting'e karşı savunmasız hale getirin.
Grup Üzerinde GenericAll Hakları
Bu ayrıcalık, bir saldırganın Domain Admins
gibi bir grupta GenericAll
haklarına sahipse grup üyeliklerini manipüle etmesine olanak tanır. Saldırgan, grubun ayırt edici adını Get-NetGroup
ile belirledikten sonra şunları yapabilir:
Kendini Domain Yöneticileri Grubuna Eklemek: Bu doğrudan komutlarla veya Active Directory veya PowerSploit gibi modüller kullanılarak yapılabilir.
GenericAll / GenericWrite / Write on Computer/User
Bir bilgisayar nesnesi veya bir kullanıcı hesabında bu ayrıcalıklara sahip olmak şunları sağlar:
Kerberos Kaynak Tabanlı Kısıtlanmış Delege: Bir bilgisayar nesnesini devralmayı mümkün kılar.
Gölge Kimlik Bilgileri: Bu teknik kullanılarak, gölge kimlik bilgileri oluşturarak bir bilgisayar veya kullanıcı hesabını taklit etmek mümkündür.
WriteProperty on Group
Bir kullanıcının belirli bir grup için (Domain Admins
gibi) tüm nesneler üzerinde WriteProperty
haklarına sahip olması durumunda, şunları yapabilir:
Kendini Domain Yöneticileri Grubuna Eklemek:
net user
veAdd-NetGroupUser
komutlarını birleştirerek başarılabilecek bu yöntem, alan içinde ayrıcalık yükseltmesine olanak tanır.
Grup Üyeliğinde Kendi (Kendi-Üyelik)
Bu ayrıcalık saldırganların, Domain Admins
gibi belirli gruplara kendilerini eklemelerine olanak tanır, doğrudan grup üyeliğini manipüle eden komutlar aracılığıyla. Aşağıdaki komut dizisi kullanılarak kendi kendine ekleme yapılabilir:
WriteProperty (Kendi Üyeliği)
Benzer bir ayrıcalık, saldırganların, grup özelliklerini değiştirerek kendilerini gruplara doğrudan eklemelerine olanak tanır. Bu ayrıcalığın onaylanması ve uygulanması şu şekilde gerçekleştirilir:
ForceChangePassword
Kullanıcı üzerinde User-Force-Change-Password
için ExtendedRight
tutmak, mevcut şifreyi bilmeksizin şifre sıfırlamaya izin verir. Bu hakkın doğrulanması ve istismarı PowerShell veya alternatif komut satırı araçları aracılığıyla gerçekleştirilebilir, kullanıcı şifresini sıfırlamanın çeşitli yöntemlerini sunar, etkileşimli oturumlar ve etkileşimsiz ortamlar için tek satırlık komutlar da dahil olmak üzere. Komutlar, basit PowerShell çağrılarından Linux üzerinde rpcclient
kullanmaya kadar uzanır, saldırı vektörlerinin çeşitliliğini gösterir.
Gruba WriteOwner Yetkisi Verme
Bir saldırgan, bir grupta WriteOwner
haklarına sahip olduğunu tespit ederse, grup sahipliğini kendisine değiştirebilir. Bu özellikle söz konusu grup Domain Admins
ise etkilidir, çünkü sahipliğin değiştirilmesi grup özellikleri ve üyelikleri üzerinde daha geniş bir kontrol sağlar. Süreç, doğru nesneyi Get-ObjectAcl
aracılığıyla tanımlamayı ve ardından Set-DomainObjectOwner
kullanarak sahibi değiştirmeyi, ya SID ya da isimle yapmayı içerir.
Kullanıcı Üzerinde GenericWrite
Bu izin, bir saldırganın kullanıcı özelliklerini değiştirmesine olanak tanır. Özellikle, GenericWrite
erişimi ile saldırgan, bir kullanıcının oturum açma betiğini değiştirerek kullanıcı oturum açılırken kötü amaçlı bir betiği yürütebilir. Bu, hedef kullanıcının scriptpath
özelliğini saldırganın betiğine işaret etmek için Set-ADObject
komutunu kullanarak gerçekleştirilir.
Grup Üzerinde GenericWrite
Bu ayrıcalıkla, saldırganlar kendilerini veya diğer kullanıcıları belirli gruplara ekleyebilir veya çıkarabilir. Bu işlem, bir kimlik nesnesi oluşturmayı, bu nesneyi kullanarak kullanıcıları bir gruptan eklemeyi veya çıkarmayı ve üyelik değişikliklerini PowerShell komutlarıyla doğrulamayı içerir.
WriteDACL + WriteOwner
Bir AD nesnesine sahip olmak ve üzerinde WriteDACL
ayrıcalıklarına sahip olmak, saldırganın nesne üzerinde GenericAll
ayrıcalıklarını kendilerine vermesine olanak tanır. Bu, ADSI manipülasyonu aracılığıyla gerçekleştirilir, nesne üzerinde tam kontrol sağlar ve grup üyeliklerini değiştirme yeteneği sunar. Bununla birlikte, bu ayrıcalıkları sömürmeye çalışırken Active Directory modülünün Set-Acl
/ Get-Acl
komut dosyalarını kullanarak bazı sınırlamalar mevcuttur.
Etki Alanında Çoğaltma (DCSync)
DCSync saldırısı, etki alanında belirli çoğaltma izinlerinden yararlanarak Bir Alan Denetleyicisini taklit eder ve kullanıcı kimlik bilgileri de dahil olmak üzere verileri senkronize eder. Bu güçlü teknik, saldırganlara Bir Alan Denetleyicisine doğrudan erişim olmadan AD ortamından hassas bilgileri çıkarmalarını sağlayan DS-Replication-Get-Changes
gibi izinler gerektirir. DCSync saldırısı hakkında daha fazla bilgi edinin buradan.
GPO Yetkilendirme
GPO Yetkilendirme
Grup İlkesi Nesnelerini (GPO'lar) yönetmek için yetkilendirilmiş erişim önemli güvenlik riskleri oluşturabilir. Örneğin, offense\spotless
gibi bir kullanıcıya GPO yönetim hakları verilmişse, WriteProperty, WriteDacl ve WriteOwner gibi ayrıcalıklara sahip olabilirler. Bu izinler kötü niyetli amaçlar için kötüye kullanılabilir, PowerView kullanılarak tespit edilebilir: bash Get-ObjectAcl -ResolveGUIDs | ? {$_.IdentityReference -eq "OFFENSE\spotless"}
GPO İzinlerini Sıralama
Yanlış yapılandırılmış GPO'ları tanımlamak için PowerSploit'in cmdlet'leri bir araya getirilebilir. Bu, belirli bir kullanıcının yönetme izinlerine sahip olduğu GPO'ların keşfedilmesine olanak tanır: powershell Get-NetGPO | %{Get-ObjectAcl -ResolveGUIDs -Name $_.Name} | ? {$_.IdentityReference -eq "OFFENSE\spotless"}
Belirli Bir Politikanın Uygulandığı Bilgisayarlar: Belirli bir GPO'nun hangi bilgisayarlara uygulandığını çözmek mümkündür, potansiyel etki alanının kapsamını anlamaya yardımcı olur. powershell Get-NetOU -GUID "{DDC640FF-634A-4442-BC2E-C05EED132F0C}" | % {Get-NetComputer -ADSpath $_}
Belirli Bir Bilgisayara Uygulanan Politikalar: Belirli bir bilgisayara uygulanan politikaları görmek için Get-DomainGPO
gibi komutlar kullanılabilir.
Belirli Bir Politikaya Uygulanan OU'lar: Belirli bir politika tarafından etkilenen organizasyon birimlerini (OU'lar) tanımlamak için Get-DomainOU
kullanılabilir.
GPO Kötüye Kullanımı - New-GPOImmediateTask
Yanlış yapılandırılmış GPO'lar, örneğin, hemen planlanmış bir görev oluşturarak kodu yürütmek için kötüye kullanılabilir. Bu, etkilenen makinelerde bir kullanıcıyı yerel yöneticiler grubuna eklemek gibi ayrıcalıkları önemli ölçüde yükseltebilir:
GroupPolicy modülü - GPO Kötüye Kullanımı
GroupPolicy modülü, yüklendiği takdirde yeni GPO'ların oluşturulması ve bağlanması, etkilenen bilgisayarlarda arka kapıları yürütmek için kayıt defteri değerlerinin ayarlanması gibi tercihlerin yapılmasına olanak tanır. Bu yöntem, GPO'nun güncellenmesini ve yürütme için bir kullanıcının bilgisayara giriş yapmasını gerektirir:
SharpGPOAbuse - GPO'ları Kötüye Kullanma
SharpGPOAbuse, mevcut GPO'ları kötüye kullanma yöntemi sunar, yeni GPO'lar oluşturmadan görevler ekleyerek veya ayarları değiştirerek. Bu araç, değişiklikler uygulanmadan önce mevcut GPO'ların değiştirilmesini veya yeni GPO'ların oluşturulmasını gerektirir:
Politika Güncellemesini Zorla
GPO güncellemeleri genellikle her 90 dakikada bir gerçekleşir. Bu süreci hızlandırmak için, özellikle bir değişiklik uyguladıktan sonra hedef bilgisayarda hemen bir politika güncellemesi zorlamak için gpupdate /force
komutu kullanılabilir. Bu komut, GPO'lara yapılan herhangi bir değişikliğin otomatik güncelleme döngüsünü beklemeksizin uygulandığından emin olur.
Detaylar
Belirli bir GPO için Zamanlanmış Görevler incelendiğinde, Hatalı Yapılandırılmış Politika
gibi, evilTask
gibi görevlerin eklenmiş olabileceği doğrulanabilir. Bu görevler, sistem davranışını değiştirmeyi veya ayrıcalıkları yükseltmeyi amaçlayan betikler veya komut satırı araçları aracılığıyla oluşturulur.
New-GPOImmediateTask
tarafından oluşturulan XML yapılandırma dosyasında görevin yapısı, zamanlanmış görevin ayrıntılarını - yürütülecek komutu ve tetikleyicilerini - belirtir. Bu dosya, zamanlanmış görevlerin GPO'lar içinde nasıl tanımlandığını ve yönetildiğini temsil eder, politika uygulamasının bir parçası olarak keyfi komutların veya betiklerin yürütülmesi için bir yöntem sağlar.
Kullanıcılar ve Gruplar
GPO'lar ayrıca hedef sistemlerde kullanıcı ve grup üyeliklerinin manipülasyonuna izin verir. Saldırganlar, Kullanıcılar ve Gruplar politika dosyalarını doğrudan düzenleyerek, yeni kullanıcıları yerel yöneticiler
grubu gibi ayrıcalıklı gruplara ekleyebilir. Bu, GPO yönetim izinlerinin devredilmesi yoluyla mümkündür, bu da politika dosyalarının değiştirilmesine ve yeni kullanıcıların eklenmesine veya grup üyeliklerinin değiştirilmesine izin verir.
Kullanıcılar ve Gruplar için XML yapılandırma dosyası, bu değişikliklerin nasıl uygulandığını açıklar. Bu dosyaya girişler ekleyerek, belirli kullanıcılara etkilenen sistemlerde yükseltilmiş ayrıcalıklar verilebilir. Bu yöntem, GPO manipülasyonu aracılığıyla ayrıcalık yükseltme için doğrudan bir yaklaşım sunar.
Ayrıca, oturum açma/oturumu kapatma betiklerinden yararlanma, otomatik çalıştırmalar için kayıt defteri anahtarlarını değiştirme, .msi dosyaları aracılığıyla yazılım yükleme veya hizmet yapılandırmalarını düzenleme gibi kod yürütme veya kalıcılığı sürdürme için ek yöntemler de düşünülebilir. Bu teknikler, GPO'ların kötüye kullanımıyla erişimi sürdürme ve hedef sistemleri kontrol etme için çeşitli olanaklar sunar.
Referanslar
Last updated