Эксплойты ядра
Повышение привилегий через ядро
«Эксплойты ядра» — бесплатный урок Ethical Hacking Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Ethical Hacking Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Ethical Hacking Academy содержит 4 уроков всего.
Повышение привилегий через ядро
Когда конфигурация надежно защищена, слабым местом может оказаться само ядро. Ошибку в коде ядра, доступную из непривилегированного процесса, можно использовать для выполнения кода в кольце 0 и получения прав root.
Определение ядра
Всё начинается с точного определения версии ядра и дистрибутива. Конкретная сборка соответствует определённым общедоступным CVE и эксплойтам.
uname -r
uname -a
cat /proc/version
cat /etc/os-releaseСопоставление версии с CVE
Ищите эксплойты для своего ядра и дистрибутива в базах данных. Инструменты вроде searchsploit (локальная база Exploit-DB) и linux-exploit-suggester сопоставляют версию с вероятно работающими эксплойтами.
searchsploit linux kernel 4.4
./linux-exploit-suggester.shИзвестная уязвимость: Dirty COW
Dirty COW (CVE-2016-5195) — это состояние гонки в обработке ядром отображений памяти с копированием при записи. Оно позволяет непривилегированному пользователю изменять файлы, доступные только для чтения (например, /etc/passwd), и получать права root. Уязвимы ядра с 2007 по 2016 год.
Известная уязвимость: DirtyPipe
DirtyPipe (CVE-2022-0847) затрагивает Linux 5.8 и более поздних версий. Ошибка обработки буфера канала позволяет непривилегированному пользователю перезаписывать данные в файлах, доступных только для чтения, и получать права root с помощью аналогичных приемов перезаписи passwd/SUID.
Известная уязвимость: PwnKit
PwnKit (CVE-2021-4034) технически является ошибкой в пользовательском пространстве в pkexec (Polkit), а не в ядре, но уже более десяти лет обеспечивает надежное получение локальных прав root почти в каждом дистрибутиве Linux. Всегда проверяйте её при повышении привилегий.
ls -la /usr/bin/pkexec # SUID root, often vulnerableКомпиляция эксплойта
Большинство эксплойтов ядра представляют собой исходный код на C, который необходимо скомпилировать в соответствующей среде. Несовпадение заголовочных файлов или версий компилятора приводит к сбоям. По возможности компилируйте код на лабораторной копии целевой системы.
gcc -o exploit exploit.c
# or: gcc dcow.c -o dcow -lpthreadРиски эксплуатации ядра
Эксплойты ядра — это крайняя мера. Неудачная попытка может вызвать аварийную остановку ядра и вывести из строя всю систему — возможны потеря данных, простой и утрата доступа. Никогда не запускайте такой эксплойт без необходимости в рабочей системе.
Стабильность и надежность
Надежность эксплойта зависит от подверсии ядра, оборудования и механизмов защиты (KASLR, SMEP, SMAP). Прочитайте примечания к эксплойту, подтвердите точный диапазон затронутых версий и протестируйте его в лаборатории до работы с целевой системой.
Защита
Основная защита проста: своевременно устанавливайте исправления. Обновляйте ядра, включайте механизмы защиты, минимизируйте количество двоичных файлов SUID и используйте ограниченные ядра (усиление защиты в стиле grsecurity, seccomp). Большинство эксплойтов ядра перестают работать сразу после установки исправления.
Разрешение и осторожность
Поскольку эксплойты ядра могут привести к сбою систем, получите явное письменное разрешение до их запуска, отдавайте предпочтение периодам, не связанным с рабочей эксплуатацией, и убедитесь, что клиент готов перезагрузить систему. Работайте только в пределах разрешенной области.
Быстрая проверка
Проверьте свои знания об эксплойтах ядра.
Повторение
Вы изучили повышение привилегий через ядро:
- Сопоставляйте точную версию ядра с CVE с помощью searchsploit / LES
- Классические уязвимости: Dirty COW, DirtyPipe, PwnKit
- Эксплойты часто написаны на C и должны быть скомпилированы для целевой системы
- Это крайняя мера — сбои приводят к аварийному завершению работы системы; для защиты устанавливайте исправления
На этом курс по повышению привилегий в Linux завершен.
Часто задаваемые вопросы
Урок «Эксплойты ядра» бесплатный?
Да — полный текст урока «Эксплойты ядра» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Ethical Hacking Academy, подпишись на CoddyKit PRO. Курс Ethical Hacking Academy содержит 4 уроков всего.
Чему я научусь в уроке «Эксплойты ядра»?
Повышение привилегий через ядро Ты практикуешь Ethical Hacking Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Ethical Hacking Academy?
Предыдущий опыт не требуется. Ethical Hacking Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.
Сколько времени занимает урок «Эксплойты ядра»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Ethical Hacking Academy?
Да. Каждый урок Ethical Hacking Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.