Unsecured credentials
Plaintext secrets in config files, scripts, registry, history or Group Policy Preferences
Detection opportunity what to watch for
A benign emulation of this technique’s linchpin behaviour — the command an attacker runs, and where we’ve detonated it in the lab, exactly what the SIEM saw, what caught it, and what it missed.
What the attacker runs
sudo /opt/lab/detonate.sh --technique T1552.001 --tool atomic --run-id <run-id> -- pwsh -c 'Import-Module invoke-atomicredteam; Invoke-AtomicTest T1552.001 -TestGuids a11f22fb-a037-4cc2-bcfc-a133b287aa1b -PathToAtomicsFolder /opt/AtomicRedTeam/atomics -TimeoutSeconds 120'sudo /opt/lab/detonate.sh --technique T1552.001 --tool atomic --run-id run-2026-10-20-003 -- pwsh -c 'Import-Module invoke-atomicredteam; Invoke-AtomicTest T1552.001 -TestGuids a11f22fb-a037-4cc2-bcfc-a133b287aa1b -PathToAtomicsFolder /opt/AtomicRedTeam/atomics -TimeoutSeconds 120'sudo /opt/lab/detonate.sh --technique T1552.001 --tool atomic --run-id run-2026-10-27-029 -- pwsh -c 'Import-Module invoke-atomicredteam; Invoke-AtomicTest T1552.001 -TestGuids a11f22fb-a037-4cc2-bcfc-a133b287aa1b -PathToAtomicsFolder /opt/AtomicRedTeam/atomics -TimeoutSeconds 120'+ 14 more test variant(s) in the corpus.
What our lab measured
Detection that fired
- ✓ Wazuh
100430(level 6) lab rule — Credential-bearing file read via a shell reader (cat/grep/tail/... of a secrets/config file) -- unsecured credentials in files -- T1552.001 - ✓ Wazuh
100431(level 5) lab rule — Filesystem search tool (grep/find) executed -- possible unsecured-credential discovery -- T1552.003
Plus 1 stock Wazuh/Sysmon rule(s) in the window.
Background noise in the window: ~300 incidental alerts/hour — tune against this.
Detection that fired
- ✓ Wazuh
100431(level 5) lab rule — Filesystem search tool (grep/find) executed -- possible unsecured-credential discovery -- T1552.003
Plus 3 stock Wazuh/Sysmon rule(s) in the window.
Background noise in the window: ~194 incidental alerts/hour — tune against this.
Classification
41 values: 8 reviewed, 3 lab-measured, 24 imported, 6 derived. What do these mean?
Exploitability
| Attack vector | Credential attacks |
|---|---|
| Reach (CVSS) | Local |
| Attack complexity | Low |
| Privileges required | Low |
| User interaction | None |
| Attacker skill required | High |
| Resources required | Low |
| Likelihood / prevalence | Medium |
| Maturity | Commoditized |
Impact & scope
| Severity | High |
|---|---|
| Impact | Confidentiality |
| Platform | ContainersIaaSLinuxmacOSNetwork DevicesOffice SuiteSaaSWindows |
| Environment | CloudOn-premises |
| Target asset class | Identity |
| Kill-chain phase (tactic) | Credential Access |
Detection & telemetry
| Detectability (measured in our lab) | High |
|---|---|
| Detectability (public detection content) | High |
| Noise level | High |
| Testability | Atomic Red Team test |
| Data sources (ATT&CK data components) | Application Log ContentCommand ExecutionFile AccessFile CreationLogon Session CreationNetwork Connection CreationNetwork Traffic ContentProcess CreationScript ExecutionUser Account AuthenticationWindows Registry Key AccessWindows Registry Key Modification |
Detection & response
Mitigated by 41
- M1015 attack-mitigation
- M1017 attack-mitigation
- M1018 attack-mitigation
- M1022 attack-mitigation
- M1026 attack-mitigation
- M1027 attack-mitigation
- M1028 attack-mitigation
- M1030 attack-mitigation
- M1035 attack-mitigation
- M1037 attack-mitigation
- M1041 attack-mitigation
- M1042 attack-mitigation
- M1047 attack-mitigation
- M1051 attack-mitigation
D3-AMd3fendD3-ANCId3fendD3-CCSAd3fendD3-CFd3fendD3-CHd3fendD3-CId3fendD3-CMd3fendD3-CQd3fendD3-CRd3fendD3-CROd3fendD3-CTSd3fendD3-DFd3fendD3-DId3fendD3-DUCd3fendD3-FAd3fendD3-FEd3fendD3-FEVd3fendD3-FIMd3fendD3-LFPd3fendD3-MFAd3fendD3-NTPMd3fendD3-RCd3fendD3-RDd3fendD3-RFd3fendD3-RFAMd3fendD3-RICd3fend- … and 1 more in the database
Detected by 60
- DET0001 attack-detection-strategy
- DET0111 attack-detection-strategy
- DET0198 attack-detection-strategy
- DET0250 attack-detection-strategy
- DET0307 attack-detection-strategy
- DET0381 attack-detection-strategy
- DET0385 attack-detection-strategy
- DET0549 attack-detection-strategy
04936b66-3915-43ad-a8e5-809eadfd1141sigma05f3c945-dcc8-4393-9f3d-af65077a8f86sigma0aba5685-6db6-486f-88ef-29a99c545cfdsigma0cf7a157-8879-41a2-8f55-388dd23746b7sigma1a0f6f16-2099-4753-9a02-43b6ac7a1fa5sigma1f978c6a-4415-47fb-aca5-736a44d7ca3dsigma213d6a77-3d55-4ce8-ba74-fcfef741974esigma3b2c1059-ae5f-40b6-b5d4-6106d3ac20fesigma44030449-b0df-4c94-aae1-502359ab28eesigma459a2970-bb84-4e6a-a32e-ff0fbd99448dsigma47e4bab7-c626-47dc-967b-255608c9a920sigma508a9374-ad52-4789-b568-fc358def2c65sigma53b1b378-9b06-4992-b972-dde6e423d2b4sigma587254ee-a24b-4335-b3cd-065c0f1f4baasigma68fcba0d-73a5-475e-a915-e8b4c576827esigma6ad91e31-53df-4826-bd27-0166171c8040sigma6d3a3952-6530-44a3-8554-cf17c116c615sigma6ea858a8-ba71-4a12-b2cc-5d83312404c7sigma76a26006-0942-430b-8249-bd51d448f8e5sigma7892ec59-c5bb-496d-8968-e5d210ca3ac4sigma80eeab92-0979-4152-942d-96749e11df40sigma8344c19f-a023-45ff-ad63-a01c5396aea0sigma851fd622-b675-4d26-b803-14bc7baa517asigma87a476dc-0079-4583-a985-dee7a20a03desigma91a2c315-9ee6-4052-a853-6f6a8238f90dsigma9e716b33-63b2-46da-86a4-bd3c3b9b5dfbsigmaa61a3c56-4ce2-4351-a079-88ae4cbd2b58sigmaaa7a3fce-bef5-4311-9cc1-5f04bb8c308csigmab094d9fb-b1ad-4650-9f1a-fb7be9f1d34bsigmab2815d0d-7481-4bf0-9b6c-a4c48a94b349sigmab831353c-1971-477b-abb6-2828edc3bca1sigmab83f5166-9237-4b5e-9cd4-7b5d52f4d8eesigma- … and 20 more in the database
Tested by 63
00e3e3c7-6c3c-455e-bd4b-461c7f0e7797atomic0d4f2281-f720-4572-adc8-d5bb1618affeatomic0e56bf29-ff49-4ea5-9af4-3b81283fd513atomic114dd4e3-8d1c-4ea7-bb8d-8d8f6aca21f0atomic12e4a260-a7fd-4ed8-bf18-1a28c1395775atomic14575d1f-16b3-4a0b-8986-540e42e6a6ccatomic18318786-e0c0-4bdf-979f-f022e6f5f2efatomic290df60e-4b5d-4a5e-b0c7-dc5348ea0c86atomic2951c09f-b4f9-4248-ba75-6373709ebd55atomic2a24627b-061b-43e6-bece-a5b0638841ddatomic2a5a0601-f5fb-4e2e-aa09-73282ae6afcaatomic31e794c4-48fd-4a76-aca4-6587c155bc11atomic336b25bf-4514-4684-8924-474974f28137atomic367d4004-5fc0-446d-823f-960c74ae52c3atomic37807632-d3da-442e-8c2e-00f44928ff8fatomic3cfde62b-7c33-4b26-a61e-755d6131c8ceatomic42c55554-3dcb-4df6-8fbb-c8ccacc478d4atomic43c3a49d-d15c-45e6-b303-f6e177e44a9aatomic46959285-906d-40fa-9437-5a439accd878atomic51cde30c-0311-449a-8e15-542b59f95939atomic520ce462-7ca7-441e-b5a5-f8347f632696atomic5312c7c3-775b-4437-a8b0-914b30cfebd4atomic5a668739-3a2f-4265-895f-c0e1e0b09eaaatomic5e417277-0ae7-4ad5-a3e8-0fa27c122b29atomic75f66e03-37d3-4704-9520-3210efbe33ceatomic7617f689-bbd8-44bc-adcd-6f8968897848atomic788e0019-a483-45da-bcfe-96353d46820fatomic78b274f8-acb0-428b-b1f7-7b0d0e73330aatomic78e95057-d429-4e66-8f82-0f060c1ac96fatomic7c247dc7-5128-4643-907b-73a76d9135c3atomic864bb0b2-6bb5-489a-b43b-a77b3a16d68aatomic870fe8fb-5e23-4f5f-b89d-dd7fe26f3b5fatomic8f2765a8-e795-438b-a102-5e25a7adcce1atomic922b1080-0b95-42b0-9585-b9a5ea0af044atomic98618067-a2c7-4d4b-9c89-403a90f43656atomic9d9c22c9-fa97-4008-a204-478cf68c40afatomic9e507bb8-1d30-4e3b-a49b-cb5727d7ea79atomica11f22fb-a037-4cc2-bcfc-a133b287aa1batomica8f6148d-478a-4f43-bc62-5efee9f931a4atomicaa12eb29-2dbb-414e-8b20-33d34af93543atomic- … and 23 more in the database
Attack relationships
- Parent: API key / secret leakage
- Parent: CI/CD credential hygiene failures
Lab findings
Measured in the isolated detection lab (Wazuh / Sysmon / auditd). Each run detonates a benign emulation of the technique and grades what the SIEM saw.
| Run | Outcome | Tool | Platform | Ran at |
|---|---|---|---|---|
run-2026-10-20-003 | partially-detected | atomic | linux | 2026-10-20 |
run-2026-10-20-004 | partially-detected | atomic | linux | 2026-10-20 |
run-2026-10-20-011 | partially-detected | atomic | windows | 2026-10-20 |
run-2026-10-25-001 | partially-detected | atomic | windows | 2026-10-25 |
run-2026-10-26-001 | detected | atomic | windows | 2026-10-26 |
run-2026-10-27-024 | detected | atomic | windows | 2026-10-27 |
run-2026-10-27-029 | partially-detected | atomic | linux | 2026-10-27 |
run-2026-10-27-030 | partially-detected | atomic | linux | 2026-10-27 |
run-2026-10-28-020 | detected | atomic | windows | 2026-10-28 |
run-2026-10-28-023 | partially-detected | atomic | linux | 2026-10-28 |
run-2026-10-28-024 | partially-detected | atomic | linux | 2026-10-28 |
run-2026-10-28-050 | detected | atomic | linux | 2026-10-28 |
run-2026-10-28-057 | detected | atomic | linux | 2026-10-28 |
run-2026-10-20-003— Backlog detectability-baseline probe (priority 5, 2 corpus attack(s); atomic_tests=32). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.001 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: MITRE documents a detection strategy.; expected=0 incidental=5 max_level=3 dwell_s=90run-2026-10-20-004— Backlog detectability-baseline probe (priority 5, 1 corpus attack(s); atomic_tests=4). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.003 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: MITRE documents a detection strategy.; expected=0 incidental=5 max_level=3 dwell_s=90run-2026-10-20-011— Backlog detectability-baseline probe (priority 5, 1 corpus attack(s); atomic_tests=2). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.002 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: MITRE documents a detection strategy.; expected=0 incidental=2712 max_level=15 dwell_s=90run-2026-10-25-001— Firing-proof re-detonation for deployed rule 100409. Rule matches reg.exe + query + (/f password-keyword paired with /t REG_SZ, or the PuTTY Sessions key). Proving the deployed regex fires on the live manager via a real agent->manager->indexer round-trip (logtest is eventchannel-blind).; expected=0 incidental=1810 max_level=15 dwell_s=90run-2026-10-26-001— Expect 100411 (Security 4688 arm, if_sid 67027) to land in the indexer bundle (_source.rule.id). Also check the benign-window FP measurement does NOT contain 100404 (the double-backslash FP regression). 100409 is expected NOT to fire (no Sysmon EID1).; expected=2 incidental=1778 max_level=15 dwell_s=90run-2026-10-27-024— Backlog detectability-baseline probe (priority 7, 1 corpus attack(s); atomic_tests=2). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.002 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: bearing attack reads blind (detectability none/low); MITRE documents a detection strategy.; expected=2 incidental=1810 max_level=15 dwell_s=90run-2026-10-27-029— Backlog detectability-baseline probe (priority 7, 2 corpus attack(s); atomic_tests=32). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.001 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: bearing attack reads blind (detectability none/low); MITRE documents a detection strategy.; expected=0 incidental=5 max_level=3 dwell_s=90run-2026-10-27-030— Backlog detectability-baseline probe (priority 7, 1 corpus attack(s); atomic_tests=4). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.003 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: bearing attack reads blind (detectability none/low); MITRE documents a detection strategy.; expected=0 incidental=5 max_level=3 dwell_s=90run-2026-10-28-020— Backlog detectability-baseline probe (priority 7, 1 corpus attack(s); atomic_tests=2). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.002 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: bearing attack reads blind (detectability none/low); MITRE documents a detection strategy.; expected=2 incidental=1721 max_level=15 dwell_s=90run-2026-10-28-023— Backlog detectability-baseline probe (priority 7, 2 corpus attack(s); atomic_tests=32). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.001 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: bearing attack reads blind (detectability none/low); MITRE documents a detection strategy.; expected=0 incidental=5 max_level=3 dwell_s=90run-2026-10-28-024— Backlog detectability-baseline probe (priority 7, 1 corpus attack(s); atomic_tests=4). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.003 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: bearing attack reads blind (detectability none/low); MITRE documents a detection strategy.; expected=0 incidental=5 max_level=3 dwell_s=90run-2026-10-28-050— Backlog detectability-baseline probe (priority 7, 1 corpus attack(s); atomic_tests=4). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.003 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: bearing attack reads blind (detectability none/low); MITRE documents a detection strategy.; expected=1 incidental=5 max_level=5 dwell_s=90run-2026-10-28-057— Backlog detectability-baseline probe (priority 7, 2 corpus attack(s); atomic_tests=32). No lab analytic covers this technique yet, so expected_wazuh_rules is empty and the grade is the true measured detectability: a bundled rule tagged T1552.001 firing is a real 'detected', nothing firing is a real coverage gap for the detection loop. Signals: bearing attack reads blind (detectability none/low); MITRE documents a detection strategy.; expected=1 incidental=8 max_level=6 dwell_s=90
Framework references
- Primary source: https://attack.mitre.org/tactics/TA0006/
- attack: T1552.001 (primary)
- attack: T1552.002
- attack: T1552.003
- attack: T1552.004
- attack: T1552.005
- attack: T1552.006
- attack: T1552.007
- attack: T1552.008
Evidence & sources
- ev-0001 (Cyber Attack Taxonomy) — Name, definition and Example/ID taken verbatim from the 'Identity, authentication and credential attacks' table, line 339 of Cyber-Attack-Taxonomy.md
- ev-0002 (MITRE Enterprise ATT&CK v19.2 (STIX 2.1)) — ATT&CK usage prevalence: 1 groups/software/campaigns reference this technique (ATT&CK enterprise v19.2)
- ev-0003 (MITRE Enterprise ATT&CK v19.2 (STIX 2.1)) — ATT&CK usage prevalence: 10 groups/software/campaigns reference this technique (ATT&CK enterprise v19.2)
- ev-0004 (MITRE Enterprise ATT&CK v19.2 (STIX 2.1)) — ATT&CK usage prevalence: 2 groups/software/campaigns reference this technique (ATT&CK enterprise v19.2)
- ev-0005 (MITRE Enterprise ATT&CK v19.2 (STIX 2.1)) — ATT&CK usage prevalence: 23 groups/software/campaigns reference this technique (ATT&CK enterprise v19.2)
- ev-0006 (MITRE Enterprise ATT&CK v19.2 (STIX 2.1)) — ATT&CK usage prevalence: 3 groups/software/campaigns reference this technique (ATT&CK enterprise v19.2)
- ev-0007 (MITRE Enterprise ATT&CK v19.2 (STIX 2.1)) — ATT&CK usage prevalence: 41 groups/software/campaigns reference this technique (ATT&CK enterprise v19.2)
- ev-0008 (MITRE Enterprise ATT&CK v19.2 (STIX 2.1)) — ATT&CK usage prevalence: 5 groups/software/campaigns reference this technique (ATT&CK enterprise v19.2)
- ev-0009 (MITRE Enterprise ATT&CK v19.2 (STIX 2.1)) — ATT&CK usage prevalence: 6 groups/software/campaigns reference this technique (ATT&CK enterprise v19.2)
- ev-0010 (Phase 4 detection lab - detonation runs 2026-10-20) — Lab detonation run-2026-10-20-003 (partially-detected) for T1552.001: no alert matched the expected technique
- ev-0011 (Phase 4 detection lab - detonation runs 2026-10-20) — Lab detonation run-2026-10-20-004 (partially-detected) for T1552.003: no alert matched the expected technique
- ev-0012 (Phase 4 detection lab - detonation runs 2026-10-20) — Lab detonation run-2026-10-20-011 (partially-detected) for T1552.002: no alert matched the expected technique
- ev-0013 (Phase 4 detection lab - detonation runs 2026-10-25) — Lab detonation run-2026-10-25-001 (partially-detected) for T1552.002: no alert matched the expected technique
- ev-0014 (Phase 4 detection lab - detonation runs 2026-10-26) — Lab detonation run-2026-10-26-001 (detected): Wazuh rule(s) 100411 fired on T1552.002 within the detonation window
Credential hunting in the registry (Security 4688 arm): reg query recursively searching REG_SZ values for a password keyword, or enumerating saved PuTTY session credentials -- T1552.002
- ev-0015 (Phase 4 detection lab - detonation runs 2026-10-27) — Lab detonation run-2026-10-27-024 (detected): Wazuh rule(s) 100411 fired on T1552.002 within the detonation window
Credential hunting in the registry (Security 4688 arm): reg query recursively searching REG_SZ values for a password keyword, or enumerating saved PuTTY session credentials -- T1552.002
- ev-0016 (Phase 4 detection lab - detonation runs 2026-10-27) — Lab detonation run-2026-10-27-029 (partially-detected) for T1552.001: no alert matched the expected technique
- ev-0017 (Phase 4 detection lab - detonation runs 2026-10-27) — Lab detonation run-2026-10-27-030 (partially-detected) for T1552.003: no alert matched the expected technique
- ev-0018 (Phase 4 detection lab - detonation runs 2026-10-28) — Lab detonation run-2026-10-28-020 (detected): Wazuh rule(s) 100411 fired on T1552.002 within the detonation window
Credential hunting in the registry (Security 4688 arm): reg query recursively searching REG_SZ values for a password keyword, or enumerating saved PuTTY session credentials -- T1552.002
- ev-0019 (Phase 4 detection lab - detonation runs 2026-10-28) — Lab detonation run-2026-10-28-023 (partially-detected) for T1552.001: no alert matched the expected technique
- ev-0020 (Phase 4 detection lab - detonation runs 2026-10-28) — Lab detonation run-2026-10-28-024 (partially-detected) for T1552.003: no alert matched the expected technique
- ev-0021 (Phase 4 detection lab - detonation runs 2026-10-28) — Lab detonation run-2026-10-28-050 (detected): Wazuh rule(s) 100431 fired on T1552.003 within the detonation window
Filesystem search tool (grep/find) executed -- possible unsecured-credential discovery -- T1552.003
- ev-0022 (Phase 4 detection lab - detonation runs 2026-10-28) — Lab detonation run-2026-10-28-057 (detected): Wazuh rule(s) 100430 fired on T1552.001 within the detonation window
Credential-bearing file read via a shell reader (cat/grep/tail/... of a secrets/config file) -- unsecured credentials in files -- T1552.001