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
nextcloud-federated-ocm-token — Nextcloud 35.0.0 — das Secret für föderierte Freigaben ist ein nicht eingeschränktes App-Passwort für den gesamten Dateibaum des Teilenden | Kitploit
Tools/GitHubGitHub/abraxas/nextcloud-federated-ocm-token
SchwachstellenanalyseExploitationWebanwendungs-ExploitationInformationsbeschaffungWebsicherheitPenetrationstestsAuthentifizierungLabs & Praxis
GitHub
abraxas/nextcloud-federated-ocm-token

nextcloud-federated-ocm-token

Nextcloud 35.0.0 — das Secret für föderierte Freigaben ist ein nicht eingeschränktes App-Passwort für den gesamten Dateibaum des Teilenden

Repository anzeigen
7vor 15 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 - nextcloud-federated-ocm-token

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  nextcloud-federated-ocm-token

nextcloud-federated-ocm-token

Nextcloud Server 35.0.0 - Nextcloud GmbH

Ein föderiertes Share-Secret wird als unscoped PERMANENT_TOKEN-App-Passwort für den Sharer erzeugt. Die Empfänger-API gibt es als refresh_token zurück. Wird es als Bearer auf dem WebDAV des Senders wiederverwendet, meldet es sich als der Sharer an und liest Dateien, die niemals geteilt wurden.

Ein böswilliger Akteur, mit dem du eine einzige Datei föderiert teilst, kann sich als du auf deinem Nextcloud anmelden, 2FA umgehen und alle deine Dateien lesen oder überschreiben, nicht nur die eine, die du geteilt hast.

IDnoch keine CVE
CWECWE-269, CWE-287
CVSSKritisch: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N (föderierter Empfänger). Public-Link-Convert ist schlimmer (kein Empfänger-Konto auf einem Peer).
ProduktNextcloud Server
Betroffen35.0.0 (da02f41) offizielles nextcloud:35.0.0-apache
Authföderierter Empfänger (oder Public-Link-Konverter)
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1

Was ein Angreifer tun kann

Du teilst eine Datei oder einen Ordner mit bob auf einem anderen Nextcloud. Nextcloud erzeugt ein 32-stelliges Secret, speichert es als dein App-Passwort und übergibt dieses Secret an Bob als refresh_token.

Bob (oder jeder, der deinen öffentlichen Link in ein föderiertes Share umwandelt) kann dann:

  • Sich als du anmelden auf deinem Server
  • Jede Datei in deinem Home lesen, nicht nur den geteilten Knoten
  • Diese Dateien überschreiben
  • Deine 2FA umgehen (App-Passwort-Pfad)

Sie erhalten keine PHP-Shell auf dem Host. Sie benötigen nicht dein Passwort. Akzeptiere das Share nicht und rufe nicht zuerst OCM access-token auf: Dieser Austausch sperrt den Dateisystem-Scope. Das Lab beweist das Pre-Exchange-Secret.


Wie ich es gefunden habe

Ein Share soll ein Share sein. Eine Datei. Ein Ordner. Ich habe FederatedShareProvider::createFederatedShare auf Tag v35.0.0 gelesen. Es erzeugt ein 32-stelliges Secret als IToken::PERMANENT_TOKEN für den Sharer ohne Scope. PublicKeyToken::getScopeAsArray setzt standardmäßig SCOPE_FILESYSTEM => true. Das ist ein App-Passwort. Session::tryTokenLogin akzeptiert ein permanentes Bearer.

Die OCM-Exchange-Arbeit (PR #57234 / #57166) sperrt den Dateisystem-Scope bereits nach dem ersten Austausch. Ein inoffizieller Writeup nutzte diesen Post-Exchange-Hop. Ich habe es zuerst damit versucht. In diesem Tree ist das ausgetauschte Token TEMPORARY, benannt OCM Access Token, und /remote.php/dav lehnt es ab (allowOcmAccessToken false). DAV sagte nein.

Also habe ich nicht ausgetauscht. ocm_discovery_enabled blieb false, damit der Empfänger es nicht für mich austauscht. Zwei offizielle nextcloud:35.0.0-apache-Boxen, overwrite.cli.url als Docker-DNS (http://sender / http://recipient). Lass das auf 127.0.0.1 und S2S spricht mit sich selbst.

Alice teilt eine Datei mit bob@http://recipient. Bob liest ausstehende Shares. refresh_token Länge 32. access_token Länge 0. Unauthentifizierter Bearer-GET auf Alices private Witness-Datei, die nie im Share war, lieferte 200, X-User-Id: alice.


Lab

cd lab
./run.sh

Ziel nur http://127.0.0.1:18340 (Sender) und :18341 (Empfänger).

SUCCESS NEXTCLOUD-OCM-PERMANENT-TOKEN who=federated-recipient uid=alice NEXTCLOUD-OCM-PERMANENT-TOKEN-WITNESS
  • lab/docker-compose.yml
  • lab/Dockerfile
  • lab/run.sh

Der Fix

Erzeuge das föderierte Secret mit Dateisystem-Scope false ab dem ersten Insert. Akzeptiere dieses Secret nicht als Bearer/Basic auf /remote.php/dav. Der erste Austausch sperrt bereits den FS-Scope; create hätte niemals ein App-Passwort herausgeben dürfen.


Referenzen

  • github.com/nextcloud/server Tag v35.0.0
  • Nahestehende OCM-Arbeit: PR #57234 / PR #57166
  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null

Lizenz

GNU Affero GPL v3.0. Siehe LICENSE. Nur Loopback-Lab. Keine Gewährleistung.

Tool herunterladen