CVE-2025-59775
HIGH(7.5)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- CVSS 7.5 — Hoch
Erwähnungen (letzte 60 Tage)
EPSS-Score
0.9%
Exploit-Wahrscheinlichkeit (30 Tage)
CVSS Score
7.5
Technische Schwere
Beschreibung
Server-Side Request Forgery (SSRF) vulnerability in Apache HTTP Server on Windows with AllowEncodedSlashes On and MergeSlashes Off allows to potentially leak NTLM hashes to a malicious server via SSRF and malicious requests or content Users are recommended to upgrade to version 2.4.66, which fixes the issue.
Erkennung & Indikatoren
Ausnutzung
In den geprüften Quellen nicht genannt
Behobene Versionen
- 2.4.66
Threat-Hunting-Queries
Detection for Server-Side Request Forgery (SSRF) leading to NTLM hash leakage on Apache HTTP Server on Windows. Focus on unusual outbound connections from the Apache server, especially to SMB/UNC paths, and NTLM authentication attempts to external, potentially malicious, servers. This query is a starting point and may require tuning for specific environments.
Sentinel/Defender KQL
DeviceNetworkEvents
| where InitiatingProcessFileName =~ "httpd.exe" or InitiatingProcessFileName =~ "apache.exe"
| where RemotePort == 445 or RemotePort == 139 // SMB/NetBIOS ports
| where RemoteIP !in ("10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16") // Exclude private IPs
| project TimeGenerated, DeviceName, InitiatingProcessFileName, RemoteIP, RemotePort, InitiatingProcessCommandLine
| join kind=leftouter (
DeviceLogonEvents
| where ActionType == "NtlmLogon"
| where Protocol == "NTLM"
| where RemoteIP !in ("10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16") // Exclude private IPs
| project TimeGenerated, DeviceName, RemoteIP, AccountName, TargetDeviceName
) on DeviceName, RemoteIP
| where isnotempty(AccountName)
| extend Description = "Potential NTLM hash leakage via Apache SSRF on Windows"Splunk SPL
(sourcetype=WinEventLog:Security EventCode=4624 OR EventCode=4648) OR (sourcetype=apache_access_log OR sourcetype=apache_error_log)
| eval is_apache_process = if(match(_raw, "httpd.exe|apache.exe"), "true", "false")
| eval is_ntlm_logon = if(EventCode=4624 AND AuthenticationPackage="NTLM", "true", "false")
| eval is_network_connection = if(EventCode=5156 AND DestPort IN (445, 139), "true", "false")
| where is_apache_process="true" OR is_ntlm_logon="true" OR is_network_connection="true"
| search NOT (dest_ip=10.* OR dest_ip=172.16.* OR dest_ip=172.17.* OR dest_ip=172.18.* OR dest_ip=172.19.* OR dest_ip=172.20.* OR dest_ip=172.21.* OR dest_ip=172.22.* OR dest_ip=172.23.* OR dest_ip=172.24.* OR dest_ip=172.25.* OR dest_ip=172.26.* OR dest_ip=172.27.* OR dest_ip=172.28.* OR dest_ip=172.29.* OR dest_ip=172.30.* OR dest_ip=172.31.* OR dest_ip=192.168.*)
| stats count by _time, host, user, src_ip, dest_ip, dest_port, is_apache_process, is_ntlm_logon, is_network_connection, _raw
| rename _raw as raw_log
| eval Description = "Potential NTLM hash leakage via Apache SSRF on Windows"Sigma
title: Apache NTLM Leakage via SSRF
id: 00000000-0000-0000-0000-000000000000
status: experimental
description: Detects potential NTLM hash leakage on Apache HTTP Server on Windows through SSRF by monitoring outbound SMB connections from Apache processes to external IPs.
author: SecBoard
date: 2025/12/04
logsource:
category: process_creation
product: windows
service: security
detection:
selection_process:
Image|endswith:
- '\httpd.exe'
- '\apache.exe'
selection_network:
EventID: 3
DestinationPort:
- 445
- 139
Initiated: 'true'
filter_private_ip:
DestinationIp|startswith:
- '10.'
- '172.16.'
- '172.17.'
- '172.18.'
- '172.19.'
- '172.20.'
- '172.21.'
- '172.22.'
- '172.23.'
- '172.24.'
- '172.25.'
- '172.26.'
- '172.27.'
- '172.28.'
- '172.29.'
- '172.30.'
- '172.31.'
- '192.168.'
condition: selection_process and selection_network and not filter_private_ip
falsepositives:
- Legitimate Apache integrations with external SMB shares (should be whitelisted)
level: highElastic ES|QL
from network where process.name in ("httpd.exe", "apache.exe") and (destination.port == 445 or destination.port == 139) and not cidrMatch("10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", destination.ip)
| join by host.name
(from windows.event.log where event.code == 4624 and winlog.logon.authentication_package == "NTLM" and not cidrMatch("10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16", source.ip))
| where not is_empty(winlog.logon.authentication_package)
| select @timestamp, host.name, process.name, destination.ip, destination.port, winlog.logon.user.name, "Potential NTLM hash leakage via Apache SSRF on Windows" as descriptionSecBoard-generated · behavioral · requires customization — Von SecBoard erzeugt und nicht in einer Zielumgebung validiert. Vor dem Einsatz an die eigene Protokollierung anpassen.
Betroffene Produkte
- cpe:2.3:a:apache:http_server:*:*:*:*:*:*:*:*