Admin Password Reset without Domain Admin

Admin Password Reset without Domain Admin yazımızda herhangi bir kullanıcının admin hesaplarının password reset işlemlerini nasıl yapabilmektedir. Bu konuda least-privileges modeli ile nasıl yetki tanımlanır. Bu yazımızda göstermiş olacağız. Öncellikle domain adminler grubunu baz alarak yazımıza devam etmekteyim. Herhangi bir domain userın adminlerin password reset işlemi için domain admin veya diğer privileges gruba dahil olmasına gerek yoktur.

AdminSDHolder yapısında verilen yetkiler template gibi privileges grupların securitylerine yazılmaktadır. Bu konuda daha önceki yazımızı okumanızda fayda vardır. Kısaca admincount değeri 1 olan gruplar AD tarafından korunmaktadır. Bu koruma mekanizmasını AdminSDHolder Security kısmı aslında bir template’dir ve privileges grouplara her 1 saatte bir güncellenmektedir. Herhangi birisi kendisini örnek olarak Domain Admin groubunun security’sine eklerse otomatik olarak 1 saat içerisinde çıkar.

Şimdi konumuza dönecek olursak bizler herhangi bir kullanıcıya Admin Password Reset yetkisi tanımlayacağız. Domain ortamlarında çok kullanılan bazı uygulamalar admin hesaplarının otomatik olarak password resetleri yapmaktadır. Burada bu hesaplara domain admin yerine nasıl yapılır.

Öncellikle adminpasswordreset adında Domain User kullanıcımız bulunmaktadır.

Default User Admin Password Reset without Domain Admin

Kullanıcının herhangi yetkisi bulunmamaktadır. Şimdi sıra yetkiyi vermektedir. AdminSDHolder üzerinde password yetkisi tanımlanacaktır. System OU su altında bulunan AdminSDHolder ounun security’de bulunan tüm yetkiler otomatik olarak privileges grouplara işlenmektedir. Bizler bu OU ya yetki vererek bu gruplarda bulunan üyelerin şifrelerini sıfırlayabiliriz.

Powershell üzerinden hızlıca yetkimizi tanımlıyoruz. Reset password yetkisi tanımlamış olduk.

dsacls.exe CN=AdminSDHolder,CN=System,DC=koray,DC=intra /G koray.intra\adminpasswordreset:CA;"Reset Password"

Script sonrasında Domain Admins grubun security ayarlarına baktığımızda yeni kullanıcımızı görmekteyiz.

$rootdse = New-Object System.DirectoryServices.DirectoryEntry("LDAP://RootDSE")
		
$rootdse.usepropertycache = $false
		
$rootdse.put("RunProtectAdminGroupsTask",1)
		
$rootdse.setinfo()

Burada test için öneri herhangi bir kullanıcıya Domain Admins üzerinde yetki tanımlayın ve SDProp tetikleyin. Hemen kullanıcı yetkisinin kaldırıldığını göreceksiniz.

Admin Password Reset without SDPROP

Kullanıcı ile dsa.msc üzerinden administrator kullanıcısının password reset işlemini denemekteyiz ve şifre sıfırlayabiliriz.

Admin Password Reset without Domain Admin

Password değişimi sağlandı.

Admin Password Reset without Domain Admin

Admin Password Reset without Domain Admin yazımızda Admin SDHolder ile domain user yetkisi ile domain admin password resetlemeyi gösterdik.

Bu kullanıcıya daha farklı yetkilerde tanımlanabilir. Örnek olarak Lockout yetkisi veya change password gibi tanımlamalarda yapılabilmektedir.

dsacls.exe CN=AdminSDHolder,CN=System,DC=koray,DC=intra /G koray.intra\adminpasswordreset:RPWP;"LockoutTime"
dsacls.exe CN=AdminSDHolder,CN=System,DC=koray,DC=intra /G koray.intra\adminpasswordreset:RPWP;"LockoutTime"

Diğer yazılarımızı aşağıdaki kategorilerden takip edeblirsiniz.