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
Tools/GitHubGitHub/abraxas/kafka-connect-filestream-win
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungSicherheitsvirtualisierungPenetrationstestsFehlkonfigurationLabs & Praxis
GitHubabraxas/kafka-connect-filestream-win

kafka-connect-filestream-win

Kafka Connect 4.3.1 - Hoch - Windows FileStream-Klassenpfad-Rückstand - unauth Datei lesen/schreiben

Repository anzeigen
19vor 11 TagenNoch 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

Abraxas Labs - kafka-connect-filestream-win

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  kafka-connect-filestream-win

kafka-connect-filestream-win

Apache Kafka Connect 4.3.1 (26b251a) - Apache Software Foundation

KAFKA-13748 hat FileStream aus dem Unix-Connect-CLASSPATH entfernt, damit unauth REST keine lokalen Dateien öffnen konnte. Der Windows-Launcher hat diesen Ausschluss nie erhalten. Das Tarball liefert connect-file weiterhin in libs/ aus. kafka-run-class.bat verkettet jede Jar darin.

Unauth POST /connectors auf einem unter Windows gestarteten Worker liest und hängt Dateien an, auf die die Connect-UID zugreifen kann.

IDnoch keine CVE
CWECWE-552, CWE-1188
CVSSHigh: 9.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
ProduktApache Kafka Connect
Betroffen4.3.1 (26b251a); Windows bin/windows/kafka-run-class.bat. Unix .sh schließt connect-file bereits aus.
Authunauthentifiziertes Connect REST (Standard listeners=http://:8083, kein rest.extension.classes)
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1

Was ein Angreifer tun kann

Richte einen Browser oder curl auf Connect REST auf einem Worker, der mit den mitgelieferten Windows-.bat-Dateien gestartet wurde. Erstelle eine FileStream-Source. Der Worker öffnet den Pfad, den du in file angibst, und produziert die Bytes auf ein Kafka-Topic. Erstelle eine FileStream-Sink. Der Worker erstellt oder hängt den Pfad an, den du in file angibst. Es gibt keine Allowlist.

Der Unix-Launcher entfernt connect-file.*.jar bereits. Dasselbe JSON gegen das Standard-connect-distributed.sh ergibt einen 400: unbekannter Connector. Das Standard-apache/kafka-Docker ist der Linux-Broker. Dieser Überrest ist der Windows-CLASSPATH.

Wie ich es gefunden habe

Ich habe zuerst die Kafka-CVE-Liste gelesen: JAAS Jndi/Ldap, OAUTHBEARER URL-Allowlist, DefaultJwtValidator, ConfigProvider, FileStreams öffentliches JIRA. Unix kafka-run-class.sh hat noch den Ausschluss:

regex="(-(test|test-sources|src|scaladoc|javadoc)\.jar|jar.asc|connect-file.*\.jar)$"

cc_pkg lässt file ebenfalls weg. Dann habe ich die Windows-Kopie geöffnet:

for %%p in (api runtime file json tools) do (
	for %%i in ("%BASE_DIR%\connect\%%p\build\libs\connect-%%p*.jar") do (
		call :concat "%%i"
	)
)
rem Classpath addition for release
for %%i in ("%BASE_DIR%\libs\*") do (
	call :concat "%%i"
)

build.gradle kopiert connect-file weiterhin nach libs/. Die Dokumentation sagt, FileStream sei nicht im Standard-CLASSPATH. Dieser Satz stimmt für .sh.

Doyensec hat diese Klasse 2022 beschrieben. KAFKA-13748 / PR 11908 war der Unix-Fix. Die .bat wurde nie aktualisiert.

Bereits dokumentierte Irrwege: Wine; das Ausführen der .bat unter macOS; plugin.path als die Lücke zu betrachten (es ist auf beiden Workern leer); zu behaupten, Linux-Docker sei dieser Bug; ein 201 unter Unix als SUCCESS zu werten. Theater: eine Reverse Shell. Das Orakel ist Unix 400 plus eine Zeugin-Zeile in der Sink-Datei.

Lab

cd lab
./run.sh

Unix REST 127.0.0.1:18083 ist das Standard-connect-distributed.sh. Windows-Sim 127.0.0.1:18084 ist ungefiltertes libs/*, die libs\*-Schleife der Release-.bat. Kein Wine. Der Broker ist apache/kafka:4.3.1 im Compose-Netzwerk. Binde es an Loopback.

unix-filestream=absent unix-post=400
win-filestream=present win-source=201 win-sink=201 pwned=yes
SUCCESS kafka-connect-filestream-win ... KAFKA-CONNECT-FILESTREAM-WIN-WITNESS

Der Fix

Gib kafka-run-class.bat denselben connect-file-Ausschluss, den die .sh bereits hat. Entferne file aus der Gradle-from-Source-Schleife for %%p in (api runtime file json tools). Liefere die Jar weiterhin für Leute aus, die plugin.path absichtlich setzen.

Referenzen

  • github.com/apache/kafka Tag 4.3.1 (26b251a451ce941d3d7a55e6487bcb7f16b5ad48)
  • bin/windows/kafka-run-class.bat · bin/kafka-run-class.sh
  • FileStreamSourceTask.java · FileStreamSinkTask.java
  • KAFKA-13748 · PR 11908
  • Doyensec 2022 Kafka Connect FileStream Advisory
Tool herunterladen