Detection rules › Sigma

Potentially Suspicious Malware Callback Communication - Linux

Status
test
Severity
high
Log source
product linux, category network_connection
Author
hasselj
Source
github.com/SigmaHQ/sigma

Detects programs that connect to known malware callback ports based on threat intelligence reports.

MITRE ATT&CK coverage

TacticTechniques
Command & ControlT1571 Non-Standard Port

Event coverage

Rule body yaml

title: Potentially Suspicious Malware Callback Communication - Linux
id: dbfc7c98-04ab-4ab7-aa94-c74d22aa7376
related:
    - id: 4b89abaa-99fe-4232-afdd-8f9aa4d20382
      type: derived
status: test
description: |
    Detects programs that connect to known malware callback ports based on threat intelligence reports.
references:
    - https://www.mandiant.com/resources/blog/triton-actor-ttp-profile-custom-attack-tools-detections
    - https://www.mandiant.com/resources/blog/ukraine-and-sandworm-team
    - https://www.elastic.co/guide/en/security/current/potential-non-standard-port-ssh-connection.html
    - https://thehackernews.com/2024/01/systembc-malwares-c2-server-analysis.html
    - https://www.cybereason.com/blog/sliver-c2-leveraged-by-many-threat-actors
author: hasselj
date: 2024-05-10
tags:
    - attack.persistence
    - attack.command-and-control
    - attack.t1571
logsource:
    category: network_connection
    product: linux
detection:
    selection:
        Initiated: 'true'
        DestinationPort:
            - 888
            - 999
            - 2200
            - 2222
            - 4000
            - 4444
            - 6789
            - 8531
            - 50501
            - 51820
    filter_main_local_ranges:
        DestinationIp|cidr:
            - '127.0.0.0/8'
            - '10.0.0.0/8'
            - '172.16.0.0/12'
            - '192.168.0.0/16'
            - '169.254.0.0/16'
            - '::1/128'         # IPv6 loopback
            - 'fe80::/10'       # IPv6 link-local addresses
            - 'fc00::/7'        # IPv6 private addresses
    condition: selection and not 1 of filter_main_*
falsepositives:
    - Unknown
level: high

Stages and Predicates

Stage 0: condition

selection and not 1 of filter_main_*

Stage 1: selection

selection:
    Initiated: 'true'
    DestinationPort:
        - 888
        - 999
        - 2200
        - 2222
        - 4000
        - 4444
        - 6789
        - 8531
        - 50501
        - 51820

Stage 2: not filter_main_local_ranges

filter_main_local_ranges:
    DestinationIp|cidr:
        - '127.0.0.0/8'
        - '10.0.0.0/8'
        - '172.16.0.0/12'
        - '192.168.0.0/16'
        - '169.254.0.0/16'
        - '::1/128'
        - 'fe80::/10'
        - 'fc00::/7'

Exclusions

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

FieldKindExcluded values
DestinationIpcidr_match10.0.0.0/8
DestinationIpcidr_match127.0.0.0/8
DestinationIpcidr_match169.254.0.0/16
DestinationIpcidr_match172.16.0.0/12
DestinationIpcidr_match192.168.0.0/16
DestinationIpcidr_match::1/128
DestinationIpcidr_matchfc00::/7
DestinationIpcidr_matchfe80::/10

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
DestinationPorteq
  • 2200
  • 2222
  • 4000
  • 4444
  • 50501
  • 51820
  • 6789
  • 8531
  • 888
  • 999
Initiatedeq
  • true