REGINI ve SetACL ile Registry anahtar izinleri


Registry anahtar izinleri

Bazen registry anahtarları ile işlem yapmamız gerekir , mesela Windows defenderi kaldırma konulu başlığımızda bir registry anahtarını silmemiz icabediyordu fakat sahipliğini almadan bunu yapmaya

kalkarsak hata verecek ve kaydı sildirmeyecektir Burada , bizde sahipliği alma konusunda birkaç yazılım paylaşmış ve kolayca bir registry anahtarının sahipliği nasıl alınır açıklamaya çalışmıştık Burada , peki hiçbir yazılım kullanmadan bu işi yapamazmıyız ? diye sorarsanız elbette yapabiliriz ve bu yazı konumuzda tam olarak bu , gelelim ayrıntılara:

Kayda yazma hatası

REGINI

İşletim sistemi ile birlikte gelen ve Kayıt defteri Anahtar izinlerini düzenlemeye yardımcı olan bir komuttur , komutu kullanmak oldukça kolaydır ;

1. Öncelikle Not defteri ile gerekli parametreleri içeren bir script hazırlıyoruz ve bunu .txt şeklinde kaydediyoruz.

2. REGINI komtunu gerekli parametrelerle çalıştırıp ilgili registry anahtarının full izinlerini alıyoruz

Uygulama

Örnek olması açısından aşağıdaki anahtar izinlerini değiştireceğim (Sahipliğini alacağım)

HKEY_CLASSES_ROOT\AppID\{000C101C-0000-0000-C000-000000000046}

1. Not defterini açıyorum ve Key_name [ACL] yani: anahtar ismi (Erişim kontrol Listesi) formatında olacak şekilde anahtarları giriyorum (Aşağıdakiler gibi olacak)

\Registry\machine\software\classes – (for HKEY_CLASSES_ROOT key)
\Registry\machine – ( for HKEY_LOCAL_MACHINE key)
\Registry\user\user_sid – (for HKEY_CURRENT_USER key)
\Registry\user – (for HKEY_USERS key)

İlk başta verdiğim ve izinlerini alacağım anahtarı düzenliyorum :
\Registry\machine\software\classes\AppID\{000C101C-0000-0000-C000-000000000046}
Mavi ile yazılı fomülümüzde sadece ACL yani Erişim kontrol Listesi parametresi eksik kaldı , Önce ACL listemizi görelim:

1 (Yöneticilere tam erişimi sağlar)
2 (Yöneticilere Okuma erişimi sağlar)
3 (Yöneticilere Okuma ve yazma erişimi sağlar)
4 (Yöneticilere Okuma ve yazma ve silme erişimi sağlar)
5 (Oluşturan/sahip Tam erişim)
6 (Oluşturan/sahip Okuma ve yazma erişimi)
7 (Herkese tam erişimi sağlar)
8 (Herkese Okuma erişimi sağlar)
9 (Herkese Okuma ve yazma erişimi sağlar)
10 (Herkese Okuma ve yazma ve silme erişimi sağlar)
17 (Sisteme tam erişimi sağlar)
18 (Sisteme Okuma ve yazma erişimi sağlar)
19 (Sisteme Okuma erişimi sağlar)

Üsttekiler ışığında Not defterime aşağıdakini son halini veriyorum

\Registry\machine\software\classes\AppID\{000C101C-0000-0000-C000-000000000046} [1 6 9 17]

üstteki kodları yazdığım not defteri sayfasını sordum.txt olarak D:\ dizinime kaydediyorum şimdi Cmd (Komut istemini yönetici yetkilerinde çalıştırıp REGINI script yolu şeklinde çalıştırıyorum

regini

Bu konuda bir vbs scripti de yardımcı olacaktır

' Create temp file with the script that regini.exe will use
'
set oFSO = CreateObject("Scripting.FileSystemObject")
strFileName = oFSO.GetTempName
set oFile = oFSO.CreateTextFile(strFileName)
oFile.WriteLine "HKEY_CLASSES_ROOT\AppID\{000C101C-0000-0000-C000-000000000046} [1 5 10]"
oFile.Close

' Change registry permissions with regini.exe
'
set oShell = CreateObject("WScript.Shell")
oShell.Run "regini " & strFileName, 8, true

' Delete temp file
'
oFSO.DeleteFile strFileName

WScript.Echo "Done!"

SetACL Utility ile registry izinlerini düzenleme

Eğer herhangi bir nedenle üstteki yöntem işe yaramıyorsa SetACL Utility kesin işinize yarayacaktır

1. Buradan exe versionunu indirelim ve zipten çıkartıp C:\Windows\System32 nin içerisine atalım sırada komutu düzenlemek var bunun için aşağıdaki formatı kullanıyoruz

SetACL -on name -ot type -actn action

-on : Tam ismi ve yolu
-ot : türü nedir doya ise file , registry ise reg kulanılmalıdır
-actn: Hangi eylem yapılacak , mesela sahiplik ve tam yetki alacağımız için setowner ve ace yi kullanacağız

İlk baştaki örneğimize dönersek aşağıdaki Komut isteminden (Cmd) aşağıdaki komutşları veriyorum

SetACL.exe -on "HKEY_CLASSES_ROOT\AppID\{000C101C-0000-0000-C000-000000000046}" -ot reg -actn setowner -ownr "n:Administrators" 
SetACL.exe -on "HKEY_CLASSES_ROOT\AppID\{000C101C-0000-0000-C000-000000000046}" -ot reg -actn ace -ace "n:Administrators;p:full"

ve aşağıdaki resimde de gördüğünüz gibi komut başarılı şekilde uygulandı mesajı alıyorum , kaydı artık silip değiştirebiliyorum (hernedense REGINI metodu bende başarılı olmadı ama bu çalıştı)

setacl

setACL parametre ve sytaxları için Bakınız



Yorum Ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

CAPTCHA