
PANW NGFW CVE-2024-0012
Este script de Python verifica la presencia de una vulnerabilidad crítica de omisión de autenticación en la Interfaz Web de Administración de Palo Alto Networks PAN-OS, identificada como CVE-2024-0012. La vulnerabilidad permite que un atacante no autenticado obtenga privilegios administrativos, manipule la configuración o explote otras vulnerabilidades de escalada de privilegios.
Zero Touch Provisioning y window.Pan para una detección precisa.-t o un archivo de objetivos con -f.-d o mediante solicitud al usuario en modo interactivo.-e o --explanation para imprimir una descripción detallada y amigable de CVE-2024-0012 y CVE-2024-9474.rich para mostrar los resultados en un formato limpio y legible.requests para solicitudes HTTPrich para salida estilizadapip install -r requirements.txt
Para verificar un único objetivo de forma interactiva:
python main.py
Especifique un único FQDN o IP:
python main.py -t 127.0.0.1
Proporcione un archivo que contenga una lista de objetivos (uno por línea):
python main.py -f targets.txt
Use la bandera -d o --details para imprimir automáticamente resultados detallados de todos los objetivos vulnerables:
python main.py -t 127.0.0.1 -d
Use la bandera -e o --explanation para imprimir una explicación detallada de las vulnerabilidades CVE-2024-0012 y CVE-2024-9474:
python main.py -t 127.0.0.1 -d -e (o -de)
[!] Target -appears- vulnerable!
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Key ┃ Value ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
┃ URL ┃ https://127.0.0.1/php/ztp_gate.php/.js.map ┃
┃ Status Code ┃ 200 ┃
┃ Headers ┃ {"Date": "Wed, 20 Nov 2024 15:29:31 GMT", ... ┃
┃ Markers Found ┃ ...<title>Zero Touch Provisioning</title>... ┃
┃ ┃ ...window.Pan = window.Pan || {};... ┃
└─────────────────────────────┴──────────────────────────────────────────────────────────┘
[+] Target does not appear to be vulnerable.
Message: No matching conditions met.
Al final del escaneo, una tabla resumen lista todos los objetivos y sus estados:
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ Target ┃ Status ┃
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
┃ 127.0.0.1 ┃ Vulnerable ┃
┃ example.com ┃ Not Vulnerable ┃
└───────────────────────┴─────────────────┘
Si se usa la bandera -e o --explanation:
CVE-2024-0012 Explained
CVE-2024-0012 is an authentication bypass vulnerability. This means attackers can skip the login process and access sensitive parts of a system without needing a username or password. In Palo Alto Networks’ PAN-OS, this vulnerability allows attackers to trick the system by sending specially crafted HTTP GET requests. These requests include a header called `X-PAN-AUTHCHECK`, which tells the system whether or not authentication is required. If this header is set to `off`, the system mistakenly grants access to restricted areas without checking if the person is logged in.
This vulnerability can be exploited together with CVE-2024-9474, a privilege escalation vulnerability, to gain full root access to the device. Once attackers achieve root access, they can control the firewall, steal sensitive data, or disable security features.
If this vulnerability is confirmed, patch the affected system as soon as possible to prevent exploitation. Additionally, restrict access to the management interface by IP whitelisting or using a dedicated management network.
[bold red]Error:[/bold red] HTTPSConnectionPool(host='127.0.0.1', port=443): Max retries exceeded with URL: /php/ztp_gate.php/.js.map (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x...>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
--target ni --file, el script solicita entrada interactiva.-e proporciona una visión educativa de las vulnerabilidades para usuarios que necesiten más contexto.Este script se publica bajo la Licencia MIT. Consulte el archivo LICENSE para más detalles.
Este script se proporciona "tal cual", sin garantía de ningún tipo. Úselo bajo su propio riesgo. El autor no es responsable de ningún daño causado por el uso de esta herramienta.
Este script fue inspirado por el brillante trabajo del equipo de watchTowr, cuya plantilla original Nuclei YAML para CVE-2024-0012 sirvió como base para esta implementación en Python. Su dedicación para identificar y abordar vulnerabilidades de seguridad críticas continúa estableciendo un alto estándar en la comunidad de ciberseguridad.