Wer Nemo als Filemanager benutzt und sich mit einer Windowsfreigabe verbinden will, der hat die in der Hilfe angegebene Funktion „Other Locations“ sicherlich auch schon gesucht ( und nicht gefunden ). Was nun ?
In Nautilus ist diese Funktion im Netzwerktab verfügbar, was aber nicht heißt, daß es auch geht 😉 Was aber geht, ist im Dateimenü die Option „Mit Server verbinden“ anzuklicken. Es erscheint das Menü:
Man muß leider einen Usernamen und ein Passwort eingeben, auch eine Domäne wäre hilfreich, wird aber notfalls auch automatisch ausgefüllt. Username und Passwort werden immer mitgeschickt, was einer Sicherheitslücke gleichkommt, wie die Macher von Hak5.com bewiesen haben.
Sind die Angaben gesendet, klappt es auch mit dem Einloggen:
Was uns jetzt natürlich noch fehlt, ist der Netzwerkscanner, der alle verfügbaren Server findet und uns das elegant zur Auswahl gibt, also so, wie man das schon hatte, bevor es kaputt gepatcht wurde im Nautilus.
Der Rechnerarbeitsplatz ist verwaist, der Screensaver mit Passworteingabe saved so vor sich in, und doch sind die Logindaten jetzt bei jemand anderem?
Was nach Magie klingt, ist lediglich das Ausnutzen von aktuellen Mechanismen unter Windows, MacOs und vielleicht auch Linux. Der Angreifer ist dabei ein kleiner USB Stick, der sich als Netzwerkkarte ausgibt und eine schnellere und bessere Netzwerkanbindung verspricht, als die Netzwerkkarte zu bieten hat. Akzeptiert das Betriebssystem die neue Netzwerkkarte als besser, trennt es die bisherigen Netzwerkverbindungen auf und erstellt über den neuen Link sofort neue Verbindungen. (DHCP ist da nicht ganz schuldlos dran.)
Was kann dabei schon schief gehen, ist doch alles verschlüsselt !
Ja, was kann da schon schief gehen, wenn man sich als SMB Client, Unixern besser bekannt als Samba, als ein Netzwerklaufwerk neu an einem Netzwerkgerät anmeldet ? Na, das Passwort wird erneut übertragen, was im Fall von Samba ein Passwordhash ist und der ist bei Nativem Windows, wer hätte es erraten, nicht sicher. Deswegen Blocken Router Samba auch per Default, damit es keine Passwörter und Usernamen verrät. Ja, der Username wird in Klartext übermittelt 😀
Der Gag am Rande, SMB schickt den Usernamen und Hash unaufgefordert zum Netzwerkgerät, selbst wenn man da noch nie angemeldet war, weil es könnte ja einen User mit dem Passwort dort geben und dann soll der verdammt nochmal auch gleich das Laufwerk benutzen können.
SMB Entwickler: Laßt Euch von der Marketingabteilung nicht immer alles gefallen, Ihr Weicheier ! Steht auch mal für ein „Nein, ist uns zu unsicher.“ ein !
Wer wars, was benutzte er dazu ?
Hacker Mubix beschreibt in seinem Beitrag wie er mit einer 50 US$ Hardware den Angriff in 15 Sekunden durchführt. Dazu läuft auf dem USB Stick ein Minicomputer mit Linux der einen Sambashare simuliert und einfach alle IPs bedient.
Besser verständlich ist allerdings ein Video von Hak5 über einen anderen Angriff, der die gleiche Lücke von SMB ausnutzt, aber nur funktioniert, wenn der User eingeloggt ist. Dafür braucht er nur 1,5 Sekunden dafür, und dafür reicht schon ein simples Ablenkungsmanöver.
Gegenmaßnahmen
So leid es mir tut, dies zu sagen, aber außer Ausschalten hilft da nichts, weil aus einem Standby könnte der Angreifer den Rechner rausholen, die Netzwerkkarte zu deaktivieren und damit das Netz lahmlegen nutzt auch nichts, weil das USB Gerät ist ja eine Netzwerkkarte und genau die will das OS haben. Man müßte schon in Windows das automatische akzeptieren von USB Geräten abschalten. Lustigerweise wird das für Storage-Sticks auch gemacht, aber eine USB-Ethernetkarte ist halt kein Storage-Stick 😀 Mal sehen ob M$ ein Einsehen hat und einen Patch rausbringt, daß wenn der Screensafer läuft, keine Automatismen greifen.
Fedora kommt standardmäßig mit einem Medienfreigabecenter daher. Leider handelt es sich dabei nicht um Freigaben wie man Sie von Windows kennt, sondern um DLNA Zugänge für mobile und nicht ganz so mobile Endgeräte bereitzustellen. Es ist nicht leicht zu erkennen, was man da eigentlich freigibt und nutzen tut es oft auch nichts, wenn man mit Windowsrechnern Daten austauschen möchte.
Zum Glück gibt es eine einfach Lösung dafür : Samba.
Letzteres Paket gibt uns den im Fedora 20 verloren gegangenen Sambakonfigurator für die Oberfläche zurück:
Damit kann man wirklich problemlos alle Freigaben managen. Aktivieren wir zunächst Samba. Dazu als Root eingeben:
systemctl enable smb
systemctl start smb
Hat man das gemacht, wird man leider feststellen, daß die Freigaben nicht funktionieren 🙁 Die Ursache ist SELINUX, daß den Zugriff von Samba auf die Verzeichnisse verhindert.
Der schnellste Weg: als Root „setenforce 0“ eingeben. Damit ist SELINUX erstmal im Überredungsmodus, d.h. es meckert zwar, aber es klappt. Die Freigabe kann man nun von außen aufrufen. Das muß man auch tun, damit nun die nötigen Meldungen im SELinux produziert werden. Danach muß nur noch den Fehlermeldungen vom SEL-Control folgen, und die nötigen Änderungen an der SEL-Configuration vornehmen.
Jetzt wieder SEL aktivieren : „setenforce 1“ . Das wars. Samba kann jetzt die Freigaben benutzen und das einem regen Datenaustausch steht nichts mehr im Weg.
Kleiner Tip für Android: Mit dem ES Datei Explorer und MX-Player, kann man alle Videos von der heimischen Platte ohne Probleme auf dem Handy oder Tablet als Stream sehen, dank Samba.