SecBoard
Zurück zur CVE-Übersicht

CVE-2024-23692

CRITICAL(9.8)KEV — Aktiv ausgenutzt

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

Risk Signal Score84/100 — KRITISCH
  • CVSS 9.8 — Kritisch
  • EPSS 99% — sehr wahrscheinlich ausgenutzt
  • Im CISA KEV-Katalog (aktiv ausgenutzt)

CISA KEV

Bestätigt ausgenutzt

EPSS-Score

99.5%

Exploit-Wahrscheinlichkeit (30 Tage)

CVSS Score

9.8

Technische Schwere

SecBoard-Einordnung

CVE-2024-23692 betrifft den Rejetto HTTP File Server bis einschließlich Version 2.3m und ist eine Template-Injection-Schwachstelle. Sie ermöglicht einem entfernten, nicht authentifizierten Angreifer die Ausführung beliebiger Befehle auf dem betroffenen System durch Senden einer speziell präparierten HTTP-Anfrage. Die Schwachstelle resultiert in einer vollständigen Kompromittierung des Systems.

KI-gestützte Einordnung auf Basis der NVD-Daten.

Beschreibung

Rejetto HTTP File Server, up to and including version 2.3m, is vulnerable to a template injection vulnerability. This vulnerability allows a remote, unauthenticated attacker to execute arbitrary commands on the affected system by sending a specially crafted HTTP request. As of the CVE assignment date, Rejetto HFS 2.3m is no longer supported.

Erkennung & Indikatoren

Ausnutzung

Aktiv ausgenutzt (CISA KEV): Ja. Ein Metasploit-Modul ist verfügbar. Der ursprüngliche Finder hat einen PoC veröffentlicht. Die Schwachstelle wurde bei einem Red Team Assessment entdeckt.

Behobene Versionen

  • HFS 3

Threat-Hunting-Queries

Die Schwachstelle ist eine Server-Side Template Injection (SSTI), die zu Remote Code Execution (RCE) führt. Angreifer senden speziell präparierte HTTP-Anfragen, die Befehle über den 'Host'-Header oder den URL-Pfad (z.B. '/?{.exec|cmd.}') einschleusen. Die Erkennung konzentriert sich auf ungewöhnliche Muster in HTTP-Anfragen, die auf Template-Injection-Versuche hindeuten, insbesondere in den 'Host'

Sentinel/Defender KQL

DeviceNetworkEvents
| where RemotePort == 80 // Standard-Port für HFS
| where InitiatingProcessFileName =~ "hfs.exe" or InitiatingProcessCommandLine contains "hfs.exe" // Annahme: HFS läuft als hfs.exe
| where RemoteIP != "127.0.0.1" and RemoteIP !startswith "10." and RemoteIP !startswith "172.16." and RemoteIP !startswith "192.168." // Exclude internal traffic
| where (AdditionalFields contains ".exec|" and AdditionalFields contains ".}") // Sucht nach der Template-Injection-Syntax im Request
  or (InitiatingProcessCommandLine contains "GET /?{.exec|" and InitiatingProcessCommandLine contains ".}")
| project TimeGenerated, DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, InitiatingProcessCommandLine, AdditionalFields, ReportId

Splunk SPL

index=web sourcetype=access_combined (uri_path="/?{.exec|*" AND uri_path="*.}") OR (http_header_host="*.exec|*" AND http_header_host="*.}")
| search NOT (src_ip=127.0.0.1 OR src_ip=10.* OR src_ip=172.16.* OR src_ip=192.168.*)
| table _time, host, src_ip, dest_port, uri_path, http_header_host, user_agent

Sigma

title: Rejetto HFS RCE CVE-2024-23692
id: 00000000-0000-0000-0000-000000000001
status: experimental
description: Detects attempts to exploit CVE-2024-23692 in Rejetto HTTP File Server via template injection.
author: SecBoard
date: 2024/07/30
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2024-23692
  - https://mohemiv.com/all/rejetto-http-file-server-2-3m-unauthenticated-rce/
tags:
  - attack.initial_access
  - attack.t1190
  - cve.2024.23692
logsource:
  category: webserver
  service: access
detection:
  selection:
    - c-uri|contains: ".exec|"
    - c-uri|contains: ".}"
    - cs-host|contains: ".exec|"
    - cs-host|contains: ".}"
  condition: selection
falsepositives:
  - Legitimate application usage if templates use similar syntax (unlikely for HFS).
level: critical

Elastic ES|QL

from logs-*-* | where event.dataset == "nginx.access" or event.dataset == "apache.access" // Anpassen an tatsächliche Log-Quellen
| where http.request.method == "GET"
| where (url.path : "*{.exec|*" and url.path : "*.}") or (http.request.headers.host : "*{.exec|*" and http.request.headers.host : "*.}")
| where not (source.ip == "127.0.0.1" or source.ip in ("10.0.0.0/8", "172.16.0.0/12", "192.168.0.0/16"))
| select @timestamp, host.name, source.ip, destination.port, url.path, http.request.headers.host, user_agent.original

SecBoard-generated · behavioral · requires customizationVon SecBoard erzeugt und nicht in einer Zielumgebung validiert. Vor dem Einsatz an die eigene Protokollierung anpassen.

Betroffene Produkte

  • cpe:2.3:a:rejetto:http_file_server:*:*:*:*:*:*:*:*

Referenzen