WebDAV

Wie greift man per WebDAV auf eigene Daten in der genealogy.net Nextcloud zu? Das ist leider nicht so ganz einfach. Ich werde im Folgenden beschreiben, wie man auf einem Linux-System an die benötigten Informationen kommt.

Möchte man hingegen per WebDAV auf ein per Freigabelink freigegebenes Verzeichnis zugreifen, so ist dies sehr einfach. Angenommen, man hat einen Freigabelink https://cloud.team.genealogy.net/s/vza9bDrWUt mit dem Passwort str3ngg3h31m bekommen. Dann kann man mit folgenden Angaben per WebDav darauf zugreifen:

Zugriff zu eigenen Daten

Unten links in der Weboberfläche der Nextcloud gibt es einen Punkt „Einstellungen“:

grafik

Wenn man die ausklappt, sieht man die Adresse, unter der man per WebDAV auf die Nextcloud zugreifen kann:

grafik

Bei mir ist die Adresse https://cloud.team.genealogy.net/remote.php/dav/files/wechange-7/. Es fehlen aber noch Benutzername und Passwort.

Der Benutzername ist einfach zu finden. Es ist der letzte Bestandteil der Adresse, bei mir also „wechange-7“. (Das ist übrigens die gleiche Nummer wie in der Zentralen Benutzerdatenbank, mein Profil ist dort unter https://team.genealogy.net/user/7/ zu finden.)

Schwieriger ist das Passwort. Das ist nämlich nicht identisch mit dem aus der Zentralen Benutzerdatenbank sondern ein vom System erzeugtes, zufälliges. Der Nextcloud-Client kennt es, sonst könnte er keine Dateien synchronisieren. Da der Nextcloud-Client aber verschlüsselt kommuniziert, kann man es nicht einfach so mitlesen – genau dafür ist ja eine verschlüsselte da.

Um an das Passwort zu gelangen, benötigt man einen https proxy. Das ist ein Programm, das sich in verschlüsselte Verbindungen einklinkt und so den Datentransfer mitliest. Damit so ein man in the middle Angriff im Normalfall auffällt, gibt es Zertifikate, die ausgetaucht und überprüft werden. Wir werden ihnen im Folgenden noch begegnen.

Ich beschreibe im Folgenden, wie man unter Linux an das Nextcloud-Passwort kommt. mitmproxy ist ein solcher https proxy . Auf einem Debian-basierten System kann man ihn sich mit sudo apt install mitmproxy installieren. Mit dem Befehl mitmproxy wird er in einem Terminal gestartet. Es erscheint ein fast schwarzer Bildschirm:

Die Zahl unten rechts (8080) gibt den TCP-Port an, auf den der Proxy hört. Nun müssen wir den Datenverkehr des Nextcloud-Clients durch den mitmproxy leiten. Dazu öffnet man die Einstellungen des Nextcloud-Clients. Das geht z.B. durch einen Rechtsklick auf das Icon:

grafik

Dort öffnet man die Einstellungen („Settings“):

grafik

Wir wechseln in den Tab „Network“:

Hier haben wir die Möglichkeit, den Datenverkehr umzuleiten. Wir wählen hier die manuelle Proxyauswahl aus und geben als Host localhost und als Port 8080 an:

Wenig später öffnet sich ein Fenster mit einer Warnmeldung:

Dem Nextcloud-Client ist nämlich aufgefallen, dass die verschlüsselte Verbindung nicht mehr zum Nextcloud-Server sondern zum mitmproxy besteht. Der kennt das passende Zertifikat für unseren Nextcloud-Server nämlich nicht. Da wir den Proxy selbst gestartet haben, können wir „Trust this certificate anyway“ anhaken und auf „OK“ klicken. Nun läuft der gesamte Datenverkehr des Nextcloud-Clients durch mitmproxy. Und schon wenige Sekunden später sollte dort etwas auftauchen:

Wir wählen uns eine beliebige Verbindung aus und drücken die Enter-Taste. Es erscheinen die dabei übertragenen HTTP-Kopfzeilen:

Ich habe ein paar Stellen mit sensiblen Informationen geschwärzt. Die entscheidende Zeile ist die mit „Authorization“. Hier finden wir hinter dem Wort „Basic“ einen langen Text, den wir uns kopieren. Das Benutzername und Passwort in Base64-Kodierung. Das sieht z.B. so aus: d2VjaGFuZ2UtNzpzdXBlckdFSEVJTQo=

In einem Terminal können wir

base64 -d

aufrufen und den Text dort einfügen. Nach Drücken von Strg+D bekommen wir den Klartext ausgegeben, der mit „wechange-7:“ beginnt und dann das gesuchte (sehr kryptische) Passwort enthält.

Dieses Passwort können wir nun in jedem beliebigen WebDAV-Client verwenden.