From 7fe38310782e60ee0c6bcbfbd0b768377fcaab0c Mon Sep 17 00:00:00 2001 From: Samirbous <64742097+Samirbous@users.noreply.github.com> Date: Mon, 24 Nov 2025 13:18:30 +0000 Subject: [PATCH] [New] SOCKS Traffic from an Unusual Process (#5324) * [New] SOCKS Traffic from an Unusual Process This detection correlates FortiGate's application control SOCKS events with Elastic Defend network event to identify the source process performing SOCKS traffic. Adversaries may use a connection proxy to direct network traffic between systems or act as an intermediary for network communications to a command and control server to avoid direct connections to their infrastructure. * Update command_and_control_socks_fortigate_endpoint.toml * Update command_and_control_socks_fortigate_endpoint.toml * Update rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update command_and_control_socks_fortigate_endpoint.toml * add fortinet schema and manif * Update rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml Co-authored-by: Mika Ayenson, PhD * Update rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml Co-authored-by: Mika Ayenson, PhD * Update pyproject.toml --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Mika Ayenson, PhD --- .../etc/integration-manifests.json.gz | Bin 21961 -> 22491 bytes .../etc/integration-schemas.json.gz | Bin 7323344 -> 7339957 bytes pyproject.toml | 2 +- ..._and_control_socks_fortigate_endpoint.toml | 85 ++++++++++++++++++ 4 files changed, 86 insertions(+), 1 deletion(-) create mode 100644 rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml diff --git a/detection_rules/etc/integration-manifests.json.gz b/detection_rules/etc/integration-manifests.json.gz index e1291d25141e32b2ecb4f06ff928166b498692d7..2e6d05b8b232638850ceeb4c6b86444f8ea80c64 100644 GIT binary patch delta 18692 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 Zlr*@bSZGo);Qsf&|9?WxAi$UL4FE?eJ<|XH delta 18158 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.12" diff --git a/rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml b/rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml new file mode 100644 index 000000000..bfc0a4ad8 --- /dev/null +++ b/rules/cross-platform/command_and_control_socks_fortigate_endpoint.toml @@ -0,0 +1,85 @@ +[metadata] +creation_date = "2025/11/17" +integration = ["endpoint", "fortinet_fortigate"] +maturity = "production" +updated_date = "2025/11/17" + +[rule] +author = ["Elastic"] +description = """ +This detection correlates FortiGate's application control SOCKS events with Elastic Defend network event to identify the +source process performing SOCKS traffic. Adversaries may use a connection proxy to direct network traffic between systems +or act as an intermediary for network communications to a command and control server to avoid direct connections to their +infrastructure. +""" +from = "now-9m" +index = ["logs-endpoint.events.network-*", "logs-fortinet_fortigate.log-*"] +language = "eql" +license = "Elastic License v2" +name = "SOCKS Traffic from an Unusual Process" +references = [ + "https://attack.mitre.org/techniques/T1090/", + "https://www.elastic.co/docs/reference/integrations/fortinet_fortigate", + "https://www.elastic.co/docs/reference/integrations/endpoint" +] +risk_score = 47 +rule_id = "6926b708-7964-425f-bed8-6e006379df08" +severity = "medium" +tags = [ + "Domain: Endpoint", + "OS: Linux", + "OS: Windows", + "OS: macOS", + "Use Case: Threat Detection", + "Tactic: Command and Control", + "Data Source: Elastic Defend", + "Data Source: Fortinet", + "Resources: Investigation Guide", +] +type = "eql" +query = ''' +sequence by source.port, source.ip, destination.ip with maxspan=1m + [network where event.dataset == "fortinet_fortigate.log" and event.action == "signature" and network.application in ("SOCKS4", "SOCKS5")] + [network where event.module == "endpoint" and event.action in ("disconnect_received", "connection_attempted")] +''' +note = """## Triage and analysis + +### Investigating SOCKS Traffic from an Unusual Process + +### Possible investigation steps + +- Review the process details like command_line, privileges, global relevance and reputation. +- Review the parent process execution details like command_line, global relevance and reputation. +- Examine all network connection details performed by the process during last 48h. +- Examine all localhost network connections performed by the same process to verify if there is any port forwarding with another process on the same machine. +- Correlate the alert with other security events or logs to identify any patterns or additional indicators of compromise related to the same process or network activity. + +### False positive analysis + +- Browser proxy extensions and Add-ons. +- Development and deployment tools. +- Third party trusted tools using SOCKS for network communication. + +### Response and remediation + +- Immediately isolate the affected system from the network to prevent further unauthorized access or data exfiltration. +- Terminate the suspicious processes and all associated children and parents. +- Conduct a thorough review of the system's configuration files to identify unauthorized changes. +- Reset credentials for any accounts associated with the source machine. +- Implement network-level controls to block traffic via SOCKS unless authorized. +- Escalate the incident to the security operations center (SOC) or incident response team for further investigation and to determine if additional systems are affected. +""" + +[[rule.threat]] +framework = "MITRE ATT&CK" + +[[rule.threat.technique]] +id = "T1090" +name = "Proxy" +reference = "https://attack.mitre.org/techniques/T1090/" + + +[rule.threat.tactic] +id = "TA0011" +name = "Command and Control" +reference = "https://attack.mitre.org/tactics/TA0011/"