Бесплатно Экспресс-аудит сайта:

15.02.2024

Command-not-found: как хакеры подсовывают линуксоидам вредоносные пакеты

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

Command-not-found предлагает установить пакеты, когда пользователи пытаются запустить команды, отсутствующие в системе. Причём утилита может рекомендовать как стандартные APT-пакеты, так и snap-пакеты из репозитория Snappy. Для сканирования имеющегося ПО используется внутренняя база данных, а для поиска snap-аналогов запускается команда advise-snap.

Изучив принцип работы утилиты, исследователи компании Aqua Security выяснили, что её можно обмануть через систему алиасов. Для поиска snap-пакетов утилита полагается на соответствие команды и имени пакета. Злоумышленники же могут зарегистрировать любое имя для вредоносного snap-пакета, указав нужный алиас.

По итогу, когда пользователи попытаются запустить команду, связанную с этим алиасом, command-not-found будет рекомендовать им установить поддельный пакет.

Ещё один вектор атаки связан с возможностью регистрировать snap-пакеты с именами, совпадающими с уже существующими APT-пакетами. Так, например, взломщики могут выпустить зловредный snap-пакет «jupyter-notebook», а утилита command-not-found будет по умолчанию рекомендовать его вместо оригинального APT-пакета.

По подсчётам экспертов, около 26% команд для APT-пакетов в Ubuntu уязвимы для такой подмены. Злоумышленники могут зарегистрировать соответствующий snap от своего имени, это не составляет какого-либо труда.

Кроме того, взломщики могут использовать опечатки, которые часто допускают неопытные пользователи при вводе команд. Например, вместо «ifconfig» человек может набрать «ifconfigg». Создав поддельный snap-пакет «ifconfigg», хакеры обеспечат его рекомендацию command-not-found вместо пакета net-tools, содержащего оригинальную команду.

Исследователи называют описанную проблему системной для Ubuntu и указывают на необходимость серьёзных обновлений утилиты. Они также призывают пользователей внимательно проверять репутацию и источник рекомендуемых пакетов, прежде чем их устанавливать.

Разработчикам APT-пакетов, в свою очередь, рекомендуется регистрировать snap-имена, связанные с их продуктами. Это поможет предотвратить подмену злоумышленниками.

Неизвестно, использовалась ли уже уязвимость command-not-found в реальных атаках. Тем не менее, проблема уже получила широкую огласку. В Canonical, компании-разработчике Ubuntu, обещают предпринять меры по исправлению уязвимости в ближайшее время.