
Determinar la versión en ejecución en el firewall de Palo Alto Networks para el portal Global Protect
Determinar la versión que ejecuta el firewall de Palo Alto Networks para el Global Protect Portal
Recientemente, Palo Alto Networks anunció muchas vulnerabilidades críticas aquí: https://security.paloaltonetworks.com/?severity=CRITICAL&product=PAN-OS&sort=-date
Este es un PoC para determinar la versión utilizada por el firewall, examinando el etag de un escaneo con curl sobre su favicon y login.esp
Referencia:
Impacto de CWE-78: https://cwe.mitre.org/data/definitions/78
Por The Register: https://www.theregister.com/2020/07/09/palo_alto_fix/
Por Vulmon https://vulmon.com/searchpage?q=paloaltonetworks

Instrucciones:
Asegúrate de tener la última versión de Python3
Demo:
curl -skI https://example.com/global-protect/login.esp
HTTP/1.1 200 OK Content-Type: text/html; charset=UTF-8 Connection: keep-alive ETag: "5e4c6-2f3g-5b650798"
Para determinarlo, tenemos que examinar el etag de algunas de las URLs; al hacerlo, tomaremos los últimos 8 caracteres del Etag, que estarán en hexadecimal. Al convertirlos a decimal, y luego de tiempo epoch a tiempo legible por humanos, podremos descifrar la versión utilizada y comprobar si es vulnerable o no a esta inyección de comandos del sistema operativo publicada recientemente por Palo Alto Networks.
Así que, del ejemplo de la demo, nos interesan los últimos 8:
5b650798
Conviértelo de hexadecimal a decimal, y luego de tiempo epoch decimal a formato legible por humanos.
Obtendrás esto: Sat Aug 4 04:55:36 EEST 2018
Luego comprueba si es vulnerable según las versiones anunciadas.
Esto intentará hacerlo al ejecutarlo.
Aviso legal El uso de esta herramienta para probar objetivos sin consentimiento mutuo previo es ilegal. Es responsabilidad del usuario final cumplir con todas las leyes locales, estatales y federales aplicables. Los desarrolladores no asumen ninguna responsabilidad y no se hacen responsables por el mal uso o los daños causados por este programa.