T1087.001 Sumo Logic CSE · Sumo

Detect Local Account in Sumo Logic CSE

Adversaries may attempt to get a listing of local system accounts to aid in follow-on behavior such as privilege escalation, lateral movement, or credential access. On Windows, commands such as net user and net localgroup are commonly used. On Linux and macOS, commands such as id, groups, cat /etc/passwd, and dscl . list /Users enumerate local accounts. On ESXi, esxcli system account list retrieves local accounts. This information helps adversaries understand the account landscape, identify high-value targets like local administrators, and plan further attack steps.

MITRE ATT&CK

Tactic
Discovery
Technique
T1087 Account Discovery
Sub-technique
T1087.001 Local Account
Canonical reference
https://attack.mitre.org/techniques/T1087/001/

Sumo Detection Query

Sumo Logic CSE (Sumo)
sql
(_sourceCategory=*windows* OR _sourceCategory=*endpoint*)
| where EventCode in ("1", "4688")
| eval image = toLowerCase(if(!isEmpty(Image), Image, if(!isEmpty(NewProcessName), NewProcessName, "")))
| eval cmdline = toLowerCase(if(!isEmpty(CommandLine), CommandLine, if(!isEmpty(ProcessCommandLine), ProcessCommandLine, "")))
| eval parent = toLowerCase(if(!isEmpty(ParentImage), ParentImage, if(!isEmpty(ParentProcessName), ParentProcessName, "")))
| where (
    (matches(image, ".*(net.exe|net1.exe)$") AND (contains(cmdline, "user") OR contains(cmdline, "localgroup") OR contains(cmdline, "accounts")))
    OR (matches(image, ".*powershell.exe$") AND (contains(cmdline, "get-localuser") OR contains(cmdline, "get-localgroup") OR contains(cmdline, "get-localgroupmember") OR contains(cmdline, "win32_useraccount")))
    OR (matches(image, ".*wmic.exe$") AND (contains(cmdline, "useraccount") OR contains(cmdline, "win32_useraccount")))
    OR (matches(image, ".*query.exe$") AND (contains(cmdline, "user") OR contains(cmdline, "session")))
  )
| eval EnumerationMethod = if(matches(image, ".*(net.exe|net1.exe)$"), "net.exe/net1.exe",
    if(matches(image, ".*powershell.exe$"), "PowerShell Cmdlet",
    if(matches(image, ".*wmic.exe$"), "WMIC",
    if(matches(image, ".*query.exe$"), "query.exe", "Other"))))
| eval IsSuspiciousParent = if(matches(parent, ".*(cmd.exe|powershell.exe|pwsh.exe|wscript.exe|cscript.exe|mshta.exe|rundll32.exe|regsvr32.exe)$"), "true", "false")
| table _messageTime, Computer, user, image, cmdline, parent, EnumerationMethod, IsSuspiciousParent
| sort by _messageTime desc
medium severity high confidence

Detects local account enumeration on Windows hosts using Sumo Logic search against Sysmon Event ID 1 and Windows Security Event 4688. Normalizes Image/NewProcessName and CommandLine/ProcessCommandLine fields across both log sources via coalesce-style eval. Uses matches() for process binary identification and contains() for case-insensitive command line keyword detection. Emits EnumerationMethod and IsSuspiciousParent fields for downstream correlation.

Data Sources

Sumo Logic Cloud SIEMWindows Sysmon (Event ID 1)Windows Security Event Log (Event ID 4688)

Required Tables

_sourceCategory=*windows*_sourceCategory=*endpoint*

False Positives & Tuning

  • IT support staff using net user or query user interactively to troubleshoot account lockout or active session issues during helpdesk calls
  • RMM tools such as ConnectWise Automate or NinjaRMM enumerating local group membership as part of automated asset baseline tracking
  • PowerShell-based provisioning or onboarding scripts that call Get-LocalUser or Get-LocalGroup to validate account state before applying configuration changes
Download portable Sigma rule (.yml)

Other platforms for T1087.001


Testing Methodology

Validate this detection against 5 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.

  1. Test 1Local Account Enumeration via net user and net localgroup

    Expected signal: Sysmon Event ID 1: Three process creation events with Image=C:\Windows\System32\net.exe and CommandLine values 'net user', 'net localgroup', 'net localgroup administrators'. Security Event ID 4799 may be generated for the localgroup administrators query. Security Event ID 4688 if command-line auditing is enabled.

  2. Test 2Local Account Enumeration via PowerShell Get-LocalUser

    Expected signal: Sysmon Event ID 1: Process Create with Image=powershell.exe and CommandLine containing 'Get-LocalUser', 'Get-LocalGroup', 'Get-LocalGroupMember'. PowerShell ScriptBlock Log Event ID 4104 with the full script content. Windows Security Event ID 4799 for the Administrators group membership enumeration.

  3. Test 3Local Account Enumeration via WMIC

    Expected signal: Sysmon Event ID 1: Two process creation events with Image=C:\Windows\System32\wbem\WMIC.exe and CommandLines containing 'useraccount' and 'win32_useraccount'. Security Event ID 4688 if command-line auditing is enabled.

  4. Test 4Local Account Enumeration on Linux via /etc/passwd and id

    Expected signal: Linux auditd syscall events: openat() or open() syscall for /etc/passwd with the UID of the executing process. Syslog or auditd process execution records for 'cat', 'cut', 'id', 'groups', 'getent', 'who' commands. In environments with Sysmon for Linux: EventCode=1 process creation events for each command.

  5. Test 5Local Account Enumeration via query user and Security Event Trigger

    Expected signal: Sysmon Event ID 1: Two process creation events with Image=C:\Windows\System32\query.exe and CommandLines 'query user' and 'query session'. Security Event ID 4688 if process creation auditing with command lines is enabled.

Unlock Pro Content

Get the full detection package for T1087.001 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections