Новое Распределяем каналы MAX по категориям и территориям. Читать новость

Почему переменная PATH может стать точкой атаки



👋 Приветствую в мире цифровой безопасности!

Когда вы вводите ls или python, Linux ищет нужную программу в каталогах из переменной PATH. Но что произойдёт, если в этом списке окажется каталог, куда может записывать другой пользователь?

⏺Посмотреть порядок поиска можно командой:

echo "$PATH"

Например:

/usr/local/bin:/usr/bin:/bin

Система проверяет каталоги слева направо и запускает первый подходящий исполняемый файл.

⏺Где появляется проблема: Допустим, скрипт администратора вызывает команду без полного пути:

#!/bin/bash
backup-tool /var/www


Если в начале PATH находится доступный для записи посторонним каталог, там можно разместить другую программу с именем backup-tool. Скрипт запустит её вместо ожидаемой утилиты.

⏺Особенно опасно, когда такой скрипт выполняется с повышенными привилегиями. Тогда подменённая программа может получить права процесса, который её запустил. Проверить, какой файл будет найден, можно через:

type -a backup-tool
command -v backup-tool


⏺Как защититься? Для привилегированных скриптов лучше задавать безопасный PATH и использовать абсолютные пути к важным утилитам:

PATH=/usr/sbin:/usr/bin:/sbin:/bin
export PATH

/usr/bin/id


Также стоит проверить, что каталоги из PATH не доступны на запись непривилегированным пользователям.

⏺Есть и менее очевидный случай: пустой элемент в PATH, например :/usr/bin, означает поиск программы в текущем каталоге. Если скрипт запускается из недоверенной директории, это создаёт дополнительный риск. Сам по себе PATH не уязвимость. Проблемы начинаются, когда привилегированная программа доверяет окружению и запускает команды, не контролируя, откуда они берутся.

🤖Бесплатный ChatGPT
Просмотры: 351
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти