Password policy is the most widely deployed control in ATT&CK and one of the most misapplied: the settings that slow guessing and cracking are not the ones most organisations still enforce. MITRE ATT&CK M1027 Password Policies has 47 technique relationships in Enterprise v20, from brute force and Kerberoasting to credential dumping, pass the ticket and unsecured credentials in files. This guide treats M1027 as a control a team implements: which techniques it really affects, how to reconcile ATT&CK's text with the current NIST SP 800-63B-4 rules, how to set policy differently for people, local administrators and service accounts, and how to measure it. It is for identity, Active Directory and detection engineering teams. Policy wording and user communication are in the Password Policy Guide (NIST-aligned); this page stays on the ATT&CK view.
Key takeaways
- Length, uniqueness and blocklists do the work. NIST SP 800-63B-4 requires at least 15 characters for single-factor passwords, a blocklist check on every change, and no composition rules; those settings, not complexity, are what slow T1110 guessing and cracking.
- ATT&CK and NIST disagree on expiry for people. The M1027 text still mentions regular password changes, while NIST says verifiers shall not require periodic changes and shall force a change on evidence of compromise. For human accounts, follow NIST.
- Machine passwords are a different policy. For service accounts, ATT&CK asks for 25 or more characters, periodic expiry and managed service accounts or vaulting, because Kerberoasting cracks them offline where no lockout applies.
- Uniqueness across hosts is half the mapping. T1003 OS Credential Dumping, all eight of its sub-techniques and several lateral movement techniques carry the same usage text: complex, unique local administrator and root passwords on every system.
- Two techniques rely on M1027 alone. In ATT&CK v20, T1201 Password Policy Discovery and T1555.001 Keychain have no other mitigation.
What the control is
ATT&CK describes M1027 as setting and enforcing secure password policies to reduce the likelihood of unauthorised access. Its implementation list covers Windows Group Policy (minimum length, complexity, history, lockout), Linux PAM modules (pam_pwquality for length and complexity, pam_faillock for lockout), enterprise password managers, breached and banned password checks, Windows LAPS for unique local administrator passwords, and regular auditing of policy and account configuration. The ATT&CK text names example products; this guide stays vendor-neutral. On current Linux distributions use pam_faillock, as pam_tally2 has been removed from recent Linux-PAM releases, and pam_pwhistory for reuse checks.
M1027 sits beside three related mitigations: M1032 Multi-factor Authentication, which makes a guessed password insufficient; M1036 Account Use Policies, which covers lockout and logon restrictions; and M1026 Privileged Account Management, which limits what a cracked password unlocks. ATT&CK lists M1027 and M1032 together for most brute force sub-techniques.
Techniques ATT&CK says M1027 mitigates
Counts are computed from the ATT&CK Enterprise v20 STIX data: 47 active relationships, with Credential Access accounting for 29. Persistence, Lateral Movement and Defense Impairment have 7 each, Stealth, Privilege Escalation and Initial Access 5 each, and Execution and Discovery 1 each (a technique with several tactics counts once per tactic). The table groups the relationships by what the usage text actually asks for.
| Policy theme in ATT&CK's usage text | Techniques | What to implement |
|---|---|---|
| Follow NIST guidelines | T1110 Brute Force and all four sub-techniques (.001 Guessing, .002 Cracking, .003 Spraying, .004 Credential Stuffing); T1555.005 Password Managers (master passwords); T1599, T1601 and sub-techniques on network devices | SP 800-63B-4 length, blocklist and rate limiting rules |
| Unique, complex local admin and root passwords | T1003 and .001 to .008; T1021, T1021.002; T1078.003; T1550.003 | Per-host random local administrator and root passwords (LAPS or equivalent) |
| Long, expiring service account passwords | T1558, .002 Silver Ticket, .003 Kerberoasting, .004 AS-REP Roasting | 25+ characters, periodic expiry, group managed service accounts or vaulting |
| Change defaults, limit reuse, rotate keys | T1078, .001 Default Accounts, .002 Domain Accounts, .004 Cloud Accounts; T1072 | No default credentials in production; unique deployment-system credentials; rotate cloud access keys |
| Do not store passwords insecurely | T1552, .001 Credentials In Files, .002 Credentials in Registry, .004 Private Keys; T1555, .001 Keychain, .003 Web Browsers | Policy against passwords in files and registry; strong passphrases on private keys; separate keychain password |
| Disable reversible encryption | T1556, T1556.005 Reversible Encryption | AllowReversiblePasswordEncryption disabled unless an application requires it |
| Strong passwords against offline cracking | T1187 Forced Authentication | Length that makes captured hashes expensive to crack |
| Only valid password filters registered | T1201 Password Policy Discovery | Filter DLLs in System32 with a matching entry in HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Notification Packages |
| Protected SSH keys and sessions | T1563, T1563.001 SSH Hijacking | Passphrase-protected SSH keys; ssh-agent only where properly protected |
Priorities: start with T1110.003 Password Spraying and T1110.004 Credential Stuffing, because they are how most password-based initial access happens and M1027 has direct settings for both. Then T1558.003 Kerberoasting, where service account password length is the only thing standing between a captured ticket and a cracked domain account. Then local administrator uniqueness, which turns one dumped hash into one host instead of every host. For technique depth, see the MITRE ATT&CK T1110 Brute Force Guide, MITRE ATT&CK T1558 Steal or Forge Kerberos Tickets Guide, MITRE ATT&CK T1552 Unsecured Credentials Guide and T1555 Credentials from Password Stores Defensive Guide.
Reconciling ATT&CK with NIST SP 800-63B-4
The M1027 description still lists complexity and regular changes. ATT&CK's brute force usage text points to NIST guidance, and NIST published SP 800-63B-4 as final on 31 July 2025. Where they differ, the NIST rules are the current baseline for human accounts.
| Setting | NIST SP 800-63B-4 (section 3.1.1.2) | Practical setting |
|---|---|---|
| Minimum length | At least 15 characters when the password is a single factor; at least 8 when used only within MFA | 15 for accounts that can sign in with a password alone; never below 8 |
| Maximum length | Should allow at least 64 characters | Allow 64 or more so passphrases and password managers work |
| Composition | Shall not impose other composition rules | Turn off mixed-character requirements where your platform allows it once length and blocklists are in place |
| Expiry | Shall not require periodic changes; shall force a change on evidence of compromise | No scheduled expiry for people; forced reset on breach match or incident |
| Blocklist | Shall check the entire password against commonly used, expected or compromised values at creation and change | Global and organisation-specific banned lists, plus breached password checks. See Breached password checks |
| Failed attempts | Shall limit consecutive failed attempts to no more than 100 | Pair a lower threshold with smart or progressive lockout to avoid denial of service |
| Password managers | Shall allow password managers and autofill; should permit paste | Do not block paste on login forms |
| Hints and security questions | Shall not allow hints accessible to an unauthenticated claimant; shall not prompt for knowledge-based questions | Remove both from self-service flows |
| Storage | Salted and hashed with a suitable password hashing scheme, salt at least 32 bits | Applies to your own applications; disable reversible encryption in Active Directory |
On-premises Active Directory needs a password filter to apply a banned list at change time. Microsoft Entra Password Protection, for example, installs a DC agent with a password filter DLL on every domain controller and evaluates passwords during change and reset against Microsoft's global banned list and a per-tenant custom list. Microsoft states that partial deployment is not secure and that if no policy is available on a domain controller the password is accepted, so coverage of every domain controller is part of the control. Other vendors offer equivalent filters. Because these are LSA plug-ins, test them alongside LSA protection; see M1025 Privileged Process Integrity.
Policies by account type
| Account type | Main ATT&CK techniques | Policy |
|---|---|---|
| Workforce users | T1110.003, T1110.004, T1078.002 | 15+ characters (or 8+ behind MFA), banned and breached checks, no scheduled expiry, MFA (M1032) |
| Administrators | T1078.002, T1078.004, T1110 | As users plus phishing-resistant MFA; a separate admin account with a unique password; see M1026 Privileged Account Management |
| Local administrator and root | T1003.*, T1021.002, T1078.003, T1550.003 | Random, unique per host, managed and rotated by tooling. See the Local Administrator Password Solution (LAPS) Guide |
| Service accounts | T1558.002, T1558.003, T1558.004 | Group managed service accounts where the application supports them (Windows generates and changes the password); otherwise 25+ random characters in a vault with scheduled rotation |
| Default and appliance accounts | T1078.001 | Change before production deployment, as ATT&CK states; inventory by device class |
| Cloud access keys and SSH keys | T1078.004, T1552.004, T1563.001 | Rotate access keys and track their age; passphrases on private keys; prefer short-lived federated credentials |
Where identity fits
The ATT&CK text for Kerberos techniques is effectively a non-human identity policy: long, random, rotated service account passwords, managed by the platform or a vault. Human password guidance (no expiry, memorable passphrases) must not be applied to service accounts, and service account exemptions from lockout and MFA must not be left without a compensating control. See the Group Managed Service Accounts (gMSA) Guide, the Kerberoasting and AS-REP Roasting Defence Guide and Rotating a Windows or Linux Service Account Password.
Rolling out the policy
- Measure first. Audit current hashes against breached and banned lists offline in a controlled process, count service accounts with SPNs and their password age, and count local administrator passwords shared across hosts.
- Deploy the banned list in audit or pilot mode. Run the password filter on a test domain first, then on all domain controllers; confirm every domain controller reports policy.
- Raise minimum length for new passwords. Apply at next change rather than forcing a mass reset; use fine-grained password policies to set stricter rules for administrators and service accounts first.
- Remove scheduled expiry for users only when the banned list, breached password checks and MFA are live; expiry removal without them weakens the control.
- Fix service accounts. Convert to group managed service accounts where possible, rotate the rest to long random values, and disable RC4 for Kerberos where applications allow.
- Disable reversible encryption in the domain policy and on any account that has it set.
- Rollback: length and banned list rules apply only at change, so rolling back is a policy change with no effect on existing passwords; keep a tested exception process for applications that cannot handle long passwords.
What M1027 does not stop
- Phishing and session theft: a strong password typed into a fake page is still stolen; M1032 with phishing-resistant methods is the answer.
- Pass the hash and ticket reuse: once a hash or ticket is stolen, password strength no longer matters for reuse; M1026, M1025 and M1043 reduce exposure.
- Online attacks against exempt accounts: lockout does not apply to accounts excluded from it, and spraying stays under per-account thresholds. The Microsoft Midnight Blizzard breach began with a slow password spray against a legacy test tenant account that had no MFA.
- Reuse outside your control: customers and staff reuse passwords from other breached services. In the 23andMe breach, credential stuffing reached more than 18,000 accounts directly where MFA was optional; breached password checks and mandatory MFA are the controls that address it.
Verifying it works
- Policy state: report effective domain and fine-grained policies, the number of domain controllers running the password filter, and accounts with reversible encryption or password-not-required flags.
- Attack signals: many accounts failing once from one source (spraying), Kerberos service ticket requests for many SPNs from one account, and success after failure sequences. See the Password Spraying and Credential Stuffing Defence Guide.
- Testing: an authorised, periodic offline audit of password hashes against breached lists, run by a small team under change control, shows how many passwords remain guessable.
Metrics: percentage of active accounts whose password matches a breached or banned list; service accounts with SPNs and passwords older than your rotation interval; percentage of service accounts converted to managed accounts; hosts sharing a local administrator password; domain controllers without the password filter; accounts exempt from lockout or MFA without a documented compensating control.
Related D3FEND countermeasures and framework mapping
MITRE D3FEND relates M1027 to D3-SPP Strong Password Policy and D3-OTP One-time Password.
| Framework | Reference | Fit |
|---|---|---|
| NIST SP 800-53 Rev 5 | IA-5 Authenticator Management; IA-5(1) Password-based Authentication; IA-5(18) Password Managers; AC-7 Unsuccessful Logon Attempts | Length, blocklist, storage and lockout rules |
| NIST SP 800-63B-4 | Section 3.1.1.2 Password Verifiers | The current numeric baseline |
| NIST CSF 2.0 | PR.AA-01 identities and credentials managed; PR.AA-03 users, services and hardware authenticated | Credential lifecycle |
| CIS Controls v8.1 | 5.2 Use Unique Passwords | Uniqueness and length |
| ISO/IEC 27001:2022 Annex A | A.5.17 Authentication information; A.8.5 Secure authentication | Allocation and handling of passwords |
Common failure patterns
- Complexity and 90-day expiry instead of length and blocklists. Users produce predictable variations that spraying lists already contain.
- Service accounts on the user policy. Eight-character service account passwords that never change are the main Kerberoasting yield.
- Banned list on some domain controllers only. A password change handled by an uncovered domain controller bypasses the check.
- Exemptions without compensation. Test, legacy and service accounts excluded from MFA and lockout, as in Midnight Blizzard.
- Shared local administrator passwords from imaging. One dumped hash opens every host built from the same image.
- Passwords in scripts and registry. Policy covers what users type but not what automation stores (T1552.001, T1552.002).
Practitioner checklist
- Set 15 characters minimum for single-factor passwords and allow at least 64.
- Deploy a banned and breached password check on every domain controller and identity provider.
- Remove scheduled expiry for people once blocklists and MFA are live; force reset on compromise.
- Apply a separate policy to service accounts: managed accounts, or 25+ random characters in a vault with rotation.
- Give every host a unique, managed local administrator and root password.
- Disable reversible encryption and remove password-not-required flags.
- Change default credentials before any device or application reaches production.
- Ban passwords in files, scripts and registry; scan for them.
- Track the M1027 rows in your ATT&CK coverage tracker, starting with T1110.003, T1110.004 and T1558.003.
Standards and references
- MITRE ATT&CK: M1027 Password Policies
- NIST: SP 800-63B-4 Authentication and Authenticator Management
- NIST CSRC: SP 800-63B-4 publication record
- Microsoft Learn: Enforce Microsoft Entra Password Protection for Windows Server Active Directory
- Microsoft Learn: Group Managed Service Accounts overview
- NIST: SP 800-53 Rev. 5 Security and Privacy Controls
- MITRE D3FEND: Strong Password Policy
Related NHI Mgmt Group resources: Password Policy Guide (NIST-aligned) · Password Spraying and Credential Stuffing Defence Guide · Kerberoasting and AS-REP Roasting Defence Guide · M1032 Multi-factor Authentication · Local Administrator Password Solution (LAPS) Guide