OwnCloud 6 und Pydio 5 angreifbar für XSS Attacken

Im Dezember 2013 wurde in OwnCloud eine Schwachstelle entdeckt, die Benutzer für XSS Attacken angreifbar macht.

XSS Attacken bestehen aus dem Einschleusen von Javascriptcode in bestehende Webseiten, deren Inhalt dann im Context eines Benutzers ausgeführt wird. Ziel dieses Angriffs ist entweder der Zugang des Benutzers, oder das Umleiten auf eine andere Seite, welche dann Daten abgreift oder einen Exploit gegen den Besucher PC/Browser ausführt.

James Sibley von blog.noobroot.com hat nun am 12.12.2013 so eine Schwachstelle über einen sehr ungewöhnlichen Angriffsvektor geschafft, nämlich dem Filesystem. Dieser Angriff funktioniert auch bei Pydio(ehemals AjaXplorer).

Zunächst erzeugt man erstmal auf einem x beliebigen Linux/Unix System eine Datei, die wie ein HTML-Tag benannt ist :

echo "" > "<img src=x onerror=alert(window.document.cookie);>.txt"

Klingt unglaubwürdig, funktioniert aber wirklich. Solange keine weiteren ‚“‚ im Namen sind, kann man auf diese Weise leicht alle beliebigen Anweisungen unterbringen, da Filenamen in modernen Dateisystem auch länger als 64 Zeichen sein können. Möchte man ‚“‚ drin haben, muß man sich nur etwas mehr anstrengen bei der Eingabe. Für dieses Demo belassen wir es mal dabei.

OwnCloud und Pydio erlauben es Benutzern solche Dateien zu teilen. Passiert dies, wird der betreffende Benutzer die von einem anderen Benutzer geteilte Datei in seinem Zugangsfenster sehen. In dem Augenblick wird vom Browser der Tag <img … > ausgewertet, weil er im Sourcecode der Seite steht. Weil das Bild nicht angzeigt werden kann, wird das onError-Script ausgeführt, welches der Angreifer in den Dateinamen geschrieben hat.

Wie wird da jetzt ein Angriff draus, denn erzeugen kann man die Datei über Pydio und OwnCloud nicht?

Ganz einfach: Man erzeugt die Datei auf einem externen Server und bindet diesen über die unzähligen Methoden als neues Repository (Begriff von Pydio) z.b. via Samba, FTP, AmazoneS3 oder DropBox-Anbindung ein. Dann kann man die Datei freigeben.

Das Opfer kann dagegen nichts machen, da bspw. in Pydio dazu keine Interaktion zwischen den beiden Benutzern nötig ist. Man kann dort eine Datei für x-beliebige Benutzer freigeben, oder gleich komplett für alle. Der angegriffene Benutzer sieht den Angriff erst, wenn es zuspät ist, er also die Seite mit dem geänderten Dateinamen anzeigt. Ohne sie anzuzeigen, kann man sie nicht sehen, also kommt es für ihn überraschend und damit zu spät. In dem Augenblick wird der Browser zum Helfershelfer der Angreifer.

Pydio und OwnCloud Exploit

Pydio und OwnCloud Exploit

Gegen diesen Angriff gibt es derzeit noch keinen Patch.

Unser Rat an der Stelle kann nur lauten, daß nur vertrauenswürdige Personen Benutzerzugänge auf Ihre OwnCloud und Pydio Installation bekommen und natürlich diese natürlich keine externen Repositories einbinden dürfen. Dies kann in Pydio über das Rechtemanagement verhindert werden.

ownCloud und Pydio wurden natürlich bereits informiert.

Mailserver Chiper prüfen

Wenn man wissen will, welcher Cipher bei seinem Mailserver zum Einsatz kommt,
kann man über openssl den SSL-Bericht erstellen lassen:

openssl s_client -port 25 -host 127.0.0.1 -starttls smtp

Das Ergebnis könnte dann u.a. so aussehen:


SSL handshake has read 5832 bytes and written 602 bytes

New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-GCM-SHA384
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1.2
Cipher : DHE-RSA-AES256-GCM-SHA384
Session-ID: 5A9E7EE1836BDA1B5AF948EAC253EAE24ACD72FB8C3AAAFA1D05AFB87138ABB7
….

Der Cipher ist leicht zu erkennen. Bei der Beurteilung ob er sicher ist, müssen Sie nun Google fragen.

otto.de – Ihre Bestellung vom 20.01.2014

Ich bin seit vorgestern OTTO Kunde und ich bin dermaßen zufrieden, daß ich komplett vergessen habe, was ich da eigentlich gekauft habe. So, oder so ähnlich hatten sich die russischen Angreifer das wohl auch gedacht und mir prompt eine tolle Rechnung im allseits beliebten ZIP Format geschickt. Das dies bei OTTO nicht üblich ist, und natürlich nur den Virus verschleiern soll, der da angehängt ist im Archiv, beweist alleine schon der Satz „heute erhalten Sie Ihre Rechnung im Zip-Format“ , den man ja nicht schreiben müßte, wenns nicht was besonderes wäre.

Clever wie die Angreifer sind, schicken Sie den Inhalt in UTF-8 Kodierung, sagen der Email aber, sie wäre ISO-8859-15 aka windows-1251, was zum lustigen Umstand führt, daß die Email nur Schrottzeichen anzeigt, statt Umlauten. Wofür „=EF=BB=BF“ steht, konnten wir auf die schnelle nicht klären.

------=_NextPart_000_0075_01C4DE7E.C46E4B31
Content-Type: text/plain;
        charset="windows-1251"
Content-Transfer-Encoding: quoted-printable

=EF=BB=BF
Sehr geehrte Kundin!

heute erhalten Sie Ihre Rechnung im Zip-Format. Vielen Dank f=C3=BCr Ihre B=
estellung im OTTO.

Herzliche Gr=C3=BC=C3=9Fe,
Ihr OTTO-Online-Team

Sie sind mit folgender E-Mail-Adresse registriert: xxxx@xxxxxxxxxxxxxx

Auf in die Mülltonne, wo es hingehört.