
PANW NGFW CVE-2024-0012
Este script Python verifica a presença de uma vulnerabilidade crítica de bypass de autenticação na Interface Web de Gerenciamento do Palo Alto Networks PAN-OS, identificada como CVE-2024-0012. A vulnerabilidade permite que um atacante não autenticado obtenha privilégios administrativos, altere a configuração ou explore outras vulnerabilidades de escalonamento de privilégios.
Zero Touch Provisioning e window.Pan para detecção precisa.-t ou um arquivo de alvos com -f.-d ou por meio de solicitação do usuário no modo interativo.-e ou --explanation para imprimir uma descrição detalhada e amigável das CVE-2024-0012 e CVE-2024-9474rich para exibir resultados em um formato limpo e legível.requests para requisições HTTPrich para saída estilizadapip install -r requirements.txt
Para verificar um único alvo interativamente:
python main.py
Especifique um único FQDN ou IP:
python main.py -t 127.0.0.1
Forneça um arquivo contendo uma lista de alvos (um por linha):
python main.py -f targets.txt
Use a flag -d ou --details para imprimir automaticamente resultados detalhados para todos os alvos vulneráveis:
python main.py -t 127.0.0.1 -d
Use a flag -e ou --explanation para imprimir uma explicação detalhada das vulnerabilidades CVE-2024-0012 e CVE-2024-9474:
python main.py -t 127.0.0.1 -d -e (ou -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.
Ao final da varredura, uma tabela de resumo lista todos os alvos e seus status:
┏━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┓
┃ Target ┃ Status ┃
┡━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━┩
┃ 127.0.0.1 ┃ Vulnerable ┃
┃ example.com ┃ Not Vulnerable ┃
└───────────────────────┴─────────────────┘
Se a flag -e ou --explanation for usada:
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 ou --file for fornecido, o script solicita entrada interativa.-e fornece uma visão geral educacional das vulnerabilidades para usuários que precisam de mais contexto.Este script é disponibilizado sob a Licença MIT. Veja o arquivo LICENSE para detalhes.
Este script é fornecido "como está", sem garantia de qualquer tipo. Use por sua conta e risco. O autor não se responsabiliza por qualquer dano causado pelo uso desta ferramenta.
Este script foi inspirado pelo brilhante trabalho da equipe watchTowr, cujo template original em Nuclei YAML para CVE-2024-0012 serviu como base para esta implementação em Python. A dedicação deles em identificar e abordar vulnerabilidades críticas de segurança continua a estabelecer um alto padrão na comunidade de cibersegurança.