
Fidelis Network and Deception — повышение привилегий из-за небезопасных прав доступа к файлам
Эксплоит был одобрен для публичного распространения правительством США. Особая благодарность военнослужащим и правительственным связным, ответственным за утверждение документации для неограниченного распространения. Пожалуйста, обращайтесь к следующим номерам OTR:
Дата: 20220516 0123H UTC
Автор эксплоита: Henry Reed, The Aerospace Corporation
Сайт разработчика: https://fidelissecurity.com/
Затронутые версии:
Протестировано на:
CVE: CVE-2022-0997
Описание CVE: Неправильные права доступа к файлам в компонентах CommandPost, Collector и Sensor продуктов Fidelis Network и Deception позволяют злоумышленнику с локальным административным доступом к CLI изменять файлы сценариев, что может привести к выполнению произвольных команд с правами root при последующем входе пользователя root. Уязвимость присутствует в версиях Fidelis Network и Deception до 9.4.5. Для устранения этой уязвимости доступны исправления и обновления.
Сценарии в каталоге /etc/profile.d/ запускаются при входе в систему. Пользователь fidelis является владельцем файла login.sh, что позволяет ему произвольно изменять этот файл. При последующем входе пользователя root этот сценарий запускается, что даёт возможность злоумышленнику выполнить произвольный код с правами root.
Рекомендуется пользователям затронутых продуктов Fidelis Deception или Fidelis Network обновить своё программное обеспечение для устранения этой уязвимости. Также рекомендуется всем пользователям, независимо от того, затронуты ли они этой уязвимостью, отключить доступ по оболочке к своим продуктам Fidelis после начальной настройки.
Если по какой-либо причине ни то, ни другое невозможно, в этом документе описана мера защиты для уязвимого файла. Насколько показало тестирование автора, пользователям, скорее всего, придётся использовать уязвимость для повышения привилегий, прежде чем они смогут применить описанные меры, поэтому настоятельно рекомендуется обновить Fidelis и отключить SSH.
Протестировано на:
Неправильные права владения на /etc/profile.d/login.sh позволяют пользователю fidelis повысить привилегии до уровня root в нескольких продуктах Fidelis. Сценарии в /etc/profile.d запускаются каждый раз, когда пользователь открывает оболочку. Файл принадлежит пользователю fidelis, что позволяет ему произвольно изменять сценарий, и при входе пользователя root выполнить произвольный код, например, обратную оболочку.
$ vim /etc/profile.d/login.sh
Уязвимость была впервые обнаружена с помощью LinPEAS, сценария для перечисления возможностей повышения привилегий в Linux:

Обратите внимание на выделенный красным текст: «You have write privileges over /etc/profile.d/login.sh». Красный вывод указывает на высокую уверенность в работоспособности эксплоита.
Каждая потенциальная категория эксплоитов, раскрытых LinPEAS, сопровождается ссылкой на руководство на nook.hacktricks.xyz, объясняющее, как использовать уязвимость. После быстрого ознакомления было решено, что обратная оболочка через Python2 будет самым простым способом использования этой уязвимости; однако можно было использовать и любой другой код. Новый код начинается с оператора if if [[ $(whoami) = root ]]:

После добавления обратной оболочки в login.sh мы симулируем вход root, вручную входя под этим пользователем. Обратите внимание, что в реальном мире атакующему пришлось бы ждать, пока администратор вручную войдёт как root.

Затем атакующий получает обратную оболочку с правами root:

Изменение владельца и группы файла /etc/profile.d/login.sh на root:root, а также предоставление только прав на чтение и выполнение для категории «остальные» пользователи для /etc/profile.d/login.sh позволит устранить эту уязвимость:
