Note: This can also be used to inject Everyone/Full Control, or a specific user, using the username or SID. The Administrators Group SID is always S-1-5-32-544. Other well-known SIDs are listed here.
Download the command line version of SetACL.exe from here. Like all the best things in life, it’s free.
Open a command prompt as Adminstrator (right click cmd.exe, run as admin)
setacl -on “C:\Private No Entry” -ot file -actn ace -ace “n:Administrators;p:full” -rec cont_obj -ignoreerr
The “Private No Entry” folder should now have Administrators, Full Control Permissions. If not, don’t fret, read on…
The following command gives Administrators the “dream ticket” to accessing all data by setting ownership to Administrators on all folders and files and forcing subdirectories to re-inherit inheritable Administrators:Full Control permissions from the parent.
setacl -on “C:\Private No Entry” -ot file -actn setprot -op “dacl:np;sacl:nc” -rec cont_obj -actn setowner -ownr “n:S-1-5-32-544”
If you still receive “Operating System Message:Access Denied” or similar, then you’ll need to take a robocopy of the “inaccessible” data using the /B switch to exploit OS Backup Right, leaving permissions behind using /COPY:DAT (instead of /COPY:DATSOU or /COPYALL) then repeat the process above on the copied data instead.
robocopy “C:\Private No Entry” “T:\Cracked Data” /B /COPY:DAT /E /NP /R:1 /W:1
Now view the Inherited permissions on the copied data… You’ll see it has a whole bunch of new, open permissions that it’s got from the parent folder T:.
cacls “T:\Cracked Data”
The cracked data could be robocopied back over the original inaccessible source data using /MIR /COPYALL /SEC /SECFIX switches if required. If it doesn’t allow it, then note that I have successfully robocopied an empty folder over the top of an inaccessible folder before using just /MIR (in order to delete it), then robocopied the cracked data back into place, e.g.
robocopy “T:\Empty Folder” “C:\Private No Entry” /MIR /B
robocopy “T:\Cracked Data” “C:\Private No Entry” /MIR /SEC /B
Finally, if you want to re-harden the folder whilst retaining the access you’ve granted Administrators, then use the following commands…
Presently, access has been attained via inherited permissions so before removing inheritance, first inject a non-inherited ACE that allows administrators access, i.e.
setacl -on “C:\Private No Entry” -ot file -actn ace -ace “n:S-1-5-32-544;p:full” -rec cont_obj
Verify the Administrators:Full Control permissions are present on the folder
cacls “C:\Private No Entry”
Finally it is safe to remove inheritance without losing access (strictly speaking, you are “protecting the child object from inherited permissions on the parent object”)
setacl -on u567149 -ot file -actn setprot -op “dacl:p_nc;sacl:p_nc”
This sequence of commands can be used to copy users home directories that are typically hardened to only permit the user themselves access to the data contained within. If you are using it to migrate home dierctories, there is a loop to re-apply user-specific permissions to each homedirectory afterwards here