Detection: Windows NirSoft Utilities

Description

The following analytic identifies the execution of commonly used NirSoft utilities on Windows systems. This activity is significant for a SOC because NirSoft utilities, while legitimate, can be used by adversaries for malicious purposes like credential theft or system reconnaissance. If confirmed malicious, this activity could lead to unauthorized access, data exfiltration, or further system compromise. Note that this search does not use a where clause to filter out known benign paths, as NirSoft utilities can be executed from various locations. This might hinder performance in environments with high data volumes. Apply additional filtering as necessary to enhance this.

 1
 2| tstats `security_content_summariesonly`
 3  count min(_time) as firstTime
 4        max(_time) as lastTime
 5
 6FROM datamodel=Endpoint.Processes WHERE
 7
 8Processes.original_file_name = "*.exe"
 9
10BY Processes.action Processes.dest Processes.original_file_name Processes.parent_process
11   Processes.parent_process_exec Processes.parent_process_guid Processes.parent_process_id
12   Processes.parent_process_name Processes.parent_process_path Processes.process
13   Processes.process_exec Processes.process_guid Processes.process_hash Processes.process_id
14   Processes.process_integrity_level Processes.process_name Processes.process_path
15   Processes.user Processes.user_id Processes.vendor_product
16
17
18| `drop_dm_object_name("Processes")`
19
20
21| search [
22             
23| inputlookup nirsoft_utilities_lookup
24             
25| search original_file_name=*.exe
26             
27| table original_file_name
28         ]
29
30
31| lookup local=t nirsoft_utilities_lookup original_file_name OUTPUT description
32
33
34| `security_content_ctime(firstTime)`
35
36| `security_content_ctime(lastTime)`
37
38| `windows_nirsoft_utilities_filter`

Data Source

Name Platform Sourcetype Source
Sysmon EventID 1 Windows icon Windows 'XmlWinEventLog' 'XmlWinEventLog:Microsoft-Windows-Sysmon/Operational'

Macros Used

Name Value
security_content_ctime convert timeformat="%Y-%m-%dT%H:%M:%S" ctime($field$)
windows_nirsoft_utilities_filter search *
windows_nirsoft_utilities_filter is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.

Annotations

Default Configuration

This detection is configured by default in Splunk Enterprise Security to run with the following settings:

Setting Value
Disabled true
Cron Schedule 0 * * * *
Earliest Time -70m@m
Latest Time -10m@m
Schedule Window auto
Creates Finding (Notable) No
Creates Intermediate Finding (Risk Event) Yes
Anomaly detections generate Intermediate Findings (Risk Events). They do not generate a Finding (Notable) directly.

Implementation

To successfully implement this search, ingest process creation events from your endpoints and normalize them to the Processes node of the Endpoint data model using the Splunk Common Information Model (CIM). Ensure the normalized events populate the original_file_name field, which this search uses to identify NirSoft utilities. Supported sources might include Sysmon and CrowdStrike ProcessRollup2 when mapped to the data model.

Known False Positives

False positives may be present. Filtering may be required before setting to alert.

Associated Analytic Story

Intermediate Findings

Message Entity Field Entity Type Risk Score
NirSoft tool [$process_name$] was executed on host [$dest$] with Command Line [$process$]. This utility [$description$]. dest system 20

Threat Objects

Field Type
process_name process_name

References

Atomic Tests

Learn more about Atomic Red Team tests here.

Atomic Test ID Atomic Test Name Supported Platform
81ce22fd-9612-4154-918e-8a1f285d214d Disable Defender Using NirSoft AdvancedRun Windows

Detection Testing

Test Type Status Dataset Source Sourcetype
Validation ✅ Passing N/A N/A N/A
Unit ✅ Passing Dataset XmlWinEventLog:Microsoft-Windows-Sysmon/Operational XmlWinEventLog
Integration ✅ Passing Dataset XmlWinEventLog:Microsoft-Windows-Sysmon/Operational XmlWinEventLog

Replay any dataset to Splunk Enterprise by using our replay.py tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range


Source: GitHub |

Version: 12