File and Directory Permissions Modification: Windows File and Directory Permissions Modification

ID Name
T1222.001 Windows File and Directory Permissions Modification
T1222.002 Linux and Mac File and Directory Permissions Modification

Adversaries may modify file or directory permissions/attributes to evade access control lists (ACLs) and access protected files.[1][2] File and directory permissions are commonly managed by ACLs configured by the file or directory owner, or users with the appropriate permissions. File and directory ACL implementations vary by platform, but generally explicitly designate which users or groups can perform which actions (read, write, execute, etc.).

Windows implements file and directory ACLs as Discretionary Access Control Lists (DACLs).[3] Similar to a standard ACL, DACLs identifies the accounts that are allowed or denied access to a securable object. When an attempt is made to access a securable object, the system checks the access control entries in the DACL in order. If a matching entry is found, access to the object is granted. Otherwise, access is denied.[4]

Adversaries can interact with the DACLs using built-in Windows commands, such as icacls, cacls, takeown, and attrib, which can grant adversaries higher permissions on specific files and folders. Further, PowerShell provides cmdlets that can be used to retrieve or modify file and directory DACLs. Specific file and directory modifications may be a required step for many techniques, such as establishing Persistence via Accessibility Features, Boot or Logon Initialization Scripts, or tainting/hijacking other instrumental binary/configuration files via Hijack Execution Flow.

ID: T1222.001
Sub-technique of:  T1222
Tactic: Defense Evasion
Platforms: Windows
Permissions Required: Administrator, SYSTEM, User
Version: 1.1
Created: 04 February 2020
Last Modified: 01 September 2020

Procedure Examples

ID Name Description
S0570 BitPaymer

BitPaymer can use icacls /reset and takeown /F to reset a targeted executable's permissions and then take ownership.[5]

S0693 CaddyWiper

CaddyWiper can modify ACL entries to take ownership of files.[6]

S0531 Grandoreiro

Grandoreiro can modify the binary ACL to prevent security tools from running.[7]

S0201 JPIN

JPIN can use the command-line utility cacls.exe to change file permissions.[8]

S0446 Ryuk

Ryuk can launch icacls /grant Everyone:F /T /C /Q to delete every access-based restrictions on files and directories.[9]

S0366 WannaCry

WannaCry uses attrib +h and icacls . /grant Everyone:F /T /C /Q to make some of its files hidden and grant all users full access controls.[10]

S0612 WastedLocker

WastedLocker has a command to take ownership of a file and reset the ACL permissions using the takeown.exe /F filepath command.[11]

G0102 Wizard Spider

Wizard Spider has used the icacls command to modify access control to backup servers, providing them with full control of all the system folders.[12]


ID Mitigation Description
M1026 Privileged Account Management

Ensure critical system files as well as those known to be abused by adversaries have restrictive permissions and are owned by an appropriately privileged account, especially if access is not required by users nor will inhibit system functionality.

M1022 Restrict File and Directory Permissions

Applying more restrictive permissions to files and directories could prevent adversaries from modifying the access control lists.


ID Data Source Data Component
DS0026 Active Directory Active Directory Object Modification
DS0017 Command Command Execution
DS0022 File File Metadata
DS0009 Process Process Creation

Monitor and investigate attempts to modify DACLs and file/directory ownership. Many of the commands used to modify DACLs and file/directory ownership are built-in system utilities and may generate a high false positive alert rate, so compare against baseline knowledge for how systems are typically used and correlate modification events with other indications of malicious activity where possible.

Consider enabling file/directory permission change auditing on folders containing key binary/configuration files. For example, Windows Security Log events (Event ID 4670) are created when DACLs are modified.[13]