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

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

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

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

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

Категории

Все категории
Loading categories
pfsense-api-acb-userkey — pfSense Plus MIM API toolkit b4acd7ca — высокий — удалённый — IDOR — ACB userkey capability URL | Kitploit
Инструменты/GitHubGitHub/abraxas/pfsense-api-acb-userkey
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийЭксфильтрация данныхСбор информацииТестирование на ПроникновениеСтатьи и ИсследованияRed TeamingБезопасность APIЛаборатории и Практика
GitHub
11 день назадЕщё не проверено
abraxas/pfsense-api-acb-userkey

pfsense-api-acb-userkey

pfSense Plus MIM API toolkit b4acd7ca — высокий — удалённый — IDOR — ACB userkey capability URL

Репозиторий

Популярное

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

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

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

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

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

Abraxas Labs - pfsense-api-acb-userkey

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-api-acb-userkey

pfsense-api-acb-userkey

Класс: IDOR Достижимость: Удалённая

pfSense Plus MIM API (Netgate/pfsense-api b4acd7ca) - Netgate

GET /services/acb и GET /services/acb/bkp принимают userkey как неограниченный параметр запроса. Сгенерированный Python-клиент помещает этот ключ в строку запроса. В YAML нет securitySchemes. Проверкой является наличие ключа устройства Auto Config Backup. Это capability URL.

Украденный или утёкший ACB userkey перечисляет размещённые резервные копии этого устройства и извлекает тело ревизии. Полная конфигурация находится в этих блобах. Тот же класс, что и ключ CE ACB CVE-2024-57273 / SA-25_03, если ключ утечёт. Та CVE была выводом из SSH-баннера. Этот остаток — родственный случай с параметром запроса в Plus MIM API. Я не подаю повторно вывод из баннера.

Это публичный OpenAPI + сгенерированный клиент для pfSense Plus Nexus Multi-instance Management (контроллер на :8443). Это не CE REST-пакет (jaredhendrickson/pfsense-api / pfrest.org). Сервер только для Plus (платный). Я не запускал pfSense Plus.

IDпока нет CVE
КлассIDOR (capability URL)
ДостижимостьУдалённая
CWECWE-639
CVSSHigh: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N, если эти GET-запросы принимают userkey без привязки JWT к устройству
ПродуктNetgate/pfsense-api (pfSense Plus MIM OpenAPI + сгенерированный клиент)
Затронутопин b4acd7ca21dbca739a530403a1f62a7440f7726f (2026-05-25). Тегов нет.
АутентификацияСпецификация: отсутствует (securitySchemes нет). userkey — секрет в запросе. Plus JWT/RBAC не выполнялся.
ЛицензияGNU Affero GPL v3.0
Лабораториятолько 127.0.0.1:19171. Образа Plus нет.

Хаб серии: pfsense-api-nexus-mim (это часть 7).

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

Требуется украденный или утёкший ACB userkey (спецификация: "hexidecimal encoded 32-byte random bytes", 64 hex). Спецификация не привязывает этот ключ к JWT или к устройству вызывающего. GET /services/acb/config класса G11 возвращает живой userkey. Примеры G9 устанавливают verify_ssl=False, поэтому MITM на :8443 может увидеть ключ в трафике. Это пути утечки. Этот остаток — то, что даёт ключ, когда он оказывается снаружи.

Разведка

МетодSinkПривилегия
GET /services/acb?userkey=<stolen>GetACBList (pfapi_openapi.yml). Сгенерированный get_acb_list.py params["userkey"].Подтверждено в лаборатории (mock): список размещённых на этом устройстве резервных копий. Свидетельство в backups[].reason.
GET /services/acb/bkp?userkey=<stolen>&revision=GetACB -> RetrievedBackup.backup. Сгенерированный get_acb.py params["userkey"] + params["revision"].Подтверждено в лаборатории (mock): получение тела ревизии. Свидетельство в backup.
Та же строка резервной копии на живом контроллереразмещённый ACB blobПредположительно: полный config.xml (пользователи, ключи, пакеты) при возможности чтения. Mock вернул открытый текстовый XML-свидетель. Я не обращался к acb.netgate.com и не расшифровывал живой blob.
GET /services/acb/configACBConfigInfo.userkey, ACBConfig.encryption_passwordСпецификация, не эта лаборатория: секрет живой возможности и пароль расшифровки. Класс G11 secrets-on-GET. Не проверялось.

Целостность

МетодSinkПривилегия
POST /services/acb/restoreRestoreACB тело { timestamp }Смежное закрыто: образцы всё ещё отправляют JWT. Не этот остаток. Не выполнялось.
POST /services/acb/config замена userkeySaveACBConfigСмежное закрыто: не GET-URL возможности. Не выполнялось.

Доступность

GET list / GET bkp не удаляют. DELETE /services/acb/bkp/{timestamp} — другая операция. Не проверялось.

Неверный userkey и отсутствующий userkey не вернули свидетельства (подтверждено в лаборатории).

Подтверждено в лаборатории vs предположительно: список и bkp с украденным ключом вернули свидетельство. Неверный ключ и отсутствующий ключ — нет. Plus не выполнялся. Содержимое живого config.xml и расшифровка предполагаются из публичной схемы (RetrievedBackup.backup — строка; encryption_password находится в ACBConfig).

Требуется: сетевой путь к ACB GET-запросам MIM-контроллера, плюс украденный/утекший userkey. CVSS 7.5, если эти GET-запросы принимают ключ из запроса без привязки JWT к устройству. Честно: этот пакет доказывает, что публичная спецификация моделирует такой контракт, на loopback.

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

ПоверхностьПочему
Контроллер pfSense Plusне выполнялся. В этом пакете нет образа Plus.
Пакет CE RESTдругой сервер (jaredhendrickson/pfsense-api / pfrest.org).
Вывод ключа ACB из SSH-баннераCVE-2024-57273 / SA-25_03. Не подавать повторно.
POST /services/acb/restore как эта находкаобразцы всё ещё отправляют JWT.
Неаутентифицированный php/shell из пропущенного OAS securityостаток документации. Mock не является доказательством сервера 200-без-JWT.
Отсутствующий userkeyлаборатория 403, нет свидетельства.
Неверный userkeyлаборатория: список пуст / bkp 403, нет свидетельства.
Сгенерированная библиотека verify_sslпо умолчанию True. G9 — это образцы, отключающие его, а не значение по умолчанию пакета.

Как я это нашёл

Я зафиксировал Netgate/pfsense-api main b4acd7ca (2026-05-25, "Add Snort-3 API definitions"). Двенадцать поисков по login/JWT, диагностике, MIM-регистрации, клиентскому TLS, пользователям/сертификатам, пакетам, VPN/фаерволу, безопасности OpenAPI, IDOR устройств, git/прошивке/фидам, плюс loopback-mock каждой сгенерированной операции.

Сначала список пропуска: остатки CE WebGUI уже отправлены (QinQ parent if, OpenVPN wizard CRLF, CARP VHID, limiter number, IPsec login banner). Диагностические PHP/shell как предполагаемые админские полномочия. Сторонний пакет CE REST. Вывод из баннера CVE-2024-57273.

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