Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
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.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2026-0300-audit — Herramienta de auditoría de solo lectura para CVE-2026-0300 (exposición del Portal de Autenticación User-ID de PAN-OS) | Kitploit
Herramientas/GitHubGitHub/tailwindrg/cve-2026-0300-audit
Seguridad de Infraestructura en la NubeAnálisis de VulnerabilidadesScripting y AutomatizaciónAuditoría de ConfiguraciónSeguridad de RedesDevSecOps
GitHubtailwindrg/cve-2026-0300-audit

cve-2026-0300-audit

Herramienta de auditoría de solo lectura para CVE-2026-0300 (exposición del Portal de Autenticación User-ID de PAN-OS)

Ver Repositorio
21hace 5 mesesAún no revisado

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

Herramientas de Auditoría para CVE-2026-0300

Herramientas de auditoría de solo lectura para CVE-2026-0300 — el desbordamiento de búfer no autenticado en el Portal de Autenticación de User-ID de PAN-OS (anteriormente conocido como "Portal Cautivo") en firewalls de las series PA y VM.

Este repositorio acompaña al aviso de seguridad de Tailwind Resource Group TRG-SA-2026-003 y proporciona:

  • audit_portal.py — Nivel 1: auditoría de un solo firewall
  • audit_fleet.py — Nivel 2: barrido de flota impulsado por Panorama (concurrente)
  • panos_audit.py — biblioteca compartida utilizada por ambas CLI

Los scripts son de solo lectura. Emiten consultas de tipo show contra la API XML de PAN-OS y nunca modifican la configuración. La clave de API se envía mediante el encabezado HTTP X-PAN-KEY en lugar de como parámetro de consulta en la URL, por lo que no aparece en los registros de acceso del plano de gestión de PAN, en los registros de proxies con inspección TLS ni en los argumentos de proceso del auditor.

Por qué existe esto

El registro CVE utiliza el nombre de función moderno "Portal de Autenticación de User-ID". El esquema XML de PAN-OS, las opciones de CLI y las rutas de URL de documentación aún utilizan el vocabulario heredado captive-portal. Los operadores que auditan flotas con show config running | match authentication-portal pasarán por alto silenciosamente toda configuración porque esa cadena nunca aparece como elemento de configuración. Esta herramienta busca el nombre de elemento correcto según el esquema, independientemente de cuándo se creó la configuración.

El análisis completo de Tailwind sobre este detalle de nomenclatura se encuentra en TRG-SA-2026-003, "La huella heredada del Portal Cautivo".

Requisitos

  • Python 3.10 o superior
  • Solo biblioteca estándar — no se requiere pip install
  • Una clave de API de PAN-OS con acceso de lectura al firewall (o, para el Nivel 2, a Panorama)
  • Un certificado firmado por CA (o de confianza del operador) en la interfaz de gestión del firewall; se proporciona --insecure solo para auditorías de puesta en marcha puntuales

Nivel 1 — firewall único

export PAN_API_KEY="<key>"
./audit_portal.py --hostname fw1.example.com

Ejemplo de salida en tabla:

vsys: vsys1
  configured:    True
  enabled:       True
  redirect_host: auth-portal.internal.example.com
  mode:          redirect
  bound:         ethernet1/3(internal-trust), ethernet1/4(guest)
  tls_verified:  True
  risk:          EXPOSED_LIKELY

Otros formatos de salida: --output json o --output csv.

Otras opciones: --vsys <nombre> para auditoría de un solo vsys, --timeout/--retries para upstreams lentos, --debug para detalles de error detallados en stderr.

Nivel 2 — barrido de flota con Panorama

export PAN_API_KEY="<panorama-key>"
./audit_fleet.py --hostname panorama.example.com --workers 16 --output csv > fleet-audit.csv

Cada fila del CSV es un dispositivo-vsys con estado del portal, host de redirección, modo, enlaces de interfaz y una clasificación de riesgo. El script utiliza el parámetro de API target=<serial> de Panorama, por lo que nunca se conecta directamente a los firewalls gestionados: una sola conexión a Panorama barre toda la flota.

Opciones destacadas:

  • --workers N — hilos de auditoría concurrentes (predeterminado 8, máximo 32). Una flota de 1000 dispositivos se completa en minutos en lugar de la hora o más que tomaría un barrido en serie.
  • --timeout, --retries — ajustes por llamada a la API. Los URLError transitorios y los HTTP 5xx se reintentan con retroceso acotado.
  • --exclude-disconnected — de forma predeterminada, los dispositivos desconectados se incluyen con risk=DISCONNECTED para que sigan siendo visibles durante la ventana de parcheo. Use esta opción para eliminarlos.
  • --min-expected-devices N — advierte (stderr) si Panorama devuelve menos dispositivos que N. Útil para detectar truncamiento de respuesta frente a un tamaño de flota conocido.
  • --serial-filter '0007*' — filtra por glob según el número de serie para auditar un subconjunto.
  • --debug — imprime detalles de error detallados por dispositivo en stderr (incluye cadenas reason del upstream; desactivado por defecto para evitar filtrar nombres de host en CSV orientados al cliente).

Clasificación de riesgo

La columna risk en la salida es una de las siguientes:

EtiquetaSignificado
INFO_NOT_CONFIGUREDSin bloque <captive-portal> en el dispositivo. Fuera del alcance de CVE-2026-0300.
INFO_DISABLEDEl portal está configurado pero enabled=no. La ruta de código vulnerable no está activa.
REVIEW_POLICY_NO_BINDINGSPortal habilitado, pero no se encontraron enlaces de interfaz en la configuración. Verificar mediante la WebUI.
EXPOSED_LIKELYPortal habilitado y vinculado a una zona cuyo nombre sugiere exposición no confiable (untrust, dmz, guest, external, internet, wan, public). Investigar primero.
REVIEW_POLICYPortal habilitado y vinculado a zonas con nombres internos. Revisar la política de seguridad para confirmar la accesibilidad.

EXPOSED_LIKELY es una pista, no un veredicto: los nombres de zona son convenciones del operador, no una aplicación de seguridad. El script no puede reemplazar una revisión de política de seguridad; ordena la salida de la flota para indicar dónde debe centrarse la atención primero.

Qué hacen los scripts — y qué no hacen

Sí hacen:

  • Consultar bloques <captive-portal> por vsys (el nombre del elemento de esquema es siempre captive-portal, independientemente del nombre en la interfaz o la versión de PAN-OS).
  • Informar habilitado/deshabilitado, host de redirección, modo y enlaces de interfaz resueltos por zona.
  • Clasificar el riesgo mediante heurística de nombres de zona para que las filas EXPOSED_LIKELY aparezcan primero en la salida de la flota.
  • Enviar la clave de API mediante el encabezado X-PAN-KEY para que no aparezca en los registros de acceso de URL ni en los argumentos de proceso.
  • Limitar el tamaño del cuerpo de respuesta (50 MB) para defenderse contra ataques de expansión de entidades en el analizador XML.
  • Reintentar errores transitorios con retroceso acotado.

No hacen:

  • Revisar la política de seguridad de forma exhaustiva. Si el portal es accesible desde una red no confiable depende de las reglas de política, NAT y enlaces de zona: el operador debe completar esa revisión a partir de la salida de la auditoría.
  • Probar la accesibilidad mediante sondas de red. Solo auditoría de configuración pura.
  • Modificar ninguna configuración. Todas las llamadas a la API son de solo lectura.

Generación de una clave de API de PAN-OS

La clave de API de PAN-OS hereda el rol y los permisos del usuario que la genera.

Advertencia importante: no existe una concesión de API XML de solo lectura en PAN-OS.

Los permisos de Rol de Administrador en la pestaña API XML son binarios Habilitar/Deshabilitar por categoría: Configuración, Solicitudes Operativas, Commit, Exportar, Importar, Informe, Registro, Agente User-ID. Habilitar Configuración para la API XML permite tanto show como acciones set/edit/delete/move/rename/clone. Habilitar Solicitudes Operativas permite operaciones <request> arbitrarias, incluido <request><restart>. Las pestañas de Web UI y API REST ofrecen Solo Lectura como opción; la pestaña de API XML no.

Un "usuario de auditoría" creado al habilitar estas categorías de API XML posee autoridad completa de escritura de API XML en el dispositivo. Trate la clave resultante como una credencial privilegiada: limite su vigencia a la ventana de auditoría, guárdela en un gestor de secretos y deshabilite al usuario cuando el trabajo esté completo.

Descargar herramienta