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

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

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

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

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

Категории

Все категории
Loading categories
pfsense-ipsec-login-banner — pfSense CE 2.9.0-DEVELOPMENT — высокий уровень — удалённое выполнение кода — RCE — IPsec login_banner start-scripts | Kitploit
Инструменты/GitHubGitHub/abraxas/pfsense-ipsec-login-banner
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на ПроникновениеКомандование и УправлениеСтатьи и ИсследованияRed TeamingРазработка Полезной Нагрузки
Лаборатории и Практика
GitHubabraxas/pfsense-ipsec-login-banner

pfsense-ipsec-login-banner

pfSense CE 2.9.0-DEVELOPMENT — высокий уровень — удалённое выполнение кода — RCE — IPsec login_banner start-scripts

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

Популярное

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

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

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

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

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

Abraxas Labs - pfsense-ipsec-login-banner

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-ipsec-login-banner

pfsense-ipsec-login-banner

Класс: RCE Доступ: Удалённый

pfSense CE 2.9.0-DEVELOPMENT (9363ac5) - pfsense.org

Баннер входа IPsec Mobile сохраняется только с проверкой длины, а затем без кавычек вставляется в strongswan.conf как charon.plugins.attr.28672. strongSwan завершает значение без кавычек на }. Безопасный для Form_Input баннер (без переводов строк) может закрыть attr / plugins и открыть charon.start-scripts. Применение на этой странице — это strongswanrc restart. charon вызывает popen для путей start-scripts при запуске. Привилегия — page-vpn-ipsec-mobile, а не IPsec advanced / Diagnostics: Command.

IDCVE пока нет
КлассRCE
ДоступУдалённый (аутентифицированный WebGUI)
CWECWE-74
CVSSВысокий: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ПродуктpfSense CE
Затронуто2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) IPsec login_banner
АутентификацияСессия WebGUI с page-vpn-ipsec-mobile
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1

Я зафиксировал публичный master 9363ac5. Лаборатория зафиксирована на ipsec_strongswan_confgen плюс реальный /usr/lib/ipsec/charon. Loopback 127.0.0.1:18850. Префикс include не использовался.

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

МетодТочка сбросаПривилегия
POST vpn_ipsec_mobile.php save с login_banner_enable + баннер, который закрывает attr/plugins и открывает charon.start-scripts, затем POST applyipsec_strongswan_confgen без кавычек key = {$value} (ipsec.inc:1378-1384); charon popen для start-scriptsЦелостность (доказано в лаборатории): реальный charon загрузил сгенерированный конфиг и вызвал popen для пути start-scripts (charon=yes). Контрольный баннер Welcome остался внутри attr (control-no-scripts=yes).
Тот же popenфайловая система хостаРазведка (предположительно): config.xml, ключи.
Недействительный strongswan.conf или перезапуск IPseccharonДоступность (предположительно): туннели IPsec сбрасываются или не запускаются. Apply уже перезапускает IPsec.

Доказано в лаборатории vs предположительно: control-no-scripts, start-scripts в сгенерированном конфиге и реальный charon popen доказаны в лаборатории. Разведка файловой системы выведена из этого popen. Фиктивные секции после внедрённого блока поглощают три закрывающих элемента confgen, чтобы файл оставался допустимым деревом настроек.

Требуется: сессия WebGUI с page-vpn-ipsec-mobile. CSRF-токен. Save, затем Apply на той же странице. Не требует page-all, page-vpn-ipsec-editphase1 или текстовой области raw-config IPsec.

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

ПоверхностьЛаборатория
Контрольный баннер Welcomeостаётся внутри attr, без start-scripts
Неаутентифицированный / CSRF без токеназакрыто
OpenVPN config.ovpnдругой остаток (G2)
P1 HTML XSSSA-26_14 skip-list
page-vpn-ipsec-editphase1не требуется
Diagnostics: Commandостаётся закрытым, если не предоставлен дополнительно

IPsec mobile dns_domain на этой странице уже использует is_domain().

Лаборатория

cd lab
./run.sh

Loopback 127.0.0.1:18850. Проект Compose pfsense-ipsec-login-banner. Тег образа pfsense-ipsec-login-banner:2.9.0-dev. Свидетель PFSENSE-IPSEC-LOGIN-BANNER-WITNESS. Последняя строка:

SUCCESS PFSENSE-IPSEC-LOGIN-BANNER control-no-scripts=yes start-scripts=yes charon=yes PFSENSE-IPSEC-LOGIN-BANNER-WITNESS

Исправление

Заключить в кавычки / экранировать login_banner в ipsec_strongswan_confgen. Отклонять } # и переводы строк при сохранении (HTML-виджет уже является однострочным Form_Input). is_domain() уже существует на этой странице для DNS-домена; баннеру нужна такая же проверка.

Ссылки

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • vpn_ipsec_mobile.php
  • ipsec.inc ipsec_strongswan_confgen / ipsec_setup_strongswan
  • strongswan.conf charon.start-scripts
  • CWE-74
Скачать инструмент