ATT&CK coverage › Technique

Unsecured Credentials: Credentials In Files T1552.001

Adversaries may search local file systems and remote file shares for files containing insecurely stored credentials. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords.

Events covered

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

ProviderEvent IDTitle
Sysmon1Process creation
Sysmon11FileCreate
Security-Auditing4663An attempt was made to access an object.
Security-Auditing4688A new process has been created.
PowerShell4104Creating Scriptblock text (MessageNumber of MessageTotal).

Authoring guide

Patterns shared across the 14 rules above: which fields they filter on, what specific values they look for, and what they exclude. Field names are normalized across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (8 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
CommandLine7match 7findstr, /si , /b , dir , WinPwn
OriginalFileName3eq 3FINDSTR.EXE
Image3ends_with 3findstr.exe, \trufflehog.exe
ScriptBlockText2match 2ls, -Pattern , -R, WinPwn , WinPwn.exe
TargetFilename2match 1, eq 1, in 1\SAM-2022-, C:\windows\temp\sam, \hive_sam_, "*FileZilla\\sitemanager.xml*", "*FileZilla\\recentservers.xml*"
EventID2eq 24663
file_name1in 1"contents.json", "actionsSecrets.json", "cloud.json"
ObjectName1eq 1"*Software\\microsoft\\Internet...

Top indicator values (75 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique.

FieldKindValueRules (here)Corpus reach
OriginalFileNameeqFINDSTR.EXE310
CommandLinematchfindstr33
Imageends_withfindstr.exe22
EventIDeq4663216
CommandLinematch /b 1
CommandLinematch.txt17
CommandLinematch.xlsx1
CommandLinematch.docx1
CommandLinematch /si 1
CommandLinematchdir 14
CommandLinematch.pdf13
CommandLinematch.doc14
CommandLinematch.pptx1
CommandLinematch.rtf12
CommandLinematch.xls14
CommandLinematch /s 13
CommandLinematch /e 1
CommandLinematch.ppt14
ScriptBlockTextmatchls12
ScriptBlockTextmatch -R1

Common exclusions (7 distinct)

Field/operator/value combinations that rules under this technique routinely exclude (top-level not() clauses). These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths.

FieldKindValueRules excluding
process_namein"C:\\Program Files (x86)\\Microsoft OneDrive\\OneDrive.exe"1
process_namein"C:\\Program Files\\Microsoft OneDrive\\OneDrive.exe"1
process_namein"C:\\Program Files\\FileZilla FTP Client\\filezilla.exe"1
process_namein"C:\Program Files (x86)\\FileZilla FTP Client\\filezilla.exe"1
process_namein"C:\\Program Files\\Internet Explorer\\iexplore.exe"1
process_namein"C:\\Windows\\System32\\dllhost.exe"1
process_namein"C:\\Windows\\SysWow64\\dllhost.exe"1

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Sigma 10 rules

Splunk 3 rules

Kusto Query Language 1 rule