Obwohl FTP ein schon recht veraltetes Protokoll ist, kommt es immer noch häufig zum Einsatz, wenn es darum geht Dateien zum Download bereitzustellen.
Verschiedene FTP-Server hatten in den letzten Jahrzehnten diverse Sicherheitslücken, die es Angreifern teilweise erlaubten Befehle auf dem Server auszuführen. Jetzt wurde abermals eine solche Schwachstelle entdeckt. Diesmal ist der ProFTPD-Server betroffen. Hier enthält das mod_copy Modul einen Programmierfehler, der es einem entfernten Angreifer erlaubt Dateien in öffentlich zugängliche Verzeichnisse des ebenfalls installierten Webservers zu kopieren. Handelt es sich dabei beispielsweise um PHP-Dateien, so kann der Angreifer diese dann über den Webserver durch eine entsprechende URL ausführen. Ein Angreifer kann damit auch beliebige Systemdateien von dem Server kopieren. Besonders kritisch an dieser Schwachstelle ist, dass der Angreifer nicht einmal einen Account auf dem FTP-Server benötigt. Mittlerweile gibt es auch fertig Exploits im Netz, die diese Lücke geziehlt ausnutzen.
Ein Beispiel ist der Propane-Exploit. Dieser nicht einmal 100 Zeilen lange Python-Code nutzt genau die beschrieben Schwachstelle aus.
Ein noch einfacherer Beispielangriff könnte wie folgt aussehen:
Trying 80.150.216.115... Connected to 80.150.216.115. Escape character is '^]'. 220 ProFTPD 1.3.5rc3 Server (Debian) [::ffff:80.150.216.115] site help 214-The following SITE commands are recognized (* =>'s unimplemented) 214-CPFR <sp> pathname 214-CPTO <sp> pathname 214-UTIME <sp> YYYYMMDDhhmm[ss] <sp> path 214-SYMLINK <sp> source <sp> destination 214-RMDIR <sp> path 214-MKDIR <sp> path 214-The following SITE extensions are recognized: 214-RATIO -- show all ratios in effect 214-QUOTA 214-HELP 214-CHGRP 214-CHMOD 214 Direct comments to root@www01a site cpfr /etc/passwd 350 File or directory exists, ready for destination name site cpto /tmp/passwd.copy 250 Copy successful
Nach dem Login in den Server wird hier die »/etc/passwd« via ProFTPD kopiert. Betreiber eines ProFTPD-Servers sollten in den Logfiles nach folgendem Eintrag Ausschau halten:
proftpd[XXXXX] HOSTNAME (REMOTE_IP): error opening destination file '/var/www/datei.html' for copying: Permission denied
Dieser deutet auf eine Attacke gegen den Server hin. Allerdings wird ein Angriff nur protokolliert, wenn dieser fehlschlug. Als schnellen Workaround bietet es sich an die
LoadModule mod_copy.c
Zeile aus der »/etc/proftpd/modules.conf«-Datei auszukommentieren. Damit wird dann das fehlerhafte Modul nicht mehr geladen. Besser ist es den kürzlich veröffentlichten Patch auf dem System
einzuspielen.
Betroffen sind die alle Versionen bis einschließlich 1.3.5 und 1.3.4e.
