Loading

Network Connection via Certutil

Elastic Stack Serverless Security

Identifies certutil.exe making a network connection. Adversaries could abuse certutil.exe to download a certificate, or malware, from a remote URL.

Rule type: eql

Rule indices:

  • winlogbeat-*
  • logs-endpoint.events.*
  • logs-windows.*

Severity: low

Risk score: 21

Runs every: 5m

Searches indices from: now-9m (https://www.elastic.co/guide/en/elasticsearch/reference/current/common-options.html#date-math[Date Math format], see also Additional look-back time)

Maximum alerts per execution: 100

References:

Tags:

  • Elastic
  • Host
  • Windows
  • Threat Detection
  • Command and Control

Version: 7

Rule authors:

  • Elastic

Rule license: Elastic License v2

Attackers can abuse certutil.exe to download malware, offensive security tools, and certificates from external sources
in order to take the next steps in a compromised environment.

This rule looks for network events where certutil.exe contacts IP ranges other than the ones specified in
IANA IPv4 Special-Purpose Address Registry

  • Investigate the script execution chain (parent process tree).
  • Investigate other alerts related to the user/host in the last 48 hours.
  • Investigate if the downloaded file was executed.
  • Determine the context in which certutil.exe and the file were run.
  • Retrieve the file downloaded and:
    • Use a sandboxed malware analysis system to perform analysis.
      • Observe attempts of contacting external domains and addresses.
    • Use the PowerShell Get-FileHash cmdlet to get the SHA-256 hash value of the file.
      • Search for the existence of this file in resources like VirusTotal, Hybrid-Analysis, CISCO Talos, Any.run, etc.
  • This mechanism can be used legitimately. If trusted software uses this command and the triage has not identified
    anything suspicious, this alert can be closed as a false positive.
  • If this activity is expected and noisy in your environment, consider adding exceptions — preferably with a combination
    of user and command line conditions.
  • Initiate the incident response process based on the outcome of the triage.
  • Isolate the involved host to prevent further post-compromise behavior.
  • If the triage identified malware, search the environment for additional compromised hosts.
  • Implement any temporary network rules, procedures, and segmentation required to contain the malware.
sequence by process.entity_id
  [process where process.name : "certutil.exe" and event.type == "start"]
  [network where process.name : "certutil.exe" and
    not cidrmatch(destination.ip, "10.0.0.0/8", "127.0.0.0/8", "169.254.0.0/16", "172.16.0.0/12", "192.0.0.0/24",
                                  "192.0.0.0/29", "192.0.0.8/32", "192.0.0.9/32", "192.0.0.10/32", "192.0.0.170/32",
                                  "192.0.0.171/32", "192.0.2.0/24", "192.31.196.0/24", "192.52.193.0/24",
                                  "192.168.0.0/16", "192.88.99.0/24", "224.0.0.0/4", "100.64.0.0/10", "192.175.48.0/24",
                                  "198.18.0.0/15", "198.51.100.0/24", "203.0.113.0/24", "240.0.0.0/4", "::1",
                                  "FE80::/10", "FF00::/8")]

Framework: MITRE ATT&CKTM