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-carp-vhid — pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - RCE - CARP VHID remanescente | Kitploit
Ferramentas/GitHubGitHub/abraxas/pfsense-carp-vhid
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebPós-ExploraçãoTestes de PenetraçãoComando e ControleRed TeamingLabs e Prática
GitHubabraxas/pfsense-carp-vhid

pfsense-carp-vhid

pfSense CE 2.9.0-DEVELOPMENT - Alta - Remota - RCE - CARP VHID remanescente

Ver Repositório
3há 2 diasAinda não revisado

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-carp-vhid

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-carp-vhid

pfsense-carp-vhid

Classe: RCE Alcance: Remoto

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

A edição de Virtual IP armazena o CARP VHID do POST sem verificação de 1-255. As opções de Form_Select são apenas HTML. A aplicação do CARP faz escapeshellarg no VHID. A aplicação de IP Alias empilhado interpola vhid {$carpvip['vhid']} fora do escapeshellarg. O status do CARP interpola o mesmo VHID armazenado em um pipeline grep com aspas duplas; o ponto e vírgula permanece entre aspas, a substituição de comando ainda é executada sob /bin/sh -c. O privilégio é edição de VIP + aplicar, não Diagnostics: Command.

IDsem CVE ainda
ClasseRCE
AlcanceRemoto (WebGUI autenticado)
CWECWE-78
CVSSAlto: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProdutopfSense CE
Afetado2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) CARP VHID
AutenticaçãoSessão WebGUI com edição de VIP + aplicar (status/widget é um gatilho posterior)
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1

Fixeio o master público 9363ac5. O lab é um gadget PHP do interface_carp_configure fixado, mwexec de ipalias empilhado e exec de status. Loopback 127.0.0.1:18830.

O que um atacante pode fazer

MétodoSinkPrivilégio
POST carp VIP com um VHID não inteiro, depois aplicar um IP Alias empilhado nesse pai _vip{uniqid}mwexec ifconfig ... alias {$gateway} {$vhid} (interfaces.inc:3238)Integridade (comprovado em lab): shell root. Lab: ipalias-unescaped escreveu o witness. A aplicação do CARP do mesmo VHID não escreveu nada (carp-escaped=yes).
Mesmo VHID armazenado, depois GET status_carp.php ou renderizar carp_status.widget.phppipeline grep exec (pfsense-utils.inc:794)Integridade (comprovado em lab): a substituição de comando dentro das aspas duplas foi executada e escreveu o witness (status-sink=yes, status-subst=yes). O ponto e vírgula permaneceu entre aspas. O gatilho do widget pode ser outra sessão GUI.
Mesmo shell rootsistema de arquivos do hostRecon (inferido): config.xml, chaves.
Shell root ou ifconfig quebradodispositivos CARP / aliasDisponibilidade (inferido): interrupção de interface / CARP / filtro.

Comprovado em lab vs inferido: carp-escaped, witness ipalias-unescaped e witness de substituição de comando de status são comprovados em lab. Recon de sistema de arquivos e interrupção de filtro são inferidos a partir de PHP-FPM root.

Requer: page-firewall-virtualipaddress-edit (salvar) e page-firewall-virtualipaddresses (aplicar). Sink de status: page-status-carp ou qualquer dashboard com o widget CARP. CSRF no POST.

Superfície adjacente que permanece fechada

SuperfícieLab
A própria aplicação do CARPescapeshellarg no VHID, carp-escaped=yes
Senha CARP / advbase / advskew / subnetis_ipaddr / escapado
Não autenticadofechado
Aplicação xmlrpc dos mesmos objetos sem credenciais HAlista de exclusão SA-26_22
Diagnostics: Commandpermanece fechado a menos que também concedido

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18830. Projeto Compose pfsense-carp-vhid. Tag da imagem pfsense-carp-vhid:2.9.0-dev. Witness PFSENSE-CARP-VHID-WITNESS. Última linha:

SUCCESS PFSENSE-CARP-VHID carp-escaped=yes ipalias-unescaped=yes status-sink=yes PFSENSE-CARP-VHID-WITNESS

A correção

Restringir o VHID ao intervalo inteiro de 1-255 ao salvar. Aplicar escapeshellarg no VHID na aplicação de IP Alias empilhado e no grep de status, da mesma forma que a aplicação do CARP já faz.

Referências

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • firewall_virtual_ip.inc saveVIP
  • interfaces.inc ipalias empilhado mwexec
  • pfsense-utils.inc grep de status do CARP
  • CWE-78
Baixar ferramenta