Created a local account on victim machines to maintain access.1
- Tactic
- Persistence
- Platforms
- Containers, ESXi, Linux, macOS, Network Devices, Windows
- Version
- 1.5
- Created
- 28 January 2020
- Last modified
- 12 May 2026
- Contributor
- Austin Clark, @c2defense
Adversaries may create a local account to maintain access to victim systems. Local accounts are those configured by an organization for use by users, remote support, services, or for administration on a single system or service.
Local Account MITRE reference T1136.001
14 groups have been recorded using this technique. Newest first; each entry carries MITRE’s procedure text and a link to the group’s full record. Click a name to filter the rules below.
Has created Local Administrator accounts to maintain access to systems with short-cycle credential rotation.1
Has created MS-SQL local accounts in a compromised network.1
Has created local privileged users on victim machines.1
Has created local system accounts and has added the accounts to privileged groups.1
Has created a local user account with administrator privileges.1
All 14 groups for this technique · 6 newest in this preview
1 campaign has been recorded using this technique. Listed newest first; dates are year-granularity and attribution is MITRE’s.
During the Anthropic AI-orchestrated Campaign, the adversary used Claude Code to create a local backdoor account to maintain access.1
All 1 campaigns for this technique
15 software entries are documented implementing this technique. MITRE files each as a tool or as malware; newest first, then by how many groups carry them.
Creates a local user account, SafeMode, via net user commands.1
Has created user accounts.1
Has created a user named “monerodaemon”.1
Can create new users on an infected system.1
Has a feature to create local user accounts.1
Creates a user account as a means to provide initial persistence to the compromised machine.1
All 15 software entries for this technique · 6 newest in this preview
Offense vs defense T1136.001
Is defensive coverage keeping up with adversary use? Eight counts, each ranked against all 697 ATT&CK techniques. Attack sits left, defense right, so a shape leaning left means adversaries are better documented here than defenders are equipped. Hover any spoke for its percentile and the share of techniques that have more. The timeline below shows when each side arrived.
How it got here
Adversary activity (campaign spans) over cumulative rule output. Each source is plotted independently from zero, so neither line includes the other. Campaign dates are year-granularity.
Local Account detection strategy DET0447
MITRE names one behaviour worth catching for this technique and breaks it into 6 analytics, one per platform. Each carries the log sources it needs and the fields you tune per environment.
T1136.001 Detection Strategy - Local Account Creation Across Platforms
AN1235 · Windows
Adversary uses built-in tools like 'net user /add', PowerShell, or WMI to create a local user. Sequence: Account creation event (4720) follows process creation of a suspicious executable (e.g., powershell.exe or net.exe).
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| User Account CreationDC0014 | WinEventLog:Security | EventCode=4720 |
| Process CreationDC0032 | WinEventLog:Sysmon | EventCode=1 |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| ParentProcessName | Attackers may use cmd.exe, wscript.exe, or renamed binaries to evade detection |
| TimeWindow | Define time threshold between process start and user creation event (e.g., 5s–2m) |
| UserContext | Correlate if process runs under SYSTEM, Administrator, or untrusted account |
AN1236 · Linux
Local user accounts are created via binaries like 'useradd', 'adduser', or by editing passwd/shadow. Behavior chain includes execution of user management binaries or modification of user database files.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| User Account CreationDC0014 | auditd:SYSCALL | useradd or adduser executed |
| File ModificationDC0061 | auditd:SYSCALL | write operation on /etc/passwd or /etc/shadow |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| BinaryPath | Account creation may be scripted via shell scripts, cron jobs, or remote shells |
| ExecutionSource | Flag if commands are issued from remote sessions (e.g., sshd) |
AN1237 · macOS
Account creation using 'dscl -create' or via GUI tools. Detection involves command execution and file changes to the local directory services database.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| File ModificationDC0061 | macos:unifiedlog | modification to /var/db/dslocal/nodes/Default/users/ |
| Command ExecutionDC0064 | macos:unifiedlog | dscl -create |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| UsernamePattern | Accounts like 'svc*', 'backup*' may blend into legit naming patterns |
| SessionOrigin | Identify if dscl was run locally, via ARD, or Terminal.app |
AN1238 · ESXi
Account created using esxcli commands. Sequence includes esxcli execution and successful modification to account DB.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Command ExecutionDC0064 | esxi:vmkernel | esxcli system account add |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| CommandOrigin | Console sessions vs SSH vs vSphere CLI session may affect alert fidelity |
AN1239 · Containers
Account created in a running container (e.g., via 'useradd' or by modifying /etc/passwd directly). Detectable via runtime telemetry (e.g., Falco or eBPF hooks).
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| Command ExecutionDC0064 | ebpf:syscalls | useradd or /etc/passwd modified inside container |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| ContainerContext | Distinguish between ephemeral containers and long-lived service containers |
| NamespaceScope | Determine if account was added inside host, user, or PID namespace |
AN1240 · Network Devices
Account created via CLI using 'username' command or REST API. Detectable through AAA logging or CLI history telemetry.
Log sources
The data this analytic draws on. You do not need every component — each one you already collect covers part of it. Each links to its ATT&CK record.
| Data component | Name | Channel |
|---|---|---|
| User Account CreationDC0014 | networkdevice:syslog | username <user> privilege <level> |
Tunable fields
MITRE calls these the analytic’s mutable elements: the thresholds and filters you set for your own environment.
| Field | What you tune |
|---|---|
| PrivilegeLevel | Some devices allow unprivileged user creation—adjust based on role risk |
| RemoteSessionFlag | Creation via Telnet, SSH, or serial console affects detection priority |
This search looks for the creation of local administrator accounts using net.exe.
D3FEND techniques
The defensive countermeasure this analytic implements, in MITRE’s D3FEND ontology.
| ID | Name |
|---|---|
| D3-PSA | Process Spawn Analysis |
Data model references
The CAR data model objects, actions and fields the logic reads. Map these to your own schema before implementing.
| Object | Action | Field |
|---|---|---|
| process | create | exe |
| process | create | command_line |
Implementations
Pseudocode is the canonical logic; the rest are CAR’s translations into vendor query languages.
Pseudocode implementation of the Splunk search below
processes = search Process:Create certutil_downloads = filter processes where ( (exe = C:\Windows\System32\net.exe OR exe = C:\Windows\System32\net1.exe ) AND (command_line = *localgroup* OR command_line = */add* OR command_line = *user* )) output certutil_downloads
You must be ingesting data that records process activity from your hosts to populate the Endpoint data model in the Processes node. You must also be ingesting logs with both the process name and command line from your endpoints. The command-line arguments are mapped to the "process" field in the Endpoint data model.
| tstats count values(Processes.user) as user values(Processes.parent_process) as parent_process min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where (Processes.process_name=net.exe OR Processes.process_name=net1.exe) AND (Processes.process=*localgroup* OR Processes.process=*/add* OR Processes.process=*user*) by Processes.process Processes.process_name Processes.dest |`create_local_admin_accounts_using_net_exe_filter`
Unit tests
CAR’s own validation procedures for this analytic.
Replay the detection [dataset](https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1136.001/atomic_red_team/windows-security.log) using the Splunk attack range with the commands below
["python attack_range.py replay -dn data_dump [--dump NAME_OF_DUMP]"]
execute the atomic test [T1136.001](https://github.com/redcanaryco/atomic-red-team/tree/master/atomics/T1136.001) against a Windows target.
["Invoke-AtomicTest T1136.001"]
Use multi-factor authentication for user and privileged accounts.
Limit the number of accounts permitted to create other accounts. Limit the usage of local administrator accounts to be used for day-to-day operations that may expose them to potential adversaries.
Tests from Atomic Red Team (MIT licence) · technique definition