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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2012-6422 — Эксплойт для уязвимости /dev/exynos-mem, присутствовавшей в более ранних телефонах Samsung. | Kitploit
Инструменты/GitHubGitHub/wired0ut/cve-2012-6422
Повышение привилегийАнализ уязвимостейЭксплуатацияCTFЭксплуатация Бинарных Файлов
GitHubwired0ut/cve-2012-6422

CVE-2012-6422

Эксплойт для уязвимости /dev/exynos-mem, присутствовавшей в более ранних телефонах Samsung.

Репозиторий
111 месяцев назадЕщё не проверено

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться

Эксплойт Exynos

Это PoC для эксплуатации уязвимости /dev/exynos-mem, появившейся в ранних телефонах Samsung. Сделано из интереса к исследованию уязвимостей ядра и в рамках CTF-задания.

Эксплойт

Уязвимость, присутствующая в этих телефонах, — это права доступа к устройству exynos-mem. Оно позволяло пользователям и чтение, и запись, даже не будучи root! Устройство exynos-mem позволяет читать/писать напрямую в /dev/mem, то есть можно напрямую писать в код и данные ядра.

Используя /proc/iomem, можно быстро выяснить, каким физическим адресам соответствует какая память в операционной системе, и даже найти, где находится память Кода / Данных ядра.

Эксплойт делает несколько вещей, чтобы получить root:

  1. Так как мы не root, у нас нет доступа к /proc/kallsyms, что нас ограничивает. Поэтому мы сканируем память ядра, чтобы найти строку формата, используемую в kallsyms (seq_printf(m, "%pK %c %s\n", (void *)iter->value, iter->type, iter->name);) и заменяем её на %p вместо %pK, чтобы адреса символов выводились нам, обычным пользователям.
  2. Читаем /proc/kallsyms, чтобы найти адрес символа nsown_capable, который используется для определения того, имеет ли пользователь, вызывающий setuid(), разрешение на это.
  3. Используем этот адрес и перезаписываем код функции nsown_capable, чтобы она просто возвращала return true;, позволяя любому пользователю вызывать setuid() с любым нужным ему uid.
  4. Вызываем setuid(0) и system(/bin/sh).

Примечания

Константы в файле, возможно, потребуется немного изменить, чтобы они подходили для вашей системы; задайте их по необходимости.

Скачать инструмент