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-api-export-key-get — pfSense Plus MIM API toolkit b4acd7ca - Alta - Remoto - Privilegio residuo - GET export-key chiavi private | Kitploit
Strumenti/GitHubGitHub/abraxas/pfsense-api-export-key-get
Autenticazione e AutorizzazioneAnalisi delle VulnerabilitàExploitRaccolta InformazioniSicurezza WebPenetration TestingPaper e RicercaSicurezza delle API

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
GitHub
abraxas/pfsense-api-export-key-get

pfsense-api-export-key-get

pfSense Plus MIM API toolkit b4acd7ca - Alta - Remoto - Privilegio residuo - GET export-key chiavi private

Vedi Repository
11 giorno faNon ancora revisionato

Abraxas Labs - pfsense-api-export-key-get

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  pfsense-api-export-key-get

pfsense-api-export-key-get

Classe: Privilegio residuo Portata: Remota

pfSense Plus MIM API (Netgate) pin b4acd7ca - OpenAPI pubblico + client Python generato per il controller Nexus Multi-instance Management.

GET /system/certauth/{refid}/export-key è documentato come "Download the CA certificate signing key". GET /system/certificates/{refid}/export-key è "Download the certificate's private key". GET /system/certificates/{refid}/export-p12 è un file PKCS12 unificato senza protezione tramite password. La documentazione mappa GET sotto /system a mim_system_read / mim_read_system. mim_view è documentato come privo di informazioni riservate. La specifica non ha securitySchemes né sicurezza per operazione. Il _get_kwargs generato è il metodo più un URL tra virgolette. L'autorizzazione non viene mai aggiunta lì.

Questo non è php, non è shell e non è firmware POST. Un JWT rubato dal campione G9 TLS skip o un token fleet G6 è sufficiente per chiamare questi GET. Se un MIM JWT a forma di lettura sia sufficiente su Plus è il residuo. Non ho eseguito Plus. Il RBAC di Plus non è stato eseguito.

IDnessuna CVE al momento
ClassePrivilegio residuo
PortataRemota (HTTP autenticato verso il controller Nexus; il lab è il contratto pubblico del client)
CWECWE-200, CWE-862
CVSSAlto: 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N se un MIM JWT a forma di lettura può chiamare questi GET
ProdottoNetgate/pfsense-api (controller OpenAPI pfSense Plus Nexus MIM + client generato)
Affettopin b4acd7ca21dbca739a530403a1f62a7440f7726f (2026-05-25). OpenAPI 3.0.3 titolo pfSense API versione 1.0. Plus 25.11+. Non il pacchetto REST CE.
AuthNexus JWT documentato (POST /login, Bearer). Il lab è l'OpenAPI pubblico più il contratto _get_kwargs generato. Il RBAC di Plus non è stato eseguito.
LicenzaGNU Affero GPL v3.0
Labsolo 127.0.0.1:19141. Nessuna immagine Plus.

Ho fissato github.com/Netgate/pfsense-api b4acd7ca21dbca739a530403a1f62a7440f7726f. Non master dopo quel giorno. Non il pacchetto CE di terze parti jaredhendrickson/pfsense-api.

Hub della serie: pfsense-api-nexus-mim. Questo pacchetto è la Parte 4.

Cosa può fare un attaccante

La documentazione mappa GET sotto /system a mim_system_read / mim_read_system. mim_view è documentato come privo di informazioni riservate. Il residuo è l'esportazione della chiave privata su GET, con PKCS12 documentato come non protetto, e _get_kwargs generato che non aggiunge mai Authorization.

MetodoPercorsoPrivilegio
GET DownloadCAKey/system/certauth/{refid}/export-keyRecon (lab-proven su mock): corpo application/octet-stream contenente il PEM witness. Inferito su Plus: chiave di firma del certificato CA se RBAC consente la GET.
GET GetCertKey/system/certificates/{refid}/export-keyRecon (lab-proven su mock): PEM witness. Inferito su Plus: chiave privata leaf.
GET GetCertP12/system/certificates/{refid}/export-p12Recon (lab-proven su mock): stesso corpo witness. Inferito su Plus: certificato più chiave come PKCS12 senza protezione con password (riepilogo OpenAPI).
_get_kwargs generatotutte e tre le operazioniRecon (lab-proven): i kwargs sono solo method più url tra virgolette. Nessun headers, nessun Authorization, nessun Bearer.
Client (senza token)tutte e tre le operazioniRecon (lab-proven): tre hit sul mock con has_authorization=false e corpo witness (client-no-auth=yes, witness-body=yes).
AuthenticatedClienttutte e tre le operazioniRecon (lab-proven): tre hit sul mock con Authorization: Bearer mock-token (authed-bearer=3). Bearer è una proprietà del wrapper, non _get_kwargs.
JWT rubato dal MITM G9, o token fleet G6le stesse tre GET, più /api/device/pfsense/{device_id}/api se il residuo fleet lo mantieneRecon (inferito, concatenato): estrarre le chiavi CA / leaf per il controller e ogni istanza registrata che il token può nominare.
Usare le chiavi CA / leaf rubatecertificati TLS, VPN, IPsec, WebGUIIntegrità (inferito, non testato in lab): coniare certificati discendenti come la CA; impersonare il nome TLS del Nexus; decifrare tunnel che usano quei certificati. Non root Unix di per sé.
GET correlati di lista/dettaglio/system/certauth?withprivkey=true, campi prv / private_key del certificatoRecon (spec, non questo lab): dump massivo degli stessi segreti. Non esercitato qui.

Disponibilità: nessuna richiesta.

Lab-proven vs inferito: i tre percorsi GET OpenAPI, la frase PKCS12 "senza protezione con password", _get_kwargs senza Authorization, i tre hit no-auth di Client con PEM witness, i tre hit Bearer di AuthenticatedClient, e il pin clone di pfapi_openapi.yml sono lab-proven. Inoltre i 200 di mim_system_read / mim_view, la coniazione di certificati discendenti, e l'estrazione delle chiavi a livello fleet sono inferiti. Inoltre RBAC non è stato eseguito.

Richiede (inferito, Plus non eseguito): login Nexus più un gruppo autorizzato alla GET sotto /system/certauth e /system/certificates. Non admins / mim_superuser se il residuo è reale. Non Diagnostics: Command. Percorso di rete verso il controller :8443 (o il proxy del dispositivo) con un JWT.

Superficie adiacente che resta chiusa

SuperficiePerché
RBAC PlusNon eseguito. Questo pack non rivendica un 200 live su Plus per mim_system_read o mim_view.
POST /diag/cmd/php, POST /diag/cmd/shell, GET/POST /diag/cmd/download /upload /diag/editfileIntesi come Diagnostics: Command. Di forma superuser. Non questo residuo.
POST /system/firmwareInteso come modifica di sistema / superuser.
GET .../export-ca e GET .../export-certPEM del certificato pubblico. Inteso.
POST .../export-key e POST .../export-p12 con una password come superuserWrapper inteso. La GUI system_certmanager.php esporta già le chiavi in quel modo.
Internet-to-8443 non autenticatoIl login emette comunque un JWT. La mancanza di securitySchemes nell'OpenAPI è un errore del generatore, non un server unauth provato.
Pacchetto CE jaredhendrickson/pfsense-api / pfrest.orgProdotto diverso.
Default verify_ssl della libreria generataTrue. Gli esempi ufficiali impostano False. Quello è G9, non questa GET.

Come l'ho trovato

Scarica lo strumento