Detection rules › Sigma

Potentially Suspicious Usage Of Qemu

Status
test
Severity
medium
Log source
product windows, category process_creation
Author
Muhammad Faisal (@faisalusuf), Hunter Juhan (@threatHNTR)
Source
github.com/SigmaHQ/sigma

Detects potentially suspicious execution of the Qemu utility in a Windows environment. Threat actors have leveraged this utility and this technique for achieving network access as reported by Kaspersky.

MITRE ATT&CK coverage

TacticTechniques
Command & ControlT1090 Proxy, T1572 Protocol Tunneling

Event coverage

Rule body yaml

title: Potentially Suspicious Usage Of Qemu
id: 5fc297ae-25b6-488a-8f25-cc12ac29b744
status: test
description: |
    Detects potentially suspicious execution of the Qemu utility in a Windows environment.
    Threat actors have leveraged this utility and this technique for achieving network access as reported by Kaspersky.
references:
    - https://securelist.com/network-tunneling-with-qemu/111803/
    - https://www.qemu.org/docs/master/system/invocation.html#hxtool-5
author: Muhammad Faisal (@faisalusuf), Hunter Juhan (@threatHNTR)
date: 2024-06-03
tags:
    - attack.command-and-control
    - attack.t1090
    - attack.t1572
logsource:
    category: process_creation
    product: windows
detection:
    selection:
        CommandLine|contains:
            - '-m 1M' # VM with just 1MB of ram is insufficient this is a suspicious flag
            - '-m 2M'
            - '-m 3M'
        CommandLine|contains|all:
            - 'restrict=off'
            - '-netdev '
            - 'connect='
            - '-nographic' # This is also a key detection no one invoke without UI from console usually its a flag.
    filter_main_normal_usecase:
        CommandLine|contains:
            - ' -cdrom ' # Normal usage cases
            - ' type=virt '
            - ' -blockdev '
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: medium

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    CommandLine|contains:
        - '-m 1M'
        - '-m 2M'
        - '-m 3M'
    CommandLine|contains|all:
        - 'restrict=off'
        - '-netdev '
        - 'connect='
        - '-nographic'

Stage 2: not filter_main_normal_usecase

filter_main_normal_usecase:
    CommandLine|contains:
        - ' -cdrom '
        - ' type=virt '
        - ' -blockdev '

Exclusions

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

FieldKindExcluded values
CommandLinematch -blockdev
CommandLinematch -cdrom
CommandLinematch type=virt

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
CommandLinematch
  • -m 1M
  • -m 2M
  • -m 3M
  • -netdev
  • -nographic corpus 2 (sigma 1, splunk 1)
  • connect= corpus 2 (sigma 1, elastic 1)
  • restrict=off corpus 2 (sigma 1, elastic 1)