T1069.001
Local Groups
Adversaries may attempt to find local system groups and permission settings. The knowledge of local system permission groups can help adversaries determine which groups exist and which users belong to a particular group. Adversaries may use this information to determine which users have elevated permissions, such as the users found within the local administrators group. Commands such as net localgroup of the Net utility, dscl . -list /Groups on macOS, and groups on Linux can list local groups.
Microsoft Sentinel / Defender
kusto
let LocalGroupCommands = dynamic([
"net localgroup", "net1 localgroup",
"Get-LocalGroup", "Get-LocalGroupMember",
"dscl . -list /Groups", "dscl . list /Groups",
"id -Gn", "groups ", "getent group",
"ShowLocalGroupDetails"
]);
let SuspiciousGroupTargets = dynamic([
"administrators", "admin", "remote desktop", "backup operators",
"power users", "network configuration", "event log readers"
]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where (
// Windows net.exe / net1.exe commands
(FileName in~ ("net.exe", "net1.exe") and ProcessCommandLine has "localgroup")
// PowerShell LocalGroup cmdlets
or (FileName in~ ("powershell.exe", "pwsh.exe") and ProcessCommandLine has_any ("Get-LocalGroup", "Get-LocalGroupMember", "Enumerate", "LocalGroup"))
// macOS dscl
or (FileName =~ "dscl" and ProcessCommandLine has "Groups")
// Linux groups/id/getent
or (FileName in~ ("groups", "id", "getent") and (ProcessCommandLine has "group" or FileName =~ "groups"))
// WMIC
or (FileName =~ "wmic.exe" and ProcessCommandLine has_any ("group", "localgroup"))
)
| extend IsAdminGroupQuery = ProcessCommandLine has_any (SuspiciousGroupTargets)
| extend IsNetLocalGroup = FileName in~ ("net.exe", "net1.exe") and ProcessCommandLine has "localgroup"
| extend IsPowerShellLocalGroup = FileName in~ ("powershell.exe", "pwsh.exe") and ProcessCommandLine has_any ("Get-LocalGroup", "Get-LocalGroupMember")
| extend IsWmicGroup = FileName =~ "wmic.exe" and ProcessCommandLine has "group"
| extend SuspiciousParent = InitiatingProcessFileName in~ (
"cmd.exe", "powershell.exe", "wscript.exe", "cscript.exe",
"mshta.exe", "rundll32.exe", "regsvr32.exe", "svchost.exe",
"python.exe", "python3", "bash", "sh", "zsh"
)
| project Timestamp, DeviceName, AccountName, AccountDomain,
FileName, ProcessCommandLine,
InitiatingProcessFileName, InitiatingProcessCommandLine,
InitiatingProcessParentFileName,
IsAdminGroupQuery, IsNetLocalGroup, IsPowerShellLocalGroup, IsWmicGroup, SuspiciousParent
| sort by Timestamp desc medium severity
medium confidence
Data Sources
Process: Process Creation Command: Command Execution Microsoft Defender for Endpoint
Required Tables
DeviceProcessEvents
False Positives
- IT administrators manually inventorying local group membership during routine system audits or change management
- Endpoint management agents (SCCM, Intune, Tanium, CrowdStrike) that enumerate local groups as part of system inventory or compliance checks
- Vulnerability scanners and security assessment tools (Nessus, Qualys, Rapid7) that enumerate local groups as part of credentialed scans
- Helpdesk scripts and support tools that check local group membership before granting or revoking access
- Legitimate user enumeration during Active Directory domain join procedures or user provisioning workflows
Last updated: 2026-04-17 Research depth: deep
References (12)
- https://attack.mitre.org/techniques/T1069/001/
- https://attack.mitre.org/software/S0039/
- https://attack.mitre.org/software/S0521/
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/net-localgroup
- https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.localaccounts/get-localgroup
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-deviceprocessevents-table
- https://www.welivesecurity.com/2020/05/26/agentbtz-comrat-ten-years/
- https://www.mandiant.com/resources/blog/admin338
- https://www.microsoft.com/en-us/security/blog/2016/04/29/digging-deep-for-platinum/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1069.001/T1069.001.md
- https://github.com/SigmaHQ/sigma/tree/master/rules/windows/process_creation
- https://www.crowdstrike.com/blog/understanding-active-directory-attack-tools/
Unlock Pro Content
Get the full detection package for T1069.001 including response playbook, investigation guide, and atomic red team tests.
Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance