Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
pfsense-api-export-key-get — pfSense Plus MIM API toolkit b4acd7ca - Élevé - À distance - Reliquat de privilèges - GET export-key clés privées | Kitploit
Outils/GitHubGitHub/abraxas/pfsense-api-export-key-get
Authentification et AutorisationAnalyse des VulnérabilitésExploitationCollecte d'InformationsSécurité WebTests d'IntrusionArticles et RechercheSécurité des API

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
GitHub
abraxas/pfsense-api-export-key-get

pfsense-api-export-key-get

pfSense Plus MIM API toolkit b4acd7ca - Élevé - À distance - Reliquat de privilèges - GET export-key clés privées

Voir le dépôt
1il y a 1 jourPas encore vérifié
Partager

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 : Privilège résiduel Portée : Distante

pfSense Plus MIM API (Netgate) épinglé b4acd7ca - OpenAPI public + client Python généré pour le contrôleur Nexus Multi-instance Management.

GET /system/certauth/{refid}/export-key est documenté comme « Download the CA certificate signing key ». GET /system/certificates/{refid}/export-key est « Download the certificate's private key ». GET /system/certificates/{refid}/export-p12 est un fichier PKCS12 unifié sans protection par mot de passe. La documentation associe GET sous /system à mim_system_read / mim_read_system. mim_view est documenté comme ne contenant aucune information confidentielle. La spécification n'a ni securitySchemes ni sécurité par opération. Le _get_kwargs généré est la méthode plus une URL entre guillemets. L'autorisation n'y est jamais ajoutée.

Ce n'est pas du php, ni du shell, ni du firmware POST. Un JWT volé depuis l'échantillon G9 TLS skip ou un jeton de flotte G6 suffit pour appeler ces GET. Savoir si un JWT MIM de forme lecture suffit sur Plus est le résidu. Je n'ai pas exécuté Plus. Le RBAC de Plus n'a pas été exécuté.

IDpas encore de CVE
ClassePrivilège résiduel
PortéeDistante (HTTP authentifié vers le contrôleur Nexus ; le labo est le contrat client public)
CWECWE-200, CWE-862
CVSSÉlevé : 8.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N si un JWT MIM de forme lecture peut appeler ces GET
ProduitNetgate/pfsense-api (contrôleur pfSense Plus Nexus MIM OpenAPI + client généré)
Affectéépinglé b4acd7ca21dbca739a530403a1f62a7440f7726f (2026-05-25). OpenAPI 3.0.3 titre pfSense API version 1.0. Plus 25.11+. Pas le paquet REST CE.
AuthJWT Nexus documenté (POST /login, Bearer). Le labo est l'OpenAPI public plus le contrat _get_kwargs généré. Le RBAC de Plus n'a pas été exécuté.
LicenceGNU Affero GPL v3.0
Labo127.0.0.1:19141 uniquement. Pas d'image Plus.

J'ai épinglé github.com/Netgate/pfsense-api b4acd7ca21dbca739a530403a1f62a7440f7726f. Pas master après ce jour. Pas le paquet CE tiers jaredhendrickson/pfsense-api.

Hub de la série : pfsense-api-nexus-mim. Ce pack est la Partie 4.

Ce qu'un attaquant peut faire

La documentation associe GET sous /system à mim_system_read / mim_read_system. mim_view est documenté comme ne contenant aucune information confidentielle. Le résidu est l'export de clé privée sur GET, avec PKCS12 documenté comme non protégé, et un _get_kwargs généré qui n'ajoute jamais l'Authorization.

MéthodeCheminPrivilège
GET DownloadCAKey/system/certauth/{refid}/export-keyRecon (prouvé en labo sur mock) : corps application/octet-stream contenant le PEM témoin. Inféré sur Plus : clé de signature de certificat CA si le RBAC autorise le GET.
GET GetCertKey/system/certificates/{refid}/export-keyRecon (prouvé en labo sur mock) : PEM témoin. Inféré sur Plus : clé privée feuille.
GET GetCertP12/system/certificates/{refid}/export-p12Recon (prouvé en labo sur mock) : même corps témoin. Inféré sur Plus : certificat plus clé au format PKCS12 sans protection par mot de passe (résumé OpenAPI).
_get_kwargs généréles trois opérationsRecon (prouvé en labo) : les kwargs sont method plus url entre guillemets uniquement. Pas de headers, pas d'Authorization, pas de Bearer.
Client (sans token)les trois opérationsRecon (prouvé en labo) : trois hits mock avec has_authorization=false et corps témoin (client-no-auth=yes, witness-body=yes).
AuthenticatedClientles trois opérationsRecon (prouvé en labo) : trois hits mock avec Authorization: Bearer mock-token (authed-bearer=3). Bearer est une propriété du wrapper, pas de _get_kwargs.
JWT volé depuis G9 MITM, ou token de flotte G6les mêmes trois GET, plus /api/device/pfsense/{device_id}/api si le reliquat de flotte le permetRecon (inféré, chaîné) : extraire les clés CA / feuille pour le contrôleur et chaque instance enrôlée que le token peut nommer.
Utiliser les clés CA / feuille voléesTLS, VPN, IPsec, certificats WebGUIIntégrité (inféré, non testé en labo) : forger des certificats descendants en tant que CA ; usurper le nom TLS Nexus ; déchiffrer les tunnels qui utilisent ces certificats. Pas root Unix en soi.
GET de liste/détail associés/system/certauth?withprivkey=true, champs prv / private_key des certificatsRecon (spec, pas ce labo) : extraction en masse des mêmes secrets. Non exercé ici.

Disponibilité : aucune requise.

Prouvé en labo vs inféré : les trois chemins GET OpenAPI, la phrase PKCS12 « sans protection par mot de passe », _get_kwargs sans Authorization, les trois hits Client sans auth avec PEM témoin, les trois hits AuthenticatedClient avec Bearer, et le clone épinglé de pfapi_openapi.yml sont prouvés en labo. Les 200 de mim_system_read / mim_view sur Plus, la forge de certificats descendants et l'extraction de clés à l'échelle de la flotte sont inférés. De plus, le RBAC n'a pas été exécuté.

Nécessite (inféré, Plus non exécuté) : une connexion Nexus plus un groupe autorisé à faire GET sous /system/certauth et /system/certificates. Pas admins / mim_superuser si le reliquat est réel. Pas Diagnostics: Command. Un chemin réseau vers le contrôleur :8443 (ou le proxy de l'appareil) avec un JWT.

Surface adjacente qui reste fermée

SurfaceRaison
RBAC PlusNon exécuté. Ce pack ne revendique pas un 200 Plus en direct pour mim_system_read ou mim_view.
POST /diag/cmd/php, POST /diag/cmd/shell, GET/POST /diag/cmd/download /upload /diag/editfileDiagnostics: Command prévu. De forme superutilisateur. Pas ce reliquat.
POST /system/firmwareModification système / superutilisateur prévu.
GET .../export-ca et GET .../export-certPEM de certificat public. Prévu.
POST .../export-key et POST .../export-p12 avec un mot de passe en superutilisateurEnveloppe prévue. Le GUI system_certmanager.php exporte déjà les clés de cette façon.
Internet vers 8443 non authentifiéLe login émet toujours un JWT. L'absence de securitySchemes dans l'OpenAPI est un piège de générateur, pas un serveur non authentifié prouvé.
Paquet CE jaredhendrickson/pfsense-api / pfrest.orgProduit différent.
Défaut verify_ssl de la bibliothèque généréeTrue. Les exemples officiels mettent False. C'est G9, pas ce GET.

Comment je l'ai trouvé

Télécharger l’outil