Detection: Windows IIS Components Module Failed to Load

Description

The following analytic detects when an IIS Module DLL fails to load due to a configuration problem, identified by EventCode 2282. This detection leverages Windows Application event logs to identify repeated failures in loading IIS modules. Such failures can indicate misconfigurations or potential tampering with IIS components. If confirmed malicious, this activity could lead to service disruptions or provide an attacker with opportunities to exploit vulnerabilities within the IIS environment. Immediate investigation is required to determine the legitimacy of the failing module and to mitigate any potential security risks.

1`wineventlog_application` EventCode=2282 
2| stats  count min(_time) as firstTime max(_time) as lastTime by  EventCode dest Name ModuleDll 
3| `security_content_ctime(firstTime)` 
4| `security_content_ctime(lastTime)` 
5| `windows_iis_components_module_failed_to_load_filter`

Data Source

Name Platform Sourcetype Source Supported App
Windows Event Log Application 2282 Windows icon Windows 'XmlWinEventLog' 'XmlWinEventLog:Application' N/A

Macros Used

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

Annotations

- MITRE ATT&CK
+ Kill Chain Phases
+ NIST
+ CIS
- Threat Actors
ID Technique Tactic
T1505 Server Software Component Persistence
T1505.004 IIS Components Persistence
KillChainPhase.INSTALLATION
NistCategory.DE_AE
Cis18Value.CIS_10

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 Risk Event True
This configuration file applies to all detections of type anomaly. These detections will use Risk Based Alerting.

Implementation

IIS must be installed and Application event logs must be collected in order to utilize this analytic.

Known False Positives

False positives will be present until all module failures are resolved or reviewed.

Associated Analytic Story

Risk Based Analytics (RBA)

Risk Message Risk Score Impact Confidence
A new IIS Module has been loaded and should be reviewed on $dest$. 25 50 50
The Risk Score is calculated by the following formula: Risk Score = (Impact * Confidence/100). Initial Confidence and Impact is set by the analytic author.

References

Detection Testing

Test Type Status Dataset Source Sourcetype
Validation Passing N/A N/A N/A
Unit Passing Dataset XmlWinEventLog:Application XmlWinEventLog
Integration ✅ Passing Dataset XmlWinEventLog:Application 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: 2