Password Policy Discovery

Adversaries may attempt to access detailed information about the password policy used within an enterprise network. Password policies for networks are a way to enforce complex passwords that are difficult to guess or crack through Brute Force. This would help the adversary to create a list of common passwords and launch dictionary and/or brute force attacks which adheres to the policy (e.g. if the minimum password length should be 8, then not trying passwords such as 'pass123'; not checking for more than 3-4 passwords per account if the lockout is set to 6 as to not lock out accounts).

Password policies can be set and discovered on Windows, Linux, and macOS systems via various command shell utilities such as net accounts (/domain), Get-ADDefaultDomainPasswordPolicy, chage -l , cat /etc/pam.d/common-password, and pwpolicy getaccountpolicies.[1] [2]

ID: T1201
Sub-techniques:  No sub-techniques
Tactic: Discovery
Platforms: Linux, Windows, macOS
Permissions Required: User
Data Sources: Process command-line parameters, Process monitoring
Contributors: Sudhanshu Chauhan, @Sudhanshu_C
Version: 1.2
Created: 18 April 2018
Last Modified: 29 September 2020

Procedure Examples

Name Description

BloodHound can collect password policy information on the target environment.[3]


CrackMapExec can discover the password policies applied to the target system.[4]


Kwampirs collects password policy information with the command net accounts.[5]


The net accounts and net accounts /domain commands with Net can be used to obtain password policy information.[6]


OilRig has used net.exe in a script with net accounts /domain to find the password policy of a domain.[7]


PoshC2 can use Get-PassPol to enumerate the domain password policy.[8]


Turla has used net accounts and net accounts /domain to acquire password policy information.[9]


Mitigation Description
Password Policies

Ensure only valid password filters are registered. Filter DLLs must be present in Windows installation directory (C:\Windows\System32\ by default) of a domain controller and/or local computer with a corresponding entry in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages. [10]


Monitor processes for tools and command line arguments that may indicate they're being used for password policy discovery. Correlate that activity with other suspicious activity from the originating system to reduce potential false positives from valid user or administrator activity. Adversaries will likely attempt to find the password policy early in an operation and the activity is likely to happen with other Discovery activity.