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

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

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

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

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

Категории

Все категории
Loading categories
opnsense-tunables-loader — OPNsense 26.7.6 — высокий уровень — удалённо — инъекция строк конфигурации — загрузчик tunables | Kitploit
Инструменты/GitHubGitHub/abraxas/opnsense-tunables-loader
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийАудит конфигурацииВиртуализация для безопасностиТестирование на ПроникновениеЛаборатории и Практика
GitHub
abraxas/opnsense-tunables-loader

opnsense-tunables-loader

OPNsense 26.7.6 — высокий уровень — удалённо — инъекция строк конфигурации — загрузчик tunables

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

Популярное

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

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

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

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

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

Abraxas Labs - opnsense-tunables-loader

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  opnsense-tunables-loader

Разбор: https://abraxaslabs.tech/research/opnsense-tunables-loader

opnsense-tunables-loader

Класс: Инъекция строки конфигурации Доступ: Удалённый

Ядро OPNsense 26.7.6 (a842fe48) - opnsense.org

System: Advanced: Tunables по-прежнему интерполирует имя/значение в /boot/loader.conf. Оставшийся «родственник» GHSA-fq94. Поля tunable / value в Tunables.xml — это простые TextField (переводы строк разрешены). system_login_configure() записывает {$param}="{$value}". Переконфигурация Tunables также перезапускает login. Живой sysctl(8) проходит через shell_safe плюс фильтр OID, так что этот переход не является shell-инъекцией. Остаток — это дополнительные директивы loader при следующей загрузке. Привилегия — page-system-advanced-sysctl, а не page-all.

Этот пакет на GitHub остаётся приватным до согласованного раскрытия.

IDCVE пока нет
КлассИнъекция строки конфигурации
ДоступУдалённый (аутентифицированный WebGUI / API)
CWECWE-93
CVSSВысокий: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ПродуктOPNsense core
Затронуто26.7.6 (a842fe48c21288d11a422cb944678e8eb308becf) System: Advanced: Tunables
АутентификацияСессия WebGUI или ключ API с page-system-advanced-sysctl
ЛицензияGNU Affero GPL v3.0
Лабораторияcompose exec gadget (hunt slot 18850)

Я закрепил тег 26.7.6 peel a842fe48. Лаборатория — это PHP-гаджет закреплённой интерполяции system_login_configure(). Compose-проект opnsense-tunables-loader. Hunt slot 18850 в семействе гаджетов 18800-18860; этот compose-файл использует docker compose exec php, а не опубликованную HTTP-привязку.

Что может сделать атакующий

МетодТочка сбросаПривилегия
Значение Tunables с CR/LF (hw.usb.no_boot_wait плюс "\n# witness)закрепить дополнительную строку system_login_configure() в /boot/loader.confЦелостность (доказано в лаборатории): дополнительная строка # OPNSENSE-TUNABLES-LOADER-WITNESS на отдельной строке после закрытого присваивания. Лаборатория: newline-extra-line=yes.
Чистое значение 1тот же писательОтрицательный результат (доказано в лаборатории): одна строка присваивания, без witness. Лаборатория: clean-value-single-line=yes.
Те же дополнительные строки loader при следующей загрузкеloader init_path / module_path / *_load / vfs.root.mountfrom / консольЦелостность (предположительно): loader при следующей загрузке учитывает ключи атакующего. Перезагрузка в этом гаджете не выполнялась.
Мусорные строки loader / неверный vfs.root.mountfrom/boot/loader.confДоступность (предположительно): сбой загрузки или неверный корень.
POST /api/core/tunables/searchItemAPI tunablesРазведка (предположительно): перечисление tunables, включая текущее/значение по умолчанию/тип. Предназначено для этого ACL.
Живой sysctl -w допустимого OIDset_sysctl + фильтр OIDШтатная задача страницы. Дополнительные строки loader — это остаток.

Доказано в лаборатории vs предположительно: дополнительная строка loader через перевод строки и однострочное чистое значение — УСПЕХ в лаборатории. Применение loader при следующей загрузке — предположительно. Гаджет, а не полноценная FreeBSD VM с OPNsense.

Требуется: вошедший в систему пользователь или его Local API key с page-system-advanced-sysctl и без page-all. POST /api/core/tunables/*. CSRF при POST через сессию. Переконфигурация перезапускает login; rc.reload_all и загрузка также вызывают system_login_configure.

Смежная поверхность, которая остаётся закрытой

ПоверхностьЛаборатория
Инъекция в оболочку live sysctlshell_safe плюс фильтр OID
Чистое значениеодна строка присваивания
Без аутентификации401
Пользователь без page-system-advanced-sysctl403
user-config-readonlysave() выбрасывает исключение
Администратор page-all tunables, задающий реальный OIDпредполагаемое поведение
Исправленные текстовые поля GUI GHSA-fq94другие точки входа; это поле не было указано

Без аутентификации нет. Без live-оболочки sysctl. Без Diagnostics: Command.

Лаборатория

cd lab
./run.sh

Составьте проект opnsense-tunables-loader. Свидетель OPNSENSE-TUNABLES-LOADER-WITNESS. Последняя строка:

SUCCESS opnsense-tunables-loader newline-extra-line=yes clean-value-single-line=yes OPNSENSE-TUNABLES-LOADER-WITNESS

Корневой лаунчер: python3 opnsense-tunables-loader-Abraxas-Labs.py.

Исправление

Удалить CR/LF и " из имени и значения tunable — тот же класс, что GHSA-fq94. Типизировать имя как маску OID, а не как голый TextField. Заключать в кавычки с помощью помощника, который не может закрыть присваивание. Не записывать tunable в /boot/loader.conf, если это не известный ключ загрузчика.

Ссылки

  • github.com/opnsense/core a842fe48c21288d11a422cb944678e8eb308becf
  • system.inc интерполяция loader.conf в system_login_configure
  • Tunables.xml голые TextField для имени/значения
  • Родственный (другие текстовые поля GUI, не этот сток): GHSA-fq94
  • CWE-93
Скачать инструмент