Password Policies
- ID
- M1027
- Source
- attack.mitre.org
- MITRE last modified
- 19 Dec 2024
Set and enforce secure password policies for accounts to reduce the likelihood of unauthorized access. Strong password policies include enforcing password complexity, requiring regular password changes, and preventing password reuse. This mitigation can be implemented through the following measures:
Windows Systems:
- Use Group Policy Management Console (GPMC) to configure:
- Minimum password length (e.g., 12+ characters).
- Password complexity requirements.
- Password history (e.g., disallow last 24 passwords).
- Account lockout duration and thresholds.
Linux Systems:
- Configure Pluggable Authentication Modules (PAM):
- Use pam_pwquality to enforce complexity and length requirements.
- Implement pam_tally2 or pam_faillock for account lockouts.
- Use pwunconv to disable password reuse.
Password Managers:
- Enforce usage of enterprise password managers (e.g., Bitwarden, 1Password, LastPass) to generate and store strong passwords.
Password Blacklisting:
- Use tools like Have I Been Pwned password checks or NIST-based blacklist solutions to prevent users from setting compromised passwords.
Regular Auditing:
- Periodically audit password policies and account configurations to ensure compliance using tools like LAPS (Local Admin Password Solution) and vulnerability scanners.
*Tools for Implementation*
Windows:
- Group Policy Management Console (GPMC): Enforce password policies.
- Microsoft Local Administrator Password Solution (LAPS): Enforce random, unique admin passwords.
Linux/macOS:
- PAM Modules (pam_pwquality, pam_tally2, pam_faillock): Enforce password rules.
- Lynis: Audit password policies and system configurations.
Cross-Platform:
- Password Managers (Bitwarden, 1Password, KeePass): Manage and enforce strong passwords.
- Have I Been Pwned API: Prevent the use of breached passwords.
- NIST SP 800-63B compliant tools: Enforce password guidelines and blacklisting.
Techniques addressed (47)
- T1003 OS Credential Dumping
- T1003.001 LSASS Memory
- T1003.002 Security Account Manager
- T1003.003 NTDS
- T1003.004 LSA Secrets
- T1003.005 Cached Domain Credentials
- T1003.006 DCSync
- T1003.007 Proc Filesystem
- T1003.008 /etc/passwd and /etc/shadow
- T1021 Remote Services
- T1021.002 SMB/Windows Admin Shares
- T1072 Software Deployment Tools
- T1078 Valid Accounts
- T1078.001 Default Accounts
- T1078.002 Domain Accounts
- T1078.003 Local Accounts
- T1078.004 Cloud Accounts
- T1110 Brute Force
- T1110.001 Password Guessing
- T1110.002 Password Cracking
- T1110.003 Password Spraying
- T1110.004 Credential Stuffing
- T1187 Forced Authentication
- T1201 Password Policy Discovery
- T1550 Use Alternate Authentication Material
- T1550.003 Pass the Ticket
- T1552 Unsecured Credentials
- T1552.001 Credentials In Files
- T1552.002 Credentials in Registry
- T1552.004 Private Keys
- T1555 Credentials from Password Stores
- T1555.001 Keychain
- T1555.003 Credentials from Web Browsers
- T1555.005 Password Managers
- T1556 Modify Authentication Process
- T1556.005 Reversible Encryption
- T1558 Steal or Forge Kerberos Tickets
- T1558.002 Silver Ticket
- T1558.003 Kerberoasting
- T1558.004 AS-REP Roasting
- T1563 Remote Service Session Hijacking
- T1563.001 SSH Hijacking
- T1599 Network Boundary Bridging
- T1599.001 Network Address Translation Traversal
- T1601 Modify System Image
- T1601.001 Patch System Image
- T1601.002 Downgrade System Image
