Password Policy Discovery

Adversaries may attempt to access detailed information about the password policy used within an enterprise network or cloud environment. Password policies are a way to enforce complex passwords that are difficult to guess or crack through Brute Force. This information may 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].

Password policies can be discovered in cloud environments using available APIs such as GetAccountPasswordPolicy in AWS [3].

ID: T1201
Sub-techniques:  No sub-techniques
Tactic: Discovery
Platforms: IaaS, Linux, Windows, macOS
Permissions Required: User
Contributors: Isif Ibrahima; Regina Elwell; Sudhanshu Chauhan, @Sudhanshu_C
Version: 1.3
Created: 18 April 2018
Last Modified: 26 July 2021
Provided by LAYER 8

Procedure Examples

ID Name Description
S0521 BloodHound

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

G0114 Chimera

Chimera has used the NtdsAudit utility to collect information related to accounts and passwords.[5]

S0488 CrackMapExec

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

S0236 Kwampirs

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

S0039 Net

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

G0049 OilRig

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

S0378 PoshC2

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

G0010 Turla

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

Mitigations

ID Mitigation Description
M1027 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. [12]

Detection

ID Data Source Data Component
DS0017 Command Command Execution
DS0009 Process Process Creation
DS0002 User Account User Account Metadata

Monitor logs and 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.

References