Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2024-12356 — Nicht-destruktiver Detektor für nicht authentifizierte RCE in BeyondTrust Remote Support und PRA, der Argument-Injection und PostgreSQL-Escape-Bypass miteinander verknüpft, um die Ausnutzbarkeit über zeitbasierte Differenzanalyse zu verifizieren. | Kitploit
Tools/GitHubGitHub/skraft9/cve-2024-12356
SchwachstellenscannerSchwachstellenanalyseExploitationWebanwendungs-ExploitationPenetrationstestsRed Teaming
GitHubskraft9/cve-2024-12356

CVE-2024-12356

Nicht-destruktiver Detektor für nicht authentifizierte RCE in BeyondTrust Remote Support und PRA, der Argument-Injection und PostgreSQL-Escape-Bypass miteinander verknüpft, um die Ausnutzbarkeit über zeitbasierte Differenzanalyse zu verifizieren.

Repository anzeigen
118vor 1 MonatNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Nicht authentifizierte Remote-Codeausführung in BeyondTrust Remote Support und Privileged Remote Access durch Argument-Injection und Umgehung des PostgreSQL-String-Escapings

Ethischer Hinweis: Nur für Forschungs-, Bildungs- und autorisierte Testzwecke. Bitte nicht gegen Systeme ohne Erlaubnis verwenden.


BeyondTrust Remote Support (RS) und Privileged Remote Access (PRA) sind Appliances, die privilegierte Remote-Sitzungen in die internen Systeme einer Organisation vermitteln. Daher sind sie häufig im Internet erreichbar und nehmen eine vertrauenswürdige Position im Netzwerk ein.

Ein nicht authentifizierter Angreifer, der den WebSocket-Endpunkt der Appliance erreichen kann, kann Betriebssystembefehle als der Site-Benutzer ausführen, indem er zwei Schwachstellen miteinander verkettet: eine Argument-Injection im thin-scc-wrapper-Skript der Appliance (CVE-2024-12356) und eine Umgehung des PostgreSQL-String-Escapings, die ein ungültiges UTF-8-Byte in einen vorzeitigen SQL-Literal-Bruch verwandelt (CVE-2025-1094). Der verwundbare Pfad wird vor jeglicher Authentifizierung erreicht.

bt_rs_rce_check.py in diesem Repository ist ein nicht-destruktiver Detektor für diese Kette. Er durchläuft exakt den nicht authentifizierten Codepfad, den der echte Exploit verwendet, stoppt jedoch beim Nachweis der Erreichbarkeit: Das Einzige, was er das Ziel jemals ausführen lässt, ist ein harmloses sleep (eine zeitbasierte Differenzmessung) oder ein harmloser Hostname-/HTTP-Lookup an einen Out-of-Band-Collector, den Sie kontrollieren. Er öffnet niemals eine Shell, schreibt keine Dateien, liest keine Daten, bleibt nicht persistent und bewegt sich nicht lateral.

  • CVE-IDs:
    • CVE-2024-12356 — Befehls-/Argument-Injection in BeyondTrust RS und PRA
    • CVE-2025-1094 — PostgreSQL-psql-SQL-Injection-Schwachstelle durch ungültiges UTF-8, verkettet zur vollständigen RCE
  • Schwachstellentyp:
    • Grundursache: CWE-88 Argument Injection (BeyondTrust klassifizierte CVE-2024-12356 als CWE-77; die Analyse von Rapid7 argumentiert, dass CWE-88 genauer ist)
    • Verkettete Schwachstelle: CWE-89 SQL Injection durch unsachgemäße Behandlung von ungültigem UTF-8 (CVE-2025-1094)
    • Nettoauswirkung: CWE-78 OS Command Injection (nicht authentifizierte RCE)
  • Betroffene Software: BeyondTrust Remote Support (RS) und Privileged Remote Access (PRA).
  • Betroffene Versionen: 24.3.1 und früher (alle ungepatchten On-Premise- und, zum Zeitpunkt der Offenlegung, Cloud-Builds).
  • Fix: BeyondTrust-Patch BT24-10 (BT24-10-ONPREM1 / BT24-10-ONPREM2 für selbst gehostete Appliances; Cloud-Instanzen wurden von BeyondTrust gepatcht).
  • Score: 9.8 (Kritisch) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Ausnutzungsstatus: Aktiv in freier Wildbahn ausgenutzt; im CISA-KEV-Katalog gelistet.

Auswirkung

Die Kette führt zu nicht authentifizierter Remote-Codeausführung als der Site-Benutzer auf einer Appliance, deren gesamter Zweck darin besteht, privilegierten Zugriff auf interne Systeme zu vermitteln. Eine einzige anonyme Anfrage verwandelt einen exponierten RS- oder PRA-Host in einen Ausgangspunkt und ein Sprungbrett zu jedem nachgelagerten System, das die Appliance vermittelt.

Es sind keine Anmeldeinformationen, keine Benutzerinteraktion und kein vorheriger Zugriff erforderlich: Der Angreifer ist extern und anonym, und die einzige Voraussetzung ist die Netzwerkerreichbarkeit des WebSocket-Endpunkts der Appliance.

Die Schwachstelle wurde offengelegt, nachdem festgestellt wurde, dass sie in freier Wildbahn ausgenutzt wird. Sie wurde am 19. Dezember 2024 in den Katalog bekannter ausgenutzter Schwachstellen der CISA aufgenommen und öffentlich mit dem Datenverstoß vom Dezember 2024 beim US-Finanzministerium in Verbindung gebracht, der einem staatlich geförderten Akteur zugeschrieben wird.


Die Schwachstellenkette

Die verwundbare Logik befindet sich im Shell-Skript thin-scc-wrapper der Appliance, das einen vom Angreifer kontrollierten Sitzungsschlüssel (gskey) aus einem nicht authentifizierten WebSocket-Frame liest und an die Datenbank weiterleitet. Vollständige RCE ist eine Kette aus drei unterschiedlichen Problemen.

1. Argument-Injection in thin-scc-wrapper (CVE-2024-12356). Der Wrapper übergibt den nicht vertrauenswürdigen gskey unquotiert an einen Helfer, sodass die Shell das Wort vor der Ausführung von echo in Argumente aufteilt:

quoted=$(export PHPRC="$BG_app_root/config/php-cli.ini"; echo $gskey | $ingrediRoot/app/dbquote)

Ein Schlüssel, der mit -e beginnt, verwandelt echo in echo -e, das Backslash-Escapes interpretiert und es dem Angreifer ermöglicht, beliebige Rohbytes auszugeben — am wichtigsten \xC0 — in die Daten, die zur nächsten Stufe fließen. Der Angreifer kontrolliert ein Flag eines vorhandenen Befehls, anstatt einen neuen Befehl zu injizieren. Deshalb handelt es sich um Argument-Injection (CWE-88) und nicht um klassische Befehlsinjektion.

2. PostgreSQL-Escape-Umgehung durch ungültiges UTF-8 (CVE-2025-1094). dbquote escaped den Wert mit PHP's pg_escape_string(), das PQescapeStringInternal() von libpq aufruft. Für ein Multibyte-Zeichen vertraut es der Länge, die von pg_encoding_mblen() gemeldet wird, und kopiert die Bytes des Zeichens wörtlich, ohne sie zu validieren:

len = pg_encoding_mblen(encoding, source);
for (i = 0; i < len; i++)   /* copy the character */
    *target++ = *source++;

Ein Byte wie 0xC0 kündigt ein 2-Byte-Zeichen an, sodass der Escaper das nächste Byte als seine „Fortsetzung" verschluckt — selbst wenn dieses Byte ein einfaches Anführungszeichen (0x27) ist. Die Sequenz 0xC0 0x27 passiert daher mit einem nicht-escapten einfachen Anführungszeichen-Byte, das weiterhin in der „escapten" Zeichenkette eingebettet ist.

3. psql bricht aus dem Literal aus und führt \! aus (CVE-2025-1094). Die „escapete" Zeichenkette wird an psql weitergeleitet, das 0xC0 0x27 nicht als ein Zeichen behandelt. Daher schließt das 0x27 das SQL-String-Literal vorzeitig, und alles danach wird als neue Eingabe geparst. Der Angreifer nutzt dies, um die \!-Meta-Befehl von psql zu erreichen, der einen Shell-Befehl als der Site-Benutzer ausführt:

<0xC0>'; \! <cmd> #

Rapid7 stellte fest, dass RCE in der Praxis immer auf CVE-2025-1094 beruht und dass diese allein ausreicht: Die Zustellung des rohen 0xC0-Bytes innerhalb eines binären WebSocket-Frames (anstatt eines Text-Frames, wo UTF-8-Validierung es entfernen würde) erreicht gskey unverändert und löst den SQL-Ausbruch ohne jeden echo -e-Schritt aus. Dieser Detektor verwendet diesen Binär-Frame-Ansatz.


Erreichbarkeit

Die gesamte Kette ist vor der Authentifizierung über einen einzelnen WebSocket erreichbar:

Tool herunterladen