Password Policy Discovery T1201

Tactic: 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).

Events covered

12 catalog events are tagged with this technique by at least one rule.

Authoring guide

These 32 rules share fields, values, and exclusions.

Fields filtered most (41 distinct)

These fields appear most often in rule filters.

FieldRulesHowSample values
CommandLine8contains 7, regex_match 1 --local-auth, -H , -H 'NTHASH', accounts, group
ScriptBlockText7contains 4, in 3, eq 2*Get-ADDefaultDomainPasswordPolicy*, *Get-ADUserResultantPasswordPolicy*, *Get-DomainPolicy*, .GetGPOReport(), .MaxPasswordAge
EventID6eq 64104, 4799, DeleteAccountPasswordPolicy, UpdateAccountPasswordPolicy
process_basename5eq 5, starts_with 2cmd.exe, powershell*, LogonSessions.exe, PsGetSID.exe, PsLoggedOn.exe
OriginalFileName4eq 4net1.exe, net.exe, Cmd.Exe, PowerShell.EXE, powershell_ise.EXE
event.category4eq 4process, LOGIN
Image3ends_with 3\net.exe, \net1.exe, \crackmapexec.exe
aws::eventName3in 2, eq 1GetAccountPasswordPolicy, UpdateAccountPasswordPolicy, ConsoleLogin, DeleteAccountPasswordPolicy, PutAccountPasswordPolicy
ObjectServer2eq 2Security Account Manager
aws::userAgent2eq 1, regex_match 1(azure|sharp|blood)(hound)/.*, Mozilla/5.0 (Windows NT 10.0; Win64; x64)...
data_stream.dataset2eq 1, in 1azure.activitylogs, azure.auditlogs, azure.graphactivitylogs, azure.signinlogs, o365.audit
process.Ext.api.name2eq 2ldap_search
process.Ext.api.parameters.search_filter2wildcard 2, contains 1(&(objectCategory=Computer)(!userAccountControl:1.2.840.1..., (&(objectCategory=person)(objectClass=user)(!(userAccount..., (&(objectCategory=person)(objectClass=user)(directReports..., *(pwdlastset>=*(operatingSystem=*windows*)), *msDS-PasswordSettings*
sourcetype2eq 2aws:cloudtrail
user.id2ne 2S-1-5-18

Top indicator values (309 distinct)

These values appear most often in rule predicates.

FieldKindValueRules (here)Corpus reach
EventIDeq
4104
4269
process_basenameeq
cmd.exe
4122
process_basenameeq
net1.exe
240
event.categoryeq
process
3105
CommandLinecontains
*accounts*
22
CommandLinecontains
--local-auth
1
CommandLinecontains
-H
1
CommandLinecontains
-H 'NTHASH'
1
CommandLinecontains
-M
12
CommandLinecontains
-M pe_inject
1
CommandLinecontains
-d
18
CommandLinecontains
-o
14
CommandLinecontains
-p
112
CommandLinecontains
-u
16
CommandLinecontains
-x
12
CommandLinecontains
10.
13
CommandLinecontains
192.168.
13
CommandLinecontains
accounts
1
CommandLinecontains
group
12
Imageends_with
\net.exe
249
Imageends_with
\net1.exe
247
ObjectServereq
Security Account Manager
27
OriginalFileNameeq
net1.exe
239
ScriptBlockTextcontains
*Get-ADDefaultDomainPasswordPolicy*
22
ScriptBlockTextin
Get-ADDefaultDomainPasswordPolicy
22
process.Ext.api.nameeq
ldap_search
214
process_basenamestarts_with
powershell*
25
sourcetypeeq
aws:cloudtrail
259
user.idne
S-1-5-18
237
AccessListcontains
%%5392
12

Exclusions (39 distinct)

These values appear most often in top-level exclusions.

FieldKindValueRules excluding
Imagewildcard
?:\Program Files\Azure Advanced Threat Protection Sensor\*\Microsoft.Tri.Sensor.exe
2
Imagewildcard
?:\Windows\ADFS\Microsoft.IdentityServer.ServiceHost.exe
2
Imagewildcard
?:\Windows\ADWS\Microsoft.ActiveDirectory.WebServices.exe
2
Imagewildcard
?:\Program Files (x86)\Trend Micro\Security Agent\PccNTMon.exe
1
Imagewildcard
?:\Program Files\Microsoft SQL Server\MSSQL??.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
1
user.ideq
S-1-5-18
2
CommandLinein
*/FORCELOGOFF*
1
CommandLinein
*/MAXPWAGE*
1
CommandLinein
*/MINPWAGE*
1
CommandLinein
*/MINPWLEN*
1
CommandLinein
*/UNIQUEPW*
1
ScriptBlockTexteq
# Copyright: (c) 2018, Ansible Project
1
ScriptBlockTexteq
#AnsibleRequires -CSharpUtil Ansible.Basic
1
ScriptBlockTexteq
#Requires -Module Ansible.ModuleUtils.AddType
1
ScriptBlockTexteq
43c15630-959c-49e4-a977-758c5cc93408
1

Rules under this technique

These vendors publish rules tagged with this technique.

Platform (all)
Domain (all)

Sigma 8 rules

Elastic 8 rules

Splunk 11 rules

Kusto 2 rules

YARA-L 1 rule

Panther 2 rules