← Back to Explore
splunk_escuAnomaly
Recon Using WMI Class
The following analytic detects suspicious PowerShell activity via EventCode 4104, where WMI performs event queries to gather information on running processes or services. This detection leverages PowerShell Script Block Logging to identify specific WMI queries targeting system information classes like Win32_Bios and Win32_OperatingSystem. This activity is significant as it often indicates reconnaissance efforts by an adversary to profile the compromised machine. If confirmed malicious, the attacker could gain detailed system information, aiding in further exploitation or lateral movement within the network.
Detection Query
`powershell` EventCode=4104 AND ScriptBlockText IN ("*SELECT*", "*Get-WmiObject*") AND ScriptBlockText IN ("*Win32_Bios*", "*Win32_OperatingSystem*", "*Win32_Processor*", "*Win32_ComputerSystem*", "*Win32_PnPEntity*", "*Win32_ShadowCopy*", "*Win32_DiskDrive*", "*Win32_PhysicalMemory*", "*Win32_BaseBoard*", "*Win32_DisplayConfiguration*")
| fillnull
| stats count min(_time) as firstTime max(_time) as lastTime
BY dest signature signature_id
user_id vendor_product EventID
Guid Opcode Name
Path ProcessID ScriptBlockId
ScriptBlockText
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `recon_using_wmi_class_filter`Author
Teoderick Contreras, Splunk
Data Sources
Powershell Script Block Logging 4104
References
- https://news.sophos.com/en-us/2020/05/12/maze-ransomware-1-year-counting/
- https://help.splunk.com/en/security-offerings/splunk-user-behavior-analytics/get-data-in/5.4.1/add-other-data-to-splunk-uba/configure-powershell-logging-to-see-powershell-anomalies-in-splunk-uba.
- https://blog.palantir.com/tampering-with-windows-event-tracing-background-offense-and-defense-4be7ac62ac63
- https://static1.squarespace.com/static/552092d5e4b0661088167e5c/t/59c1814829f18782e24f1fe2/1505853768977/Windows+PowerShell+Logging+Cheat+Sheet+ver+Sept+2017+v2.1.pdf
- https://www.crowdstrike.com/blog/investigating-powershell-command-and-script-logging/
- https://www.splunk.com/en_us/blog/security/hunting-for-malicious-powershell-using-script-block-logging.html
- https://www.welivesecurity.com/2022/04/12/industroyer2-industroyer-reloaded/
- https://blogs.vmware.com/security/2022/10/lockbit-3-0-also-known-as-lockbit-black.html
Raw Content
name: Recon Using WMI Class
id: 018c1972-ca07-11eb-9473-acde48001122
version: 16
creation_date: '2021-06-18'
modification_date: '2026-05-13'
author: Teoderick Contreras, Splunk
status: production
type: Anomaly
description: The following analytic detects suspicious PowerShell activity via EventCode 4104, where WMI performs event queries to gather information on running processes or services. This detection leverages PowerShell Script Block Logging to identify specific WMI queries targeting system information classes like Win32_Bios and Win32_OperatingSystem. This activity is significant as it often indicates reconnaissance efforts by an adversary to profile the compromised machine. If confirmed malicious, the attacker could gain detailed system information, aiding in further exploitation or lateral movement within the network.
data_source:
- Powershell Script Block Logging 4104
search: "`powershell` EventCode=4104 AND ScriptBlockText IN (\"*SELECT*\", \"*Get-WmiObject*\") AND ScriptBlockText IN (\"*Win32_Bios*\", \"*Win32_OperatingSystem*\", \"*Win32_Processor*\", \"*Win32_ComputerSystem*\", \"*Win32_PnPEntity*\", \"*Win32_ShadowCopy*\", \"*Win32_DiskDrive*\", \"*Win32_PhysicalMemory*\", \"*Win32_BaseBoard*\", \"*Win32_DisplayConfiguration*\")\n | fillnull\n | stats count min(_time) as firstTime max(_time) as lastTime\n BY dest signature signature_id\n user_id vendor_product EventID\n Guid Opcode Name\n Path ProcessID ScriptBlockId\n ScriptBlockText\n | `security_content_ctime(firstTime)`\n | `security_content_ctime(lastTime)`\n | `recon_using_wmi_class_filter`"
how_to_implement: To successfully implement this analytic, you will need to enable PowerShell Script Block Logging on some or all endpoints. Additional setup here https://help.splunk.com/en/security-offerings/splunk-user-behavior-analytics/get-data-in/5.4.1/add-other-data-to-splunk-uba/configure-powershell-logging-to-see-powershell-anomalies-in-splunk-uba.
known_false_positives: network administrator may used this command for checking purposes
references:
- https://news.sophos.com/en-us/2020/05/12/maze-ransomware-1-year-counting/
- https://help.splunk.com/en/security-offerings/splunk-user-behavior-analytics/get-data-in/5.4.1/add-other-data-to-splunk-uba/configure-powershell-logging-to-see-powershell-anomalies-in-splunk-uba.
- https://blog.palantir.com/tampering-with-windows-event-tracing-background-offense-and-defense-4be7ac62ac63
- https://static1.squarespace.com/static/552092d5e4b0661088167e5c/t/59c1814829f18782e24f1fe2/1505853768977/Windows+PowerShell+Logging+Cheat+Sheet+ver+Sept+2017+v2.1.pdf
- https://www.crowdstrike.com/blog/investigating-powershell-command-and-script-logging/
- https://www.splunk.com/en_us/blog/security/hunting-for-malicious-powershell-using-script-block-logging.html
- https://www.welivesecurity.com/2022/04/12/industroyer2-industroyer-reloaded/
- https://blogs.vmware.com/security/2022/10/lockbit-3-0-also-known-as-lockbit-black.html
drilldown_searches:
- name: View the detection results for - "$dest$" and "$user_id$"
search: '%original_detection_search% | search dest = "$dest$" user_id = "$user_id$"'
earliest_offset: $info_min_time$
latest_offset: $info_max_time$
- name: View risk events for the last 7 days for - "$dest$" and "$user_id$"
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$dest$", "$user_id$") | stats count min(_time) as firstTime max(_time) as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories) as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`'
earliest_offset: 7d
latest_offset: '0'
intermediate_findings:
entities:
- field: dest
type: system
score: 20
message: A suspicious powershell script contains host recon commands detected on host $dest$
- field: user_id
type: user
score: 20
message: A suspicious powershell script contains host recon commands detected on host $dest$
analytic_story:
- Hermetic Wiper
- Quasar RAT
- Malicious PowerShell
- Data Destruction
- AsyncRAT
- MoonPeak
- LockBit Ransomware
- Malicious Inno Setup Loader
- Qakbot
- Industroyer2
- Scattered Spider
- BlankGrabber Stealer
- Axios Supply Chain Post Compromise
- VIP Keylogger
asset_type: Endpoint
mitre_attack_id:
- T1592
- T1059.001
product:
- Splunk Enterprise
- Splunk Enterprise Security
- Splunk Cloud
category: endpoint
security_domain: endpoint
tests:
- name: True Positive Test
attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.001/powershell_script_block_logging/reconusingwmi.log
source: XmlWinEventLog:Microsoft-Windows-PowerShell/Operational
sourcetype: XmlWinEventLog
test_type: unit