ID | Name |
---|---|
T1552.001 | Credentials In Files |
T1552.002 | Credentials in Registry |
T1552.003 | Bash History |
T1552.004 | Private Keys |
T1552.005 | Cloud Instance Metadata API |
T1552.006 | Group Policy Preferences |
T1552.007 | Container API |
Adversaries may attempt to find unsecured credentials in Group Policy Preferences (GPP). GPP are tools that allow administrators to create domain policies with embedded credentials. These policies allow administrators to set local accounts.[1]
These group policies are stored in SYSVOL on a domain controller. This means that any domain user can view the SYSVOL share and decrypt the password (using the AES key that has been made public).[2]
The following tools and scripts can be used to gather and decrypt the password file from Group Policy Preference XML files:
post/windows/gather/credentials/gpp
On the SYSVOL share, adversaries may use the following command to enumerate potential GPP XML files: dir /s * .xml
ID | Name | Description |
---|---|---|
G0064 | APT33 |
APT33 has used a variety of publicly available tools like Gpppassword to gather credentials.[4][5] |
S0194 | PowerSploit |
PowerSploit contains a collection of Exfiltration modules that can harvest credentials from Group Policy Preferences.[6][7] |
S0692 | SILENTTRINITY |
SILENTTRINITY has a module that can extract cached GPP passwords.[8] |
ID | Mitigation | Description |
---|---|---|
M1015 | Active Directory Configuration |
Remove vulnerable Group Policy Preferences.[9] |
M1047 | Audit |
Search SYSVOL for any existing GGPs that may contain credentials and remove them.[10] |
M1051 | Update Software |
Apply patch KB2962486 which prevents credentials from being stored in GPPs.[10][11] |
ID | Data Source | Data Component |
---|---|---|
DS0017 | Command | Command Execution |
DS0022 | File | File Access |
Monitor for attempts to access SYSVOL that involve searching for XML files.
Deploy a new XML file with permissions set to Everyone:Deny and monitor for Access Denied errors.[10]