Неправильно настроенный NFS приводит к повышению привилегий в Linux

Неправильно настроенный NFS приводит к повышению привилегий в Linux

Неправильно настроенный NFS приводит к повышению привилегий в Linux

Специалисты в области безопасности опубликовали способ эксплуатации неправильно сконфигурированного NFS для повышения привилегий в системе Linux. NFS (Network File System) — протокол сетевого доступа к файловым системам, первоначально разработан Sun Microsystems в 1984 году. За основу взят протокол вызова удалённых процедур (ONC RPC). Позволяет подключать (монтировать) удалённые файловые системы через сеть.

Как известно, NFS использует TCP/UDP-порт 2049 для обмена файлами и директориями. Первым делом эксперты имитируют плохо настроенный NFS.

«В принципе, есть три основных файла конфигурации (/etc/exports, /etc/hosts.allow и /etc/hosts.deny), которые нужны для настройки сервера NFS. Но нас интересует пока только /etc/export», — пишут исследователи.

Файл /etc/exports содержит запись для каждой директории, которую вы планируете расшарить. Каждая запись описывает, как файл или директория будет расшариваться. NFS считается настроенным слабо, если в файле конфигурации присутствует запись вида:

/home       *(rw,no_root_squash)

Она означает, что мы расшарили директорию /home, позволив root-пользователю получить доступ к операциям чтения-записи. Знак * указывает на то, что соединение возможно с любого хоста.

Далее специалисты воспользовались Nmap для сканирования службы NFS в целевой сети. Nmap может показать имя каталога общего доступа, если открыт порт 2049. Для идентификации общего каталога Nmap использует команду showmount –e.

Для эксплуатации NFS-сервера эксперты создали директорию raj внутри /tmp, примонтировали директорию /home и загрузили эксплойт, позволяющий повысить привилегии до root.

«Во-первых, вам нужно скомпрометировать целевую систему, а затем перейти к этапу эскалации привилегий. Предположим, вы успешно вошли в систему жертвы через ssh. Теперь мы знаем, что /home представляет собой общий каталог, так что нужно выполнить следующую команду», — объясняют исследователи.

cd /home
ls
./bash -p
id
whoami

Это один из описываемых специалистами методов, также они предлагают использовать язык C для того же эффекта.

В сообществе Linux впервые появился план на случай ухода Линуса Торвальдса

Сообщество разработчиков ядра Linux впервые официально оформило план на случай, если Линус Торвальдс вдруг решит уйти на пенсию или если что-то пойдёт не так. Сам Торвальдс возглавляет разработку ядра с 1991 года, и за это время стал не просто мейнтейнером, а настоящей константой проекта.

Не так давно он и сам заметил, что сообщество «становится возрастным», но при этом подчеркнул: с точки зрения экспертизы всё в порядке — новые люди приходят, и через несколько лет вырастают в ключевых разработчиков.

Тем не менее вопрос «а что если?» всё же решили закрыть документально. Новый план — это сценарий, который будет задействован только в том случае, если не получится провести спокойную и заранее подготовленную передачу полномочий.

Если такой момент всё-таки настанет, первым делом сообщество назначит организатора. Им станет либо последний организатор Maintainers Summit, либо действующий председатель Технического консультативного совета Linux Foundation (TAB). После этого у него будет 72 часа, чтобы запустить обсуждение с участниками последнего саммита мейнтейнеров.

Если же с последнего Maintainers Summit прошло больше 15 месяцев, список участников определит TAB — с правом привлекать других мейнтейнеров по своему усмотрению. Дальше всё довольно по-деловому: у этой группы есть две недели, чтобы прийти к решению и объявить его сообществу через почтовые рассылки.

По сути, это аккуратно оформленный способ сказать: «Мы знаем, как договориться, но на всякий случай записали процесс на бумаге».

Ирония в том, что даже без такого плана Linux вряд ли оказался бы в кризисе. Как не раз отмечал сам Торвальдс, проектов с мейнтейнерами, которые работают над кодом более 30 лет подряд, в open source практически не существует. Сообщество ядра давно научилось самоорганизации — просто до сих пор у него был нулевой так называемый bus factor.

Bus factor — это количество людей, которые могут «выпасть» из проекта (по любой причине), прежде чем он окажется в серьёзной опасности. У Linux этот показатель формально равнялся нулю: без Торвальдса всё держалось, но официального плана не существовало.

RSS: Новости на портале Anti-Malware.ru