Access Control Basics

This lab demonstrates hands-on experience with Windows access control models and permission management. Explore how authentication leads to authorization, how security principals interact with objects, and how access control lists (ACLs) enforce confidentiality across a system. This lab highlights ability to manage Windows security permissions in a structured, role-based environment.



Cybrary is a well established and free IT training platform with several intuitive labs to explore

A paid subscription with more advanced labs is available as well outside the scope of this platform

Head to https://www.cybrary.it to create a free account for learning available on their platform

Head to Access Control Basics to complete this lab for yourself or perform it on your homelab below


Requirements:


 • Windows PC w/ Internet Connection

 • USB Flash Drive w/ at least 64GB Capacity

 • Unused PC w/ at least 4GB of Memory


1. Access Control Overview


Access control is the process of authorizing a subject to access an object on a network or computer

Access control occurs after authentication - the process by which the subject proves their identity

Once they are authenticated, the subject is referred to as a security principal with a matching SID

Through this process, access control systems help mainatain confidentiality of stored information

By ensuring only authenticated subjects with permissions can create, view or modify system objects


There are three primary access control models:


 • Mandatory Access Control (MAC)

 • Discretionary Access Control (DAC)

 • Role-Based Access Control (RBAC)


MAC is the strictest of the access control models, two security labels get assigned to each subject

Within MAC, these security labels must match each other before a subject gains access to an object

The two security labels used within Mandatory Access Control models are classification and category

For example, if a file is classified as high security with a category of top secret, then only those

subjects granted with a top secret security clearance to high security documents would have access

Outside of the government or military, Mandatory Access Control based systems are rarely utilized


In Discretionary Access Control, subject's are granted direct permissions to objects case by case

The operating system uses a list of Access Control Entries (ACE) that map permissions for objects

SID + Permissions = ACE. Permissions are access representations like read, write, and modify ability

The complete list of all the Access Control Entries (ACE) is known as an Access Control List (ACL)


In Role-Based Access Control, subject's are granted access to objects based on the subject's role

In this access control implementation, users would have no access to any object based on SID alone

Instead a role for the user is created, and Access Control Entries (ACE) are granted to this role

In Windows, Role Based Access Control is typically implemented using groups where users are added to

The key to RBAC is that groups represent job functions, working best with clearly defined job roles


Security objects can contain other security objects, for example, a folder can contain many folders

ACEs mapped to the parent folder flow to the child folders, which may be parents to other folders

This downward flow of ACEs is called inheritance. Children inherit scurity mappings from parents


What happens to ACEs when a object is moved or copied to another parent object or another folder?

On Windows, most objects in question will typically retain any of the explicitly granted permissions

However, if an object moves to a parent folder on a different volume it will lose all permissions

After losing it's former permissions, the object will inherit a new set of them from its new parent


Operation

From

To

On

Explicit Permissions

Copy

Old Folder

New Folder

Same Volume

Keep

Copy

Old Folder

New Folder

Different Volume

Keep

Move

Old Folder

New Folder

Same Volume

Keep

Move

Old Folder

New Folder

Different Volume

Lose


A copied or moved object will inherit from the new parent folder and lose its previous inheritance

Now let's discuss Windows Permissions. In Windows, there exists six standard security permissions:


 • Full Control

 • Modify

 • Read & Execute

 • List Folder Contents

 • Read

 • Write


Each permission can be allowed or denied. A denied permission takes precedence over an allowed one

Thus is a subject has ALLOW modify but DENY read, the subject cannot open the file to then modify it

In most cases, it is better to not grant a permission at all rather than to grant it explicit deny

In addition to the six standard security permissions, there are 14 advanced security permisssions

However, changing advanced permissions often causes permissions knots that are difficult to unwind


To view the security permissions for a given file or folder, right-click and select the properties

Within the properties window, the Security tab shows the full Access Control list for the object:




Windows also provides a command line utility called icacls which can display, copy, and modify ACLs

Icacls can show ACLs across all child objects under parents, making it an ideal tool for permissions


2. Create Windows 11 Live USB


Here we will simulate the end user through a USB live version of Windows 11 which won't save on the PCs disk

This type of installation was reffered to as Windows On-the-Go in the past but is now possible with rufus.exe


Download Windows 11 Disk Image (ISO): Microsoft Windows 11 ISO

Download Rufus Disk Imaging Software: Rufus Official Download


Insert USB Flash Drive, run rufus.exe, select target drive as your USB Flash Drive, select Windows 11 ISO file

From the 'Image option' dropdown menu, select the 'Windows To Go' image option to create a live usb, hit start:




Use the rufus popup menu to customize the Windows 11 Live installation and disable data collection for this lab:




Remove USB Flash Drive and Insert into unused PC. Start PC and press hotboot key on startup:




Select UEFI USB Flash Boot. Allow Windows 11 Live to load and move through the setup to reach the desktop:




We now have our basic workstation that will simulate the end user PC for us to troubleshoot later

Be sure to connect this system to the internet with WI-FI or a wired connection for the next steps


3. Review Permissions


In this lessons we will apply permissions to folders and files using the security tab and icacls cli

We will use these tools to get some hands-on practice and basic understanding of accesss controls

You will begin by reviewing the current structure and permissions for the folder you will manipulate

On the taskbar, click the File Explorer and navigate to Local Disk (C:), type cmd in the address bar:




Run the following commands from the Command Prompt to create some directories and files to view:


C:\>mkdir Hall_of_Justice Hall_of_Doom

C:\>mkdir C:\Hall_of_Justice\Heroes C:\Hall_of_Justice\Leadership

C:\>mkdir C:\Hall_of_Doom\Manuals C:\Hall_of_Justice\Heroes\Manuals

C:\>echo. > C:\Hall_of_Justice\Heroes\Manuals\Hero_Code_of_Ethics.txt C:\Hall_of_Justice\Leadership\Leadership_Notes.txt C:\Hall_of_Doom\Manuals\Villain_Code_of_Non-Ethics.txt


Run the following commands from the Command Prompt to view our directories internal file structures:


C:\>tree Hall_of_Justice /F

C:\>tree Hall_of_Doom /F


Resulting Output:




Run the following command from the Command Prompt to view the access permissions for Hall_of_Justice:


C:\>icacls Hall_of_Justice


Resulting Output:




In icacls notation, the (OI) and (CI) tell us that files and subfolders will inherit the permissions

The (IO) means that those who create files and folders will inherit Full (F) access to those files

Next let's go and see what this Access Control List looks like in the Security Tab of the object

Head back to the File Explorer and right click the Hall_of_Justice folder and select the Properties

In the Properties windows, click the Security tab to view security permissions for Hall_of_Justice:




From the Security tab, select each user listed and take note of all the permissions that are granted

Again we see that the SYSTEM account, and the Administrators group each have FUll access permissions

Special Permissions is a niche category which indicates the account has advanced permissions set up

Run the following command from the Command Prompt to see all permissions in the Hall_of_Justice tree:


C:\>icacls Hall_of_Justice /t


Resulting Output:




While the Security tab is nice for viewing ACLs on a single object, it cannot view tree like icacls


4. Modify Permissions


In this part of the lab, you will manipulate the permissions on both Hall_of_Justice and Hall_of_Doom

We will create two different groups and assign modify permissions to each group for one of the folders

We want members of the Heroes group to have modification permissions for the Hall_of_Justice folder

We want members of the Villains group to have Read and List Folder content permissions on Hall_of_Doom

Heroes can create new files and folders, while Villains can only read what files others make for them

Close the command prompt and search cmd from the windows taskbar, click Run as Administrator for cmd

Run the following command from the Command Prompt to create two new Groups for our permissions:


C:\>net localgroup "Heroes" /ADD

C:\>net localgroup "Villains" /ADD


In the Hall_of_Justice Properties window, click the Edit button option to open the Permissions window

In the Permissions window, click on the Add button option to open the Select Users or Groups window

In the Select Users or Groups window, type Heroes into the Enter the object names to select field

Click Check Names, then click on OK to add the Heroes group to the Hall_of_Justice folder permissions:




From the Permissions window, select the Heroes group and click the Allow Modify checkbox, click ok:




In the Hall_of_Justice Properties window, ensure the Heroes group has Modify, click apply and then ok:




Run the following command from the Command Prompt to view the folders updated security permissions:


C:\>icacls Hall_of_Justice /t


Resulting Output:




Notice that members of the Heroes Group have Modify (M) access to Hall_of Justice folder and children

Head back to the File Explorer and right click the Hall_of_Doom folder and select the Properties tab

In the Properties windows, click the Security tab to view security permissions for the Hall_of_Doom:




In the Hall_of_Doom Properties window, click the Edit button option to open the Permissions window

In the Permissions window, click on the Add button option to open the Select Users or Groups window

In the Select Users or Groups window, type Villains into the Enter the object names to select field

Click Check Names, then click on OK to add the Villains group to the Hall_of_Doom folder permissions:




From the Permissions window, click on apply, then click okay, ensure Villains has Read and Execute:




Run the following command from the Command Prompt to view the folders updated security permissions:


C:\>icacls Hall_of_Doom /t


Resulting Output:




Run the following command from the Command Prompt to view the permissions for the Leadership folder:


C:\>icacls Hall_of_Justice\Leadership


Resulting Output:




In the output above, notice that the Heroes group has Modify (M) permission that was inherited (I)

Suppose the Justice League and the Legion of Doom want a place wehre their leaders can collaborate

They wish to use Role Based Access Control to grant access to their leaders for this shared resource

Run the following command from the Command Prompt to create a new Leader group for shared access:


C:\>net localgroup "Leaders" /ADD


Run the following commands from the Command prompt to add Lex.Luther to the Leaders group members:


C:\>net user Lex.Luther password /ADD

C:\>net localgroup Leaders Lex.Luther /ADD


Run the following command from the Command Prompt to display all users from the Leaders group:


C:\>net localgroup Leaders


Resulting Output:




Lex.Luther is a member of the Leadership group. If we simply grant the Leaders group Allow Modify

permissions to the Leadership folder, will Lex.Luther be able to modify files within Leadership?

Consider that ITLab.Center is not a member of the Heroes group and has no permissions on the parent

Head back to the File Explorer and right click the Leadership folder and select the Properties tab:

In the Properties windows, click the Security tab to view security permissions for the Leadership:




In the Leadership Properties window, click the Edit button option to open the Permissions window

In the Permissions window, click on the Add button option to open the Select Users or Groups window

In the Select Users or Groups window, type Leaders into the Enter the object names to select field

Click Check Names, then click on OK to add the Leaders group to the Leadership folder permissions:




From the Permissions window, select the Leaders group and click the Allow Modify checkbox, click ok:




In the Leadership Properties window, ensure the Leaders group has Modify, click apply and then ok:




Run the following command from the Command Prompt to view the permissions for the Leadership folder:


C:\>icacls Hall_of_Justice\Leadership


Resulting Output:




Notice that the Modify (M) permissions granted to Leaders were not inherited (I) from the parents

Head back to the Leadership folders Properties Window and the Security tab, then click on Advanced:




In the Advanced Security Settings window, click the Effective Access tab, then Select a user link

In the Select User or Group window, type Lex.Luther, click Check Names, then click ok to add user:




As noted above, Effective Access allows you to view permissions for a user, group, or device account

Effective permissions are determined by calculating the user's complete security permissions profile

This included all the group permissions and permissions which are inherited from the parent object

From within the Advanced Security Settings window, click on the View Effective Access button option:




Notice that the Lex.Luther account has many permissions to the Leadership folder and its contents

Close the Advanced Security Settings and Leadership Properties window for the Leadership directory

Head back to the Hall_of_Justice folders Properties Window and the Security tab, then click Advanced

From the Advanced Security Settings window, click Disabled Inheritance, then Convert to Explicit:




Click apply, then head back to the Security tab for Hall_of_Justice Properties and click on Edit

For both Authenticated Users as well as Users, uncheck each of the permissions boxes and hit apply:




In the Advanced Security Settings window, click the Effective Access tab, then Select a user link

In the Select User or Group window, type Lex.Luther, click Check Names, then click ok to add user

From within the Advanced Security Settings window, click on the View Effective Access button option:




We want leaders, including Lex, to have Modify access to the Leadership folder within Hall_of_Justice

One solution would be to grantLex Luther granular access (Traverse Folder) to the Hall_of_Justice

However "solving" permissions issues in this way can become problematic from a security standpoint

Instead, we will move the Leadership folder and all its contects to the Local Disk or the C:\ drive

Afterwards we will have the ability to change the access permissions for the Leadership as needed


Close both the Advanced Security Settings and Properties windows for the Hall_of_Justice directory

From the File Explorer, navigate to the Hall_of_Justice folder, then click on Leadership and CTRL+X

From the File Explorer, head back to the Local Drive (C:) and right-click open space and hit paste

Run the following command from the Command Prompt to check the permissions for the Leadership folder:


C:\>icacls Leadership


Resulting Output:




Notice that the BUILTIN\Users group has inherited (I) permissions from the new parent Local Disk C:\

All users are part of the built-in Users group, this would grant unqanted access to all local users

You may also have noticed that the Heroes group permission is gone, as it was previously inherited


From the File Explorer, right-click the Leadership folder and select Properties to open Properties

In the Leadership Properties window, click the Security tab to view the folders security permissions

From the Security Permissions window, click the Edit button to open the internal Permissions window

From the Internal Permissions window. select the Users group from the list and then click on Remove:




Click OK to close the error. We need to block inheritance before we can change Leadership permissions

From Permissions click Cancel, then in the Leadership Properties window, click on the Advanced button

From the Advanced Security Settings window, click on Disable inheritance and then convert to explicit

Note that when disabling inheritance, you must either copy the existing rules or begin from scratch

In the Advanced Security Settings window, click OK to apply your changes and close out of the window


Now repeat the previous steps above and attempt to remove the Users and Authenticated Users groups

Run the following command from the Command Prompt to check the permissions for the Leadership folder:


C:\>icacls Leadership


Resulting Output:




Notice that all inherited permissions are gone along with the Users and Authenticated Users groups

Along with this, members of the Leaders group now have Allow Modify (M) access just like previously

As you did earlier in this lab, check the permissions of Lex for the Leadership folder, unchanged

Navigate to This PC, then use the Effective Access tool to check Lex Luthers permissions for C:\:




Notice that this time Lex Luther has just enough permissions on the parent object for child access

No access pinholes or security concerns are required to get Lex.Luther into the Leadership folder


Congratulations! In this lesson, you've learned a lot about the Windows access control mechanisms

You used the Security tab to configure group-level access and the icacls tool to perform validation

You also learned how to view a user's effective access to files and folders and their permissions