LINUX.ORG.RU

История изменений

Исправление Deleted, (текущая версия) :

Если интересно, то дело было примерно так...

С побегом из чрута всё элементарно: в чруте только ssh, а httpd/php работает вне чрута. И из чрута можно добавлять файлы в директорию веб-сервера. По первому же запросу «php shell» нагугливаем вот это: https://github.com/flozz/p0wny-shell, кладём единственный файл в директорию веб-сервера, переходим браузером на правильный адрес - готово! У нас есть шелл в хостовой системе. Но от непривилегированного юзера bitrix.

Далее исследуем систему на предмет работающих сервисов с очевидно кривыми настройками. Обнаруживаем сервис munin-node, работающий от рута. Видим, что у /etc/munin права munin:bitrix 0775 (или что-то такое, я не вёл записи и точно не помню). Всмоминаем, что munin запускает свои скрипты-плагины прямо из /etc/munin/plugins/. Большинство плагинов от имени непривилегированного пользователя munin, но несколько штук - от имени рута. Выбираем один из них и симлинк в /etc/munin/plugins/ подменяем на скрипт прямо в той же директории, но уже с нашим злобным содержимым. Всё, мы можем писать произвольный код, который munin-node затем запустит от рута. Триггернуть munin-node можно банально неткатом прямо с этого же хоста. Далее можно делать с системой всё что угодно.

Исправление Deleted, :

Если интересно, то дело было примерно так...

С побегом из чрута всё элементарно: в чруте только ssh, а httpd/php работает вне чрута. И из чрута можно добавлять файлы в директорию веб-сервера. По первому же запросу «php shell» нагугливаем вот это: https://github.com/flozz/p0wny-shell, кладём единственный файл в директорию веб-сервера, переходим браузером на правильный адрес - готово! У нас есть шелл в хостовой системе. Но от непривилегированного юзера bitrix.

Далее исследуем систему на предмет работающих сервисов с очевидно кривыми настройками. Обнаруживаем сервис munin-node, работающий от рута. Видим, что у /etc/munin права munin:bitrix 0775 (или что-то такое, я не вёл записи и точно не помню). Всмоминаем, что munin запускает свои скрипты-плагины прямо из /etc/munin/plugins/. Большинство плугинов от имени непривилегированного пользователя munin, но несколько штук - от имени рута. Выбираем один из них и симлинк в /etc/munin/plugins/ подменяем на скрипт прямо в той же директории, но уже с нашим злобным содержимым. Всё, мы можем писать произвольный код, который munin-node затем запустит от рута. Триггернуть munin-node можно банально неткатом прямо с этого же хоста. Далее можно делать с системой всё что угодно.

Исходная версия Deleted, :

Если интересно, то дело было примерно так...

С побегом из чрута всё элементарно: в чруте только ssh, а httpd/php работает вне чрута. И из чрута можно добавлять файлы в директорию веб-сервера. По первому же запросу «php shell» нагугливаем вот это: https://github.com/flozz/p0wny-shell, кладём единственный файл в директорию веб-сервера, переходим браузером на правильный адрес - готово! У нас есть шелл в хостовой системе. Но он непривилегированного юзера bitrix.

Далее исследуем систему на предмет работающих сервисов с очевидно кривыми настройками. Обнаруживаем сервис munin-node, работающий от рута. Видим, что у /etc/munin права munin:bitrix 0775 (или что-то такое, я не вёл записи и точно не помню). Всмоминаем, что munin запускает свои скрипты-плагины прямо из /etc/munin/plugins/. Большинство плугинов от имени непривилегированного пользователя munin, но несколько штук - от имени рута. Выбираем один из них и симлинк в /etc/munin/plugins/ подменяем на скрипт прямо в той же директории, но уже с нашим злобным содержимым. Всё, мы можем писать произвольный код, который munin-node затем запустит от рута. Триггернуть munin-node можно банально неткатом прямо с этого же хоста. Далее можно делать с системой всё что угодно.