
PANW NGFW CVE-2024-0012
Ce script Python vérifie la présence d'une vulnérabilité critique de contournement d'authentification dans l'interface Web de gestion Palo Alto Networks PAN-OS, identifiée comme CVE-2024-0012. La vulnérabilité permet à un attaquant non authentifié d'obtenir des privilèges administratifs, de modifier la configuration ou d'exploiter d'autres vulnérabilités d'élévation de privilèges.
Zero Touch Provisioning et window.Pan pour une détection précise.-t ou un fichier de cibles avec -f.-d-e ou --explanation pour afficher une description détaillée et accessible de CVE-2024-0012 et CVE-2024-9474.rich pour afficher les résultats dans un format propre et lisible.requests pour les requêtes HTTPrich pour la sortie styliséepip install -r requirements.txt
Pour vérifier une seule cible de manière interactive :
python main.py
Spécifiez un FQDN ou une IP unique :
python main.py -t 127.0.0.1
Fournissez un fichier contenant une liste de cibles (une par ligne) :
python main.py -f targets.txt
Utilisez le drapeau -d ou --details pour afficher automatiquement les résultats détaillés pour toutes les cibles vulnérables :
python main.py -t 127.0.0.1 -d
Utilisez le drapeau -e ou --explanation pour afficher une explication détaillée des vulnérabilités CVE-2024-0012 et CVE-2024-9474 :
python main.py -t 127.0.0.1 -d -e (ou -de)
[!] La cible -semble- vulnérable !
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Clé ┃ Valeur ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
┃ URL ┃ https://127.0.0.1/php/ztp_gate.php/.js.map ┃
┃ Code de statut ┃ 200 ┃
┃ En-têtes ┃ {"Date": "Wed, 20 Nov 2024 15:29:31 GMT", ... ┃
┃ Marqueurs trouvés ┃ ...<title>Zero Touch Provisioning</title>... ┃
┃ ┃ ...window.Pan = window.Pan || {};... ┃
└─────────────────────────────┴────────────────────────────────────────────────────────┘
[+] La cible ne semble pas vulnérable.
Message : Aucune condition correspondante satisfaite.
À la fin de l'analyse, un tableau récapitulatif liste toutes les cibles et leur statut :
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ Cible ┃ Statut ┃
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
┃ 127.0.0.1 ┃ Vulnérable ┃
┃ example.com ┃ Non vulnérable ┃
└───────────────────────┴─────────────────┘
Si le drapeau -e ou --explanation est utilisé :
Explication de CVE-2024-0012
CVE-2024-0012 est une vulnérabilité de contournement d'authentification. Cela signifie que les attaquants peuvent sauter le processus de connexion et accéder à des parties sensibles du système sans avoir besoin d'un nom d'utilisateur ou d'un mot de passe. Dans PAN-OS de Palo Alto Networks, cette vulnérabilité permet aux attaquants de tromper le système en envoyant des requêtes HTTP GET spécialement conçues. Ces requêtes incluent un en-tête appelé `X-PAN-AUTHCHECK`, qui indique au système si l'authentification est requise ou non. Si cet en-tête est défini sur `off`, le système accorde par erreur l'accès à des zones restreintes sans vérifier si la personne est connectée.
Cette vulnérabilité peut être exploitée conjointement avec CVE-2024-9474, une vulnérabilité d'élévation de privilèges, pour obtenir un accès root complet à l'appareil. Une fois que les attaquants ont obtenu un accès root, ils peuvent contrôler le pare-feu, voler des données sensibles ou désactiver les fonctionnalités de sécurité.
Si cette vulnérabilité est confirmée, corrigez le système affecté dès que possible pour empêcher l'exploitation. De plus, restreignez l'accès à l'interface de gestion par liste blanche IP ou en utilisant un réseau de gestion dédié.
[bold red]Erreur :[/bold red] HTTPSConnectionPool(host='127.0.0.1', port=443) : Nombre maximal de tentatives dépassé avec l'URL : /php/ztp_gate.php/.js.map (Provoqué par NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x...> : Échec de l'établissement d'une nouvelle connexion : [Errno 11001] getaddrinfo a échoué'))
--target ou --file n'est fourni, le script demande une saisie interactive.-e fournit un aperçu pédagogique des vulnérabilités pour les utilisateurs ayant besoin de plus de contexte.Ce script est publié sous la licence MIT. Consultez le fichier LICENSE pour plus de détails.
Ce script est fourni "en l'état" sans garantie d'aucune sorte. Utilisez-le à vos propres risques. L'auteur n'est pas responsable des dommages causés par l'utilisation de cet outil.
Ce script a été inspiré par le travail brillant de l'équipe watchTowr, dont le modèle Nuclei YAML original pour CVE-2024-0012 a servi de base à cette implémentation Python. Leur dévouement à l'identification et à la correction des vulnérabilités de sécurité critiques continue d'établir une norme élevée dans la communauté de la cybersécurité.