Skip to content

Conversation

@Samirbous
Copy link
Contributor

ESQL rule using QSTR fuzzy matching to detect attempts to masquerade as svchost.

@Samirbous Samirbous self-assigned this Nov 12, 2025
@Samirbous Samirbous added Rule: New Proposal for new rule OS: Windows windows related rules labels Nov 12, 2025
@github-actions
Copy link
Contributor

Rule: New - Guidelines

These guidelines serve as a reminder set of considerations when proposing a new rule.

Documentation and Context

  • Detailed description of the rule.
  • List any new fields required in ECS/data sources.
  • Link related issues or PRs.
  • Include references.

Rule Metadata Checks

  • creation_date matches the date of creation PR initially merged.
  • min_stack_version should support the widest stack versions.
  • name and description should be descriptive and not include typos.
  • query should be inclusive, not overly exclusive, considering performance for diverse environments. Non ecs fields should be added to non-ecs-schema.json if not available in an integration.
  • min_stack_comments and min_stack_version should be included if the rule is only compatible starting from a specific stack version.
  • index pattern should be neither too specific nor too vague, ensuring it accurately matches the relevant data stream (e.g., use logs-endpoint.process-* for process data).
  • integration should align with the index. If the integration is newly introduced, ensure the manifest, schemas, and new_rule.yaml template are updated.
  • setup should include the necessary steps to configure the integration.
  • note should include any additional information (e.g. Triage and analysis investigation guides, timeline templates).
  • tags should be relevant to the threat and align/added to the EXPECTED_RULE_TAGS in the definitions.py file.
  • threat, techniques, and subtechniques should map to ATT&CK always if possible.

New BBR Rules

  • building_block_type should be included if the rule is a building block and the rule should be located in the rules_building_block folder.
  • bypass_bbr_timing should be included if adding custom lookback timing to the rule.

Testing and Validation

  • Provide evidence of testing and detecting the expected threat.
  • Check for existence of coverage to prevent duplication.

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 12, 2025

Test succeeded

Results

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 12, 2025

Test succeeded

Results

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 12, 2025

⛔️ Test failed

Results
  • ❌ Potential Masquerading as Svchost (esql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 12, 2025

⛔️ Test failed

Results
  • ❌ Potential Masquerading as Svchost (esql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 12, 2025

⛔️ Test failed

Results
  • ❌ Potential Masquerading as Svchost (esql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 12, 2025

⛔️ Test failed

Results
  • ❌ Potential Masquerading as Svchost (esql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 12, 2025

⛔️ Test failed

Results
  • ❌ Potential Masquerading as Svchost (esql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 13, 2025

⛔️ Test failed

Results
  • ❌ Potential Masquerading as Svchost (esql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 13, 2025

⛔️ Test failed

Results
  • ❌ Potential Masquerading as Svchost (esql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

description = """
Identifies attempts to masquerade as the Service Host process `svchost.exe` to evade detection and blend in with normal system activity.
"""
from = "now-9m"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No event deduplication upstream for ESQL. Maybe add interval = 8m.

creation_date = "2025/11/12"
integration = ["windows"]
maturity = "production"
updated_date = "2025/11/12"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tradebot-elastic
Copy link

tradebot-elastic commented Nov 13, 2025

⛔️ Test failed

Results
  • ❌ Potential Masquerading as Svchost (esql)
    • coverage_issue: no_rta
    • stack_validation_failed: no_rta

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

backport: auto Domain: Endpoint OS: Windows windows related rules Rule: New Proposal for new rule

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants