Detect Create Account in Google Chronicle
Adversaries may create an account to maintain access to victim systems. With sufficient privilege, creating accounts establishes secondary credentialed access that does not require persistent remote access tools. Accounts may be created on local systems, within a domain, or in cloud tenants. Threat actors including Indrik Spider (WastedLocker), LockBit 2.0, Scattered Spider, and Salt Typhoon have all used account creation as a persistence mechanism. In cloud environments, attackers may create accounts with access limited to specific services to reduce detection likelihood.
MITRE ATT&CK
- Tactic
- Persistence
- Technique
- T1136 Create Account
- Canonical reference
- https://attack.mitre.org/techniques/T1136/
YARA-L Detection Query
rule t1136_create_account {
meta:
author = "Argus Detection Engineering"
description = "Detects account creation activity covering Windows Security Event 4720, process-based creation via net.exe/wmic/PowerShell, and Linux useradd. Maps to MITRE ATT&CK T1136."
mitre_attack_tactic = "Persistence"
mitre_attack_technique = "T1136"
severity = "HIGH"
priority = "HIGH"
events:
(
// Branch 1: Windows Security Event 4720 (User Account Created)
$e.metadata.event_type = "USER_CREATION" and
$e.metadata.product_event_type = "4720" and
$e.principal.hostname != ""
)
or
(
// Branch 2: net.exe or net1.exe /add
$e.metadata.event_type = "PROCESS_LAUNCH" and
(
re.regex($e.target.process.file.full_path, `(?i)(net|net1)\.exe$`) and
re.regex($e.target.process.command_line, `(?i)user.*/add`)
)
)
or
(
// Branch 3: wmic useraccount create
$e.metadata.event_type = "PROCESS_LAUNCH" and
re.regex($e.target.process.file.full_path, `(?i)wmic\.exe$`) and
re.regex($e.target.process.command_line, `(?i)useraccount.*create`)
)
or
(
// Branch 4: PowerShell New-LocalUser
$e.metadata.event_type = "PROCESS_LAUNCH" and
re.regex($e.target.process.file.full_path, `(?i)(powershell|pwsh)\.exe$`) and
re.regex($e.target.process.command_line, `(?i)(New-LocalUser|net user.*\/add)`)
)
or
(
// Branch 5: Linux useradd / adduser
$e.metadata.event_type = "PROCESS_LAUNCH" and
re.regex($e.target.process.file.full_path, `(?i)(useradd|adduser)$`)
)
condition:
$e
} Chronicle YARA-L 2.0 rule detecting account creation across Windows (Event 4720, net.exe, wmic, PowerShell) and Linux (useradd, adduser). Uses UDM event types USER_CREATION and PROCESS_LAUNCH with regex matching on command lines. Maps to MITRE ATT&CK T1136.
Data Sources
Required Tables
False Positives & Tuning
- Authorized IT administration creating accounts through standard management consoles or scripts
- Software deployments that create local service accounts (IIS, MSSQL, monitoring tools)
- DevOps automation using PowerShell or CLI tools for infrastructure provisioning
Other platforms for T1136
Testing Methodology
Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.
- Test 1Create Local User Account via net.exe
Expected signal: Security Event 4720: 'A user account was created' with TargetUserName=df00tech-testacct, SubjectUserName=<running user>. Sysmon Event ID 1: Process Create with Image=net.exe (or net1.exe), CommandLine='net user df00tech-testacct P@ssw0rd123! /add'. Security Event 4722 (account enabled) may follow immediately.
- Test 2Create Local User via WMIC (Indrik Spider TTP)
Expected signal: Sysmon Event ID 1: Process Create with Image=wmic.exe, CommandLine containing 'useraccount'. Followed by net.exe process create. Security Event 4720 generated by the net user /add call. Parent process chain visible in Sysmon logs.
- Test 3Create Local User via PowerShell New-LocalUser
Expected signal: Sysmon Event ID 1: Process Create with Image=powershell.exe, CommandLine containing 'New-LocalUser'. Security Event 4720: new account df00tech-pstest created, SubjectUserName shows running user. PowerShell ScriptBlock Log Event ID 4104 will show the full New-LocalUser command with parameters.
- Test 4Linux Account Creation via useradd
Expected signal: Syslog / /var/log/auth.log: 'useradd: new user: name=df00tech-linuxtest, UID=<uid>, GID=<gid>'. If auditd is configured with -a always,exit -F arch=b64 -S execve rules: audit log entry for useradd execution with full command line. If Sysmon for Linux is deployed: process creation event for useradd.
References (9)
- https://attack.mitre.org/techniques/T1136/
- https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4720
- https://symantec-enterprise-blogs.security.com/blogs/threat-intelligence/wastedlocker-ransomware-us
- https://unit42.paloaltonetworks.com/lockbit-2-ransomware/
- https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-320a
- https://www.cisco.com/c/en/us/td/docs/security/salt-typhoon-advisory.html
- https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/audit-account-management
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1136.001/T1136.001.md
- https://github.com/SigmaHQ/sigma/tree/master/rules/windows/builtin/security
Unlock Pro Content
Get the full detection package for T1136 including response playbook, investigation guide, and atomic red team tests.