Connection to Commonly Abused Free SSL Certificate Providers
Identifies unusual processes connecting to domains using known free SSL certificates. Adversaries may employ a known encryption algorithm to conceal command and control traffic.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2020/11/04"
3integration = ["endpoint", "windows"]
4maturity = "production"
5updated_date = "2024/05/21"
6
7[rule]
8author = ["Elastic"]
9description = """
10Identifies unusual processes connecting to domains using known free SSL certificates. Adversaries may employ a known
11encryption algorithm to conceal command and control traffic.
12"""
13from = "now-9m"
14index = ["winlogbeat-*", "logs-endpoint.events.network-*", "logs-windows.sysmon_operational-*"]
15language = "eql"
16license = "Elastic License v2"
17name = "Connection to Commonly Abused Free SSL Certificate Providers"
18risk_score = 21
19rule_id = "e3cf38fa-d5b8-46cc-87f9-4a7513e4281d"
20setup = """## Setup
21
22If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
23events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
24Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
25`event.ingested` to @timestamp.
26For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
27"""
28severity = "low"
29tags = [
30 "Domain: Endpoint",
31 "OS: Windows",
32 "Use Case: Threat Detection",
33 "Tactic: Command and Control",
34 "Data Source: Elastic Defend",
35 "Data Source: Sysmon",
36]
37timestamp_override = "event.ingested"
38type = "eql"
39
40query = '''
41network where host.os.type == "windows" and network.protocol == "dns" and
42 /* Add new free SSL certificate provider domains here */
43 dns.question.name : ("*letsencrypt.org", "*.sslforfree.com", "*.zerossl.com", "*.freessl.org") and
44
45 /* Native Windows process paths that are unlikely to have network connections to domains secured using free SSL certificates */
46 process.executable : ("C:\\Windows\\System32\\*.exe",
47 "C:\\Windows\\System\\*.exe",
48 "C:\\Windows\\SysWOW64\\*.exe",
49 "C:\\Windows\\Microsoft.NET\\Framework*\\*.exe",
50 "C:\\Windows\\explorer.exe",
51 "C:\\Windows\\notepad.exe") and
52
53 /* Insert noisy false positives here */
54 not process.name : ("svchost.exe", "MicrosoftEdge*.exe", "msedge.exe")
55'''
56
57
58[[rule.threat]]
59framework = "MITRE ATT&CK"
60[[rule.threat.technique]]
61id = "T1573"
62name = "Encrypted Channel"
63reference = "https://attack.mitre.org/techniques/T1573/"
64
65
66[rule.threat.tactic]
67id = "TA0011"
68name = "Command and Control"
69reference = "https://attack.mitre.org/tactics/TA0011/"
Related rules
- Remote File Download via Script Interpreter
- Unusual Network Connection via RunDLL32
- Account Discovery Command via SYSTEM Account
- Command Prompt Network Connection
- Execution of File Written or Modified by PDF Reader