Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
pfsense-carp-vhid — pfSense CE 2.9.0-DEVELOPMENT - Alto - Remoto - RCE - CARP VHID residuo | Kitploit
Strumenti/GitHubGitHub/abraxas/pfsense-carp-vhid
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPost-ExploitPenetration TestingCommand and ControlRed TeamingLab e Pratica
GitHubabraxas/pfsense-carp-vhid

pfsense-carp-vhid

pfSense CE 2.9.0-DEVELOPMENT - Alto - Remoto - RCE - CARP VHID residuo

Vedi Repository
32 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Abraxas Labs - pfsense-carp-vhid

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

pfsense-carp-vhid

Classe: RCE Portata: Remota

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

La modifica del Virtual IP memorizza il VHID CARP dal POST senza alcun controllo 1-255. Le opzioni di Form_Select sono solo HTML. L'applicazione CARP applica escapeshellarg al VHID. L'applicazione di IP Alias impilati interpola vhid {$carpvip['vhid']} al di fuori di escapeshellarg. Lo stato CARP interpola lo stesso VHID memorizzato in una pipeline grep con doppi apici; il punto e virgola rimane tra apici, la sostituzione di comando viene comunque eseguita sotto /bin/sh -c. Il privilegio è modifica VIP + applicazione, non Diagnostics: Command.

IDnessuna CVE al momento
ClasseRCE
PortataRemota (WebGUI autenticata)
CWECWE-78
CVSSAlto: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProdottopfSense CE
Affetto2.9.0-DEVELOPMENT (9363ac5b8651a1c7a333180425ce7719070f95f9) CARP VHID
AuthSessione WebGUI con modifica VIP + applicazione (lo status/widget è un trigger successivo)
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1

Ho fissato il master pubblico 9363ac5. Il lab è un gadget PHP composto da interface_carp_configure fissato, mwexec di ipalias impilati e exec di stato. Loopback 127.0.0.1:18830.

Cosa può fare un attaccante

MetodoSinkPrivilegio
POST del carp VIP con un VHID non intero, poi applicare un IP Alias impilato su quel parent _vip{uniqid}mwexec ifconfig ... alias {$gateway} {$vhid} (interfaces.inc:3238)Integrità (dimostrata in lab): shell root. Lab: ipalias-unescaped ha scritto il witness. L'applicazione CARP dello stesso VHID non ha scritto nulla (carp-escaped=yes).
Stesso VHID memorizzato, poi GET status_carp.php o rendering di carp_status.widget.phppipeline grep exec (pfsense-utils.inc:794)Integrità (dimostrata in lab): la sostituzione di comando all'interno dei doppi apici è stata eseguita e ha scritto il witness (status-sink=yes, status-subst=yes). Il punto e virgola è rimasto tra apici. Il trigger del widget può essere un'altra sessione GUI.
Stessa shell rootfilesystem dell'hostRicognizione (inferita): config.xml, chiavi.
Shell root o ifconfig compromessodispositivi CARP / aliasDisponibilità (inferita): interruzione di interfaccia / CARP / filtro.

Dimostrato in lab vs inferito: carp-escaped, il witness di ipalias-unescaped e il witness di sostituzione di comando dello status sono dimostrati in lab. La ricognizione del filesystem e l'interruzione del filtro sono inferite da PHP-FPM root.

Richiede: page-firewall-virtualipaddress-edit (salvataggio) e page-firewall-virtualipaddresses (applicazione). Sink di stato: page-status-carp o qualsiasi dashboard con il widget CARP. CSRF sul POST.

Superficie adiacente che rimane chiusa

SuperficieLab
L'applicazione CARP stessaescapeshellarg sul VHID, carp-escaped=yes
Password CARP / advbase / advskew / subnetis_ipaddr / escaped
Non autenticatochiuso
Applicazione xmlrpc degli stessi oggetti senza credenziali HAskip-list SA-26_22
Diagnostics: Commandrimane chiuso se non concesso esplicitamente

Lab

cd lab
./run.sh

Loopback 127.0.0.1:18830. Progetto Compose pfsense-carp-vhid. Tag immagine pfsense-carp-vhid:2.9.0-dev. Witness PFSENSE-CARP-VHID-WITNESS. Ultima riga:

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

La correzione

Limitare il VHID a un intervallo intero 1-255 al salvataggio. Applicare escapeshellarg al VHID sull'applicazione di IP Alias impilati e sul grep di stato, allo stesso modo in cui l'applicazione CARP già fa.

Riferimenti

  • github.com/pfsense/pfsense 9363ac5b8651a1c7a333180425ce7719070f95f9
  • firewall_virtual_ip.inc saveVIP
  • interfaces.inc mwexec di ipalias impilati
  • pfsense-utils.inc grep di stato CARP
  • CWE-78
Scarica lo strumento