13.04.2024

Сценарий атаки на обработчик не установленных приложений в Ubuntu

Исследователи из компании Aqua Security обратили внимание на возможность совершения атаки на пользователей дистрибутива Ubuntu, используя особенности реализации обработчика «command-not-found«, выдающего подсказку в случае попытки запуска отсутствующей в системе программы. Проблема в том, что при оценке запускаемых команд, которые отсутствуют в системе, «command-not-found» использует при выборе рекомендации не только пакеты из штатных репозиториев, но snap-пакеты из каталога snapcraft.io.

Проблема в том, что обработчик «command-not-found» при формировании рекомендации на основе содержимого каталога snapcraft.io не учитывает статус пакета и охватывает пакеты, добавленные в каталог непроверенными пользователями. Таким образом, атакующий может разместить в snapcraft.io пакет со скрытым вредоносным содержимым и именем, пересекающимся с существующим DEB-пакетами, программами, отсутствующими а штатном репозитории, или фиктивными приложениями, имена которых отражают типичные опечатки и ошибки пользователей при наборе имён популярных утилит.

Например, можно разместить пакеты «tracert» и «tcpdamp» с расчётом, что пользователь ошибётся при наборе утилит «traceroute» и «tcpdump». При вводе подобных имён «command-not-found» порекомендует установить из snapcraft.io размещённые злоумышленником вредоносные пакеты и пользователь может не заметить подвох и посчитать, что система рекомендует только проверенные пакеты. Атакующий также может разместить в snapcraft.io пакет, имя которого пересекается с существующими deb-пакетами, и в этом случае «command-not-found» выдаст две рекомендации по установке deb и snap, а пользователь может выбрать snap, посчитав его более защищённым или соблазнившись более новой версией.

Приложения в формате snap, для которых в snapcraft.io допускается автоматическое рецензирование, могут выполняться только в изолированном окружении (snap-пакеты без изоляции публикуются только после ручного рецензирования). Атакующему может оказаться достаточным выполнение в изолированном окружении с доступом к сети, например, для майнинга криптовалюты, совершения DDoS-атак или рассылки спама.

Злоумышленник также может использовать во вредоносных пакетах методы для обхода изоляции, такие как эксплуатация неисправленных уязвимостей в ядре и механизмах обеспечения изоляции, задействование snap-интерфейсов для обращения к внешним ресурсам (например, для скрытой записи звука и видео) или захват ввода с клавиатуры при использовании протокола X11 (например, для создания работающих в sandbox-окружении кейлоггеров).

Источник: https://www.opennet.ru/opennews/art.shtml?num=60602 Источник.