Detection rules › Sigma

New Module Module Added To IIS Server

Status
test
Severity
medium
Log source
product windows, service iis-configuration
Author
frack113
Source
github.com/SigmaHQ/sigma

Detects the addition of a new module to an IIS server.

MITRE ATT&CK coverage

Event coverage

Rule body yaml

title: New Module Module Added To IIS Server
id: dd857d3e-0c6e-457b-9b48-e82ae7f86bd7
status: test
description: Detects the addition of a new module to an IIS server.
references:
    - https://learn.microsoft.com/en-us/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis
    - https://www.microsoft.com/en-us/security/blog/2022/12/12/iis-modules-the-evolution-of-web-shells-and-how-to-detect-them/
    - https://www.microsoft.com/en-us/security/blog/2022/07/26/malicious-iis-extensions-quietly-open-persistent-backdoors-into-servers/
    - https://learn.microsoft.com/en-us/iis/get-started/introduction-to-iis/iis-modules-overview
author: frack113
date: 2024-10-06
tags:
    - attack.persistence
    - attack.defense-impairment
    - attack.t1685.001
    - attack.t1505.004
logsource:
    product: windows
    service: iis-configuration
detection:
    selection:
        EventID: 29
        Configuration|contains: '/system.webServer/modules/add'
    filter_main_builtin:
        NewValue:
            - 'AnonymousAuthenticationModule'
            - 'CustomErrorModule'
            - 'DefaultDocumentModule'
            - 'DirectoryListingModule'
            - 'FileCacheModule'
            - 'HttpCacheModule'
            - 'HttpLoggingModule'
            - 'ProtocolSupportModule'
            - 'RequestFilteringModule'
            - 'StaticCompressionModule'
            - 'StaticFileModule'
            - 'TokenCacheModule'
            - 'UriCacheModule'
    filter_main_remove:
        NewValue: ''
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Legitimate administrator activity
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    EventID: 29
    Configuration|contains: '/system.webServer/modules/add'

Stage 2: not filter_main_*

filter_main_builtin:
    NewValue:
        - 'AnonymousAuthenticationModule'
        - 'CustomErrorModule'
        - 'DefaultDocumentModule'
        - 'DirectoryListingModule'
        - 'FileCacheModule'
        - 'HttpCacheModule'
        - 'HttpLoggingModule'
        - 'ProtocolSupportModule'
        - 'RequestFilteringModule'
        - 'StaticCompressionModule'
        - 'StaticFileModule'
        - 'TokenCacheModule'
        - 'UriCacheModule'
filter_main_remove:
    NewValue: ''

Exclusions

Top-level NOT(...) conjuncts: predicates this rule actively suppresses.

FieldKindExcluded values
NewValueeqAnonymousAuthenticationModule
NewValueeqCustomErrorModule
NewValueeqDefaultDocumentModule
NewValueeqDirectoryListingModule
NewValueeqFileCacheModule
NewValueeqHttpCacheModule
NewValueeqHttpLoggingModule
NewValueeqProtocolSupportModule
NewValueeqRequestFilteringModule
NewValueeqStaticCompressionModule
NewValueeqStaticFileModule
NewValueeqTokenCacheModule
NewValueeqUriCacheModule

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
Configurationmatch
  • /system.webServer/modules/add