Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
pfsense-api-acb-userkey — pfSense Plus MIM API toolkit b4acd7ca - Alta - Remoto - IDOR - URL de capacidade de userkey ACB | Kitploit
Ferramentas/GitHubGitHub/abraxas/pfsense-api-acb-userkey
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebExfiltração de DadosColeta de InformaçõesTestes de PenetraçãoPapers e PesquisaRed TeamingSegurança de APILabs e Prática
GitHub
1há 1 diaAinda não revisado
abraxas/pfsense-api-acb-userkey

pfsense-api-acb-userkey

pfSense Plus MIM API toolkit b4acd7ca - Alta - Remoto - IDOR - URL de capacidade de userkey ACB

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Abraxas Labs - pfsense-api-acb-userkey

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

pfsense-api-acb-userkey

Classe: IDOR Alcance: Remoto

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

GET /services/acb e GET /services/acb/bkp aceitam userkey como parâmetro de consulta irrestrito. O cliente Python gerado coloca essa chave na query string. O YAML não possui securitySchemes. A posse da chave do dispositivo do Auto Config Backup é a verificação. Isso é uma URL de capacidade.

Uma userkey do ACB roubada ou vazada lista os backups hospedados daquele dispositivo e obtém o corpo de uma revisão. A configuração completa está nesses blobs. Mesma classe da chave ACB do CE CVE-2024-57273 / SA-25_03 se a chave vazar. Essa CVE era derivação de banner SSH. Este resquício é o irmão do parâmetro de consulta da Plus MIM API. Não estou re-registrando a derivação de banner.

Este é o OpenAPI público + cliente gerado para o pfSense Plus Nexus Multi-instance Management (controlador em :8443). Não é o pacote REST do CE (jaredhendrickson/pfsense-api / pfrest.org). O servidor é exclusivo do Plus (pago). Não executei o pfSense Plus.

IDsem CVE ainda
ClasseIDOR (URL de capacidade)
AlcanceRemoto
CWECWE-639
CVSSAlto: 7.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N se esses GETs honrarem userkey sem vincular um JWT ao dispositivo
ProdutoNetgate/pfsense-api (pfSense Plus MIM OpenAPI + cliente gerado)
Afetadopin b4acd7ca21dbca739a530403a1f62a7440f7726f (2026-05-25). Sem tags.
AutenticaçãoEspecificação: nenhuma (securitySchemes ausente). userkey é o segredo da consulta. JWT/RBAC do Plus não foi executado.
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1:19171. Sem imagem Plus.

Hub da série: pfsense-api-nexus-mim (esta é a parte 7).

O que um atacante pode fazer

Requer uma userkey do ACB roubada ou vazada (especificação: "hexidecimal encoded 32-byte random bytes", 64 hex). A especificação não vincula essa chave a um JWT ou ao dispositivo do chamador. GET /services/acb/config da classe G11 retorna a userkey ativa. As amostras G9 definem verify_ssl=False, então um MITM de :8443 pode ver a chave no tráfego. Esses são caminhos de vazamento. Este resquício é o que a chave compra depois que ela vaza.

Recon

MétodoSinkPrivilégio
GET /services/acb?userkey=<stolen>GetACBList (pfapi_openapi.yml). Gerado get_acb_list.py params["userkey"].Comprovado em laboratório (mock): lista os backups hospedados desse dispositivo. Testemunho em backups[].reason.
GET /services/acb/bkp?userkey=<stolen>&revision=GetACB -> RetrievedBackup.backup. Gerado get_acb.py params["userkey"] + params["revision"].Comprovado em laboratório (mock): obtém o corpo da revisão. Testemunho em backup.
Mesma string de backup num controlador ativoblob ACB hospedadoInferido: config.xml completo (utilizadores, chaves, pacotes) uma vez legível. O mock devolveu XML de testemunho em texto simples. Não contactei acb.netgate.com nem desencriptei um blob ativo.
GET /services/acb/configACBConfigInfo.userkey, ACBConfig.encryption_passwordEspecificação, não este laboratório: segredo de capacidade ativa e palavra-passe de desencriptação. Classe G11 secrets-on-GET. Não exercitado.

Integridade

MétodoSinkPrivilégio
POST /services/acb/restoreRestoreACB corpo { timestamp }Adjacente fechado: as amostras ainda enviam um JWT. Não este resquício. Não executado.
POST /services/acb/config substituir userkeySaveACBConfigAdjacente fechado: não é um URL de capacidade GET. Não executado.

Disponibilidade

GET list / GET bkp não eliminam. DELETE /services/acb/bkp/{timestamp} é uma operação diferente. Não exercitada.

userkey errada e userkey em falta não devolveram testemunho (comprovado em laboratório).

Comprovado em laboratório vs inferido: a lista e o bkp com chave roubada devolveram o testemunho. Chave errada e chave em falta não. O Plus não foi executado. O conteúdo do config.xml ativo e a desencriptação são inferidos do esquema público (RetrievedBackup.backup é uma string; encryption_password está em ACBConfig).

Requer: caminho de rede para os GETs ACB do controlador MIM, mais uma userkey roubada/divulgada. CVSS 7.5 se esses GETs honrarem a chave de consulta sem vincular um JWT ao dispositivo. Honestamente: este pacote prova que a especificação pública modela esse contrato, em loopback.

Superfície adjacente que permanece fechada

SuperfíciePorquê
Controlador pfSense Plusnão executado. Sem imagem Plus neste pacote.
Pacote REST CEservidor diferente (jaredhendrickson/pfsense-api / pfrest.org).
Derivação de chave ACB via SSH-bannerCVE-2024-57273 / SA-25_03. Não reportar novamente.
POST /services/acb/restore como este achadoas amostras ainda enviam um JWT.
php/shell não autenticado a partir do security omitido no OASresquício de documentação. O mock não é uma prova de servidor 200-sem-JWT.
userkey em faltalaboratório 403, sem testemunho.
userkey erradalaboratório lista vazia / bkp 403, sem testemunho.
verify_ssl da biblioteca geradapredefinição True. O G9 são as amostras a desativá-lo, não a predefinição do pacote.

Como o encontrei

Fixeio Netgate/pfsense-api main b4acd7ca (2026-05-25, "Add Snort-3 API definitions"). Doze caçadas sobre login/JWT, diagnósticos, inscrição MIM, TLS de cliente, utilizadores/certificados, pacotes, VPN/firewall, segurança OpenAPI, IDOR de dispositivo, git/firmware/feeds, mais um mock em loopback de cada operação gerada.

Primeiro a lista de exclusão: resquícios do CE WebGUI já reportados (QinQ parent if, OpenVPN wizard CRLF, CARP VHID, limiter number, IPsec login banner). Diagnósticos PHP/shell como poder de administrador pretendido. O pacote REST CE de terceiros. Derivação de banner CVE-2024-57273.

Baixar ferramenta