TL; DR;
In jüngerer Zeit (seit ungefähr 1983) stellte sich heraus, dass OpenSSH als Nachfolger von rsh für den Befehl scp (z. B. Rcp) dem
Server ermöglicht , auszuwählen, welche Datei und mit welchen Parametern an Sie übertragen werden soll. Durch Ausgabeschwachstellen können Sie verbergen, welche Datei an Sie übertragen wurde.
Das heißt, Sie fragen file.txt, aber Sie erhalten - Exploit.bin
Und es gibt noch keine Korrekturen, das sind die Dinge. Verwenden Sie sftp oder rsync.
Details
CVE-2019-6109
Der scp-Client sucht nicht nach zusätzlichen Zeichen im Dateinamen, wodurch Sie den tatsächlichen Namen der übertragenen Datei ausblenden können (z. B. ASCII-Codes).
CVE-2019-6110
Mit dem scp-Client können Sie in stderr schreiben und Daten im Terminal neu schreiben, wodurch Sie den tatsächlichen Namen der übertragenen Datei (z. B. ASCII-Codes) ausblenden können.
CVE-2019-6111
Der scp-Client überprüft nicht, welche Datei an ihn gesendet wird, und vergleicht sie nicht mit den angeforderten. Ein böswilliger Server kann den Client mit allem füllen, was er will, und mit jedem Modus.
Arbeitsbeispiel
$ rm -rf * $ ls -la 36 drwxr-xr-x 2 user user 4096 25 15:11 . drwx------ 99 user user 28672 25 14:23 .. $ scp test@localhost:x.txt . x.txt 100% 32 0.3KB/s 00:00 $ ./exploit.sh # ?! You're hacked. Sorry for that Please upgrade your OpenSSH client $
In diesem Beispiel (ein leicht modifizierter Exploit über den obigen Link) wird die Datei Exploit.sh mit den Berechtigungen 755 mit x.txt geladen, und mithilfe von Garbage wird die Übertragungsfakten selbst gelöscht.
Gefährdete Kunden
Kurz gesagt, das ist alles. OpenSSH einschließlich 7.9p1, Putty, Winscp <5.13.
Nur WinSCP hat Fixes (5.14+)
Verwenden Sie sftp / rsync, wenn Sie mit nicht vertrauenswürdigen Servern arbeiten.