Атака здесь широко известна как атака «Ревущего зверя»; вы можете прочитать об этом больше в этих бюллетенях:
Чтобы использовать функцию chroot (2)
, FTP-сервер должен иметь привилегии root. Позже непривилегированный клиент запрашивает создание файлов в пределах / etc
(или / lib
) в пределах этого процесса сервера chrooot.Эти каталоги обычно содержат динамически загружаемые библиотеки и конфигурацию для системных библиотек, таких как преобразователь DNS, обнаружение имени пользователя / группы, и т. Д. . Файлы, созданные клиентом, - это , а не в реальных каталогах / etc /
и / lib
в системе - , а внутри корневого каталога
эти файлы, созданные клиентом , являются реальными .
Таким образом, злонамеренный клиент подключается к FTP-серверу, который блокирует их процесс, они создают необходимые каталоги / файлы / lib
и / etc
в этом chroot-файле, загружают вредоносную копию некоторые динамические библиотеки, а затем попросить сервер выполнить какое-либо действие, которое запускает использование их новых динамических библиотек (обычно это просто список каталогов, что приводит к использованию системных функций для обнаружения пользователей / групп и т. д.). Серверный процесс запускает эти вредоносные библиотеки и , поскольку сервер может все еще иметь привилегии root , и этот вредоносный библиотечный код может иметь дополнительный доступ для выполнения любых действий.
Обратите внимание, что / etc
и / lib
не являются каталогами только для наблюдения; проблема больше в предположениях, сделанных системными библиотеками относительно их расположения файлов в целом. Таким образом, на разных платформах могут быть другие каталоги, которые нужно охранять.
ProFTPD, например, теперь запрещает создание таких каталогов / etc /
и / lib
при chrooted , чтобы смягчить такие атаки.
Tox , возможно, стоит посмотреть. Я не углублялся в это, но полагаю, что вы можете довольно легко написать сценарий оболочки, который открывает клиента и вызывает вас. Похоже, вам нужно использовать строку из 76 символов, чтобы добавить «друзей». Там есть строка «NoSpam», которую вы можете изменить по своему желанию, и люди не смогут добавить ее, если каким-то образом угадают 76-символьный идентификатор.