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
cve-2026-0300-audit — Outil d'audit en lecture seule pour CVE-2026-0300 (exposition du portail d'authentification User-ID de PAN-OS) | Kitploit
Outils/GitHubGitHub/tailwindrg/cve-2026-0300-audit
Sécurité de l'Infrastructure CloudAnalyse des VulnérabilitésScripting et AutomatisationAudit de ConfigurationSécurité RéseauDevSecOps
GitHubtailwindrg/cve-2026-0300-audit

cve-2026-0300-audit

Outil d'audit en lecture seule pour CVE-2026-0300 (exposition du portail d'authentification User-ID de PAN-OS)

Voir le dépôt
21il y a 5 moisPas encore vérifié

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 →
Partager

Outils d'audit CVE-2026-0300

Outils d'audit en lecture seule pour CVE-2026-0300 — le débordement de tampon non authentifié dans le portail d'authentification User-ID de PAN-OS (anciennement connu sous le nom de « Captive Portal ») sur les pare-feu des séries PA et VM.

Ce dépôt accompagne l'avis de sécurité TRG-SA-2026-003 de Tailwind Resource Group et fournit :

  • audit_portal.py — Niveau 1 : audit d'un seul pare-feu
  • audit_fleet.py — Niveau 2 : balayage de flotte piloté par Panorama (concurrent)
  • panos_audit.py — bibliothèque partagée utilisée par les deux CLI

Les scripts sont en lecture seule. Ils émettent des requêtes de type show contre l'API XML de PAN-OS et ne modifient jamais la configuration. La clé API est envoyée via l'en-tête HTTP X-PAN-KEY plutôt que comme paramètre de requête URL, afin qu'elle n'apparaisse pas dans les journaux d'accès du plan de gestion PAN, les journaux des proxys d'inspection TLS ou les arguments de processus de l'auditeur.

Pourquoi cela existe

L'enregistrement CVE utilise le nom de fonctionnalité moderne « Portail d'authentification User-ID ». Le schéma XML de PAN-OS, les options CLI et les chemins de documentation utilisent toujours le vocabulaire hérité captive-portal. Les opérateurs qui auditeraient des flottes avec show config running | match authentication-portal manqueraient silencieusement chaque configuration, car cette chaîne n'apparaît jamais comme élément de configuration. Cet outillage recherche le nom d'élément correct selon le schéma, quelle que soit la date de création de la configuration.

L'analyse complète de Tailwind sur ce piège de nommage se trouve dans TRG-SA-2026-003, « L'empreinte héritée du Captive Portal ».

Prérequis

  • Python 3.10 ou plus récent
  • Bibliothèque standard uniquement — aucune installation pip requise
  • Une clé API PAN-OS avec accès en lecture au pare-feu (ou, pour le niveau 2, à Panorama)
  • Un certificat signé par une AC (ou approuvé par l'opérateur) sur l'interface de gestion du pare-feu ; --insecure est fourni uniquement pour les audits de mise en service ponctuels

Niveau 1 — pare-feu unique

export PAN_API_KEY="<clé>"
./audit_portal.py --hostname fw1.example.com

Exemple de sortie tabulaire :

vsys: vsys1
  configured:    True
  enabled:       True
  redirect_host: auth-portal.internal.example.com
  mode:          redirect
  bound:         ethernet1/3(internal-trust), ethernet1/4(guest)
  tls_verified:  True
  risk:          EXPOSED_LIKELY

Autres formats de sortie : --output json ou --output csv.

Autres options : --vsys <nom> pour l'audit d'un seul vsys, --timeout/--retries pour les systèmes amont lents, --debug pour des détails d'erreur verbeux sur stderr.

Niveau 2 — balayage de flotte Panorama

export PAN_API_KEY="<clé-panorama>"
./audit_fleet.py --hostname panorama.example.com --workers 16 --output csv > fleet-audit.csv

Chaque ligne du CSV correspond à un appareil-vsys avec l'état du portail, l'hôte de redirection, le mode, les liaisons d'interface et une classification de risque. Le script utilise le paramètre API target=<serial> de Panorama, il ne se connecte donc jamais directement aux pare-feu gérés — une seule connexion à Panorama balaie toute la flotte.

Options notables :

  • --workers N — threads d'audit concurrents (défaut 8, max 32). Une flotte de 1000 appareils est traitée en quelques minutes plutôt que l'heure ou plus qu'un balayage séquentiel prendrait.
  • --timeout, --retries — paramètres par appel API. Les URLError transitoires et les erreurs HTTP 5xx sont réessayés avec un backoff borné.
  • --exclude-disconnected — par défaut, les appareils déconnectés sont inclus avec risk=DISCONNECTED afin qu'ils restent visibles pendant la fenêtre de correctif. Utilisez cette option pour les exclure.
  • --min-expected-devices N — avertit (stderr) si Panorama renvoie moins d'appareils que N. Utile pour détecter une troncature de réponse par rapport à une taille de flotte connue.
  • --serial-filter '0007*' — filtre par glob sur le numéro de série pour auditer un sous-ensemble.
  • --debug — affiche les détails d'erreur verbeux par appareil sur stderr (inclut les chaînes reason amont ; désactivé par défaut pour éviter de divulguer des noms d'hôtes dans les CSV destinés aux clients).

Classification des risques

La colonne risk de la sortie est l'une des suivantes :

LibelléSignification
INFO_NOT_CONFIGUREDAucun bloc <captive-portal> sur l'appareil. Hors périmètre pour CVE-2026-0300.
INFO_DISABLEDLe portail est configuré mais enabled=no. Le chemin de code vulnérable n'est pas actif.
REVIEW_POLICY_NO_BINDINGSPortail activé, mais aucune liaison d'interface trouvée dans la configuration. Vérifier via l'interface Web.
EXPOSED_LIKELYPortail activé et lié à une zone dont le nom suggère une exposition non fiable (untrust, dmz, guest, external, internet, wan, public). À examiner en premier.
REVIEW_POLICYPortail activé et lié à des zones à nom interne. Parcourir la politique de sécurité pour confirmer l'accessibilité.

EXPOSED_LIKELY est un indice, pas un verdict — les noms de zones sont des conventions d'opérateur, pas une application de règles. Le script ne peut pas remplacer un parcours de politique de sécurité ; il trie la sortie de flotte pour indiquer où l'attention doit se porter en premier.

Ce que font les scripts — et ce qu'ils ne font pas

Ils font :

  • Interroger les blocs <captive-portal> par vsys (le nom d'élément du schéma est toujours captive-portal, quel que soit le nom dans l'interface ou la version de PAN-OS).
  • Rapporter activé/désactivé, hôte de redirection, mode et liaisons d'interface résolues par zone.
  • Classifier le risque par heuristique de nom de zone afin que les lignes EXPOSED_LIKELY apparaissent en premier dans la sortie de flotte.
  • Envoyer la clé API via l'en-tête X-PAN-KEY pour qu'elle reste hors des journaux d'accès URL et des arguments de processus.
  • Limiter la taille du corps de réponse (50 Mo) pour se défendre contre les attaques d'expansion d'entités sur l'analyseur XML.
  • Réessayer les erreurs transitoires avec un backoff borné.

Ils ne font pas :

  • Parcourir la politique de sécurité de manière exhaustive. L'accessibilité du portail depuis un réseau non fiable dépend des règles de politique, du NAT et des liaisons de zone — l'opérateur doit effectuer ce parcours à partir de la sortie d'audit.
  • Tester l'accessibilité par sonde réseau. Audit de configuration pure uniquement.
  • Modifier une quelconque configuration. Tous les appels API sont en lecture seule.

Génération d'une clé API PAN-OS

La clé API PAN-OS hérite du rôle et des autorisations de l'utilisateur qui la génère.

Avertissement important : il n'existe pas d'autorisation XML API en lecture seule dans PAN-OS.

Les autorisations du rôle d'administrateur sur l'onglet API XML sont binaires Activer/Désactiver par catégorie — Configuration, Requêtes opérationnelles, Commit, Export, Import, Rapport, Journal, Agent User-ID. L'activation de Configuration pour l'API XML permet à la fois les actions show et set/edit/delete/move/rename/clone. L'activation de Requêtes opérationnelles permet des opérations <request> arbitraires, y compris <request><restart>. Les onglets Interface Web et API REST offrent l'option Lecture seule ; l'onglet API XML ne l'offre pas.

Un « utilisateur d'audit » créé en activant ces catégories d'API XML détient l'autorité d'écriture complète de l'API XML sur l'appareil. Traitez la clé résultante comme une information d'identification privilégiée : limitez sa durée de vie à la fenêtre d'audit, stockez-la dans un gestionnaire de secrets et désactivez l'utilisateur lorsque le travail est terminé.

Télécharger l’outil