Detect Permission Groups Discovery in IBM QRadar
Adversaries may attempt to discover group and permission settings to understand which user accounts and groups are available, group memberships, and which users and groups have elevated permissions. This information informs targeting decisions and enables privilege escalation, lateral movement, and persistence planning. Common enumeration methods include native Windows commands (net group, net localgroup), PowerShell cmdlets (Get-ADGroup, Get-LocalGroup), LDAP queries, BloodHound/SharpHound collection, Linux identity commands (id, groups, getent group), and cloud-provider APIs. Threat actors including APT41, TA505, Volt Typhoon, and Scattered Spider have used these techniques in real-world intrusions.
MITRE ATT&CK
- Tactic
- Discovery
- Technique
- T1069 Permission Groups Discovery
- Canonical reference
- https://attack.mitre.org/techniques/T1069/
QRadar Detection Query
SELECT
DATEFORMAT(devicetime, 'yyyy-MM-dd HH:mm:ss') AS event_time,
logsourcename(logsourceid) AS log_source,
sourceip,
username,
"Process Name" AS process_name,
"Command" AS command_line,
"Parent Process Name" AS parent_process,
CASE
WHEN LOWER("Command") MATCHES '.*(/domain|net group|dsquery group|get-adgroup).*' THEN 'true'
ELSE 'false'
END AS is_domain_group_query,
CASE
WHEN LOWER("Command") MATCHES '.*(localgroup|get-localgroup|whoami /groups).*' THEN 'true'
ELSE 'false'
END AS is_local_group_query,
CASE
WHEN LOWER("Command") MATCHES '.*(sharphound|bloodhound|-collectionmethod).*' THEN 'true'
ELSE 'false'
END AS is_bloodhound,
CASE
WHEN LOWER("Parent Process Name") MATCHES '.*(wscript|cscript|mshta|rundll32|regsvr32).*' THEN 'true'
ELSE 'false'
END AS suspicious_parent
FROM events
WHERE
LOGSOURCETYPEID IN (12, 13, 14, 15, 45) /* Windows Security, Sysmon, Windows System */
AND devicetime > (NOW() - 86400000)
AND (
(
(LOWER("Process Name") MATCHES '.*\\\\net\.exe$' OR LOWER("Process Name") MATCHES '.*\\\\net1\.exe$')
AND (LOWER("Command") MATCHES '.*group.*' OR LOWER("Command") MATCHES '.*localgroup.*')
) OR (
(LOWER("Process Name") MATCHES '.*\\\\powershell\.exe$' OR LOWER("Process Name") MATCHES '.*\\\\pwsh\.exe$')
AND LOWER("Command") MATCHES '.*(get-adgroup|get-adgroupmember|get-localgroup|get-localgroupmember|get-adprincipalgroupmembership).*'
) OR (
(LOWER("Process Name") MATCHES '.*\\\\dsquery\.exe$' OR LOWER("Process Name") MATCHES '.*\\\\dsget\.exe$')
AND LOWER("Command") MATCHES '.*group.*'
) OR (
LOWER("Process Name") MATCHES '.*\\\\whoami\.exe$'
AND LOWER("Command") MATCHES '.*/groups|/all|/priv.*'
) OR (
LOWER("Process Name") MATCHES '.*\\\\gpresult\.exe$'
) OR (
LOWER("Command") MATCHES '.*(sharphound|bloodhound|-collectionmethod|--collectionmethods).*'
)
)
ORDER BY devicetime DESC QRadar AQL query detecting MITRE T1069 Permission Groups Discovery by monitoring process execution logs from Windows Security (EventCode 4688) and Sysmon sources. Identifies net.exe group enumeration, PowerShell AD/local group cmdlets, dsquery/dsget LDAP queries, whoami with privilege flags, gpresult execution, and BloodHound/SharpHound collector patterns. Enriches each event with classification flags for domain vs local group queries and BloodHound usage.
Data Sources
Required Tables
False Positives & Tuning
- Active Directory administrators performing scheduled group membership audits or running Get-ADGroup as part of routine identity governance processes
- IT support staff using whoami /groups or gpresult to diagnose policy application failures or permission issues during user escalations
- Automated vulnerability scanners or EDR agents that enumerate local and domain groups as part of their asset profiling baseline
- Configuration management platforms (Ansible, PowerShell DSC) that check group membership during provisioning workflows
Other platforms for T1069
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.
- Test 1Local Group Enumeration via net.exe
Expected signal: Sysmon Event ID 1: Two Process Create events for net.exe (or net1.exe, which net.exe spawns internally). CommandLine values: 'net localgroup' and 'net localgroup Administrators'. Security Event ID 4688 if command line auditing is enabled. Parent process will be cmd.exe or the shell used to execute the commands.
- Test 2Domain Group Enumeration via net.exe
Expected signal: Sysmon Event ID 1: Process Create for net.exe with CommandLine 'net group /domain' and 'net group "Domain Admins" /domain'. Network connection to domain controller on port 389 (LDAP) or 445 (SMB SAMR protocol). On the domain controller: Security Event ID 4661/4662 may fire for SAM group object access.
- Test 3PowerShell Active Directory Group Enumeration
Expected signal: Sysmon Event ID 1: Process Create for powershell.exe with CommandLine containing 'Get-ADGroup' and 'Get-ADGroupMember'. PowerShell ScriptBlock Log Event ID 4104 capturing the full script content. LDAP network traffic to domain controller on port 389/636.
- Test 4whoami Group Membership Query
Expected signal: Sysmon Event ID 1: Two Process Create events for whoami.exe. CommandLine values: 'whoami /groups' and 'whoami /all'. No network traffic (local token query). Output includes SID values, group names, and enabled privileges — this data is often captured via screen scraping in interactive sessions.
- Test 5Linux Group Discovery via id and getent
Expected signal: Linux auditd: syscall execve events for /usr/bin/id, /usr/bin/groups, /usr/bin/getent with respective arguments. Syslog entries if exec auditing is enabled. On systems with osquery or EDR agents: process creation events for each command with full argument lists.
References (11)
- https://attack.mitre.org/techniques/T1069/
- https://attack.mitre.org/techniques/T1069/001/
- https://attack.mitre.org/techniques/T1069/002/
- https://attack.mitre.org/techniques/T1069/003/
- https://www.crowdstrike.com/blog/hidden-administrative-accounts-bloodhound-to-the-rescue/
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-deviceprocessevents-table
- https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/net-group
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1069.001/T1069.001.md
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1069.002/T1069.002.md
- https://github.com/BloodHoundAD/BloodHound
- https://www.mandiant.com/resources/blog/apt41-initiates-global-intrusion-campaign-using-multiple-exploits
Unlock Pro Content
Get the full detection package for T1069 including response playbook, investigation guide, and atomic red team tests.