
Extensión de navegador sin conexión que proporciona análisis defensivo y guía de detección para CVE-2026-20127, con visualización de paquetes, extracción de IOC y estrategias de mitigación para Cisco SD-WAN.
El Defensor Complementario de CVE-2026-20127 es una extensión de navegador premium de nivel empresarial diseñada para inteligencia de amenazas proactiva y análisis defensivo. Esta herramienta encapsula investigación técnica autorizada sobre la vulnerabilidad de omisión de autenticación en Cisco Catalyst SD-WAN Controller (vSmart). Al proporcionar una capa de inteligencia localizada y fuera de línea, empodera a los Centros de Operaciones de Seguridad (SOC) y a los investigadores defensivos para analizar rápidamente estructuras de paquetes, rastrear flujos de autenticación y extraer instantáneamente Indicadores de Compromiso (IOC) sin exponer datos de investigación activos a redes externas.
La arquitectura Cisco Catalyst SD-WAN depende del servicio vdaemon para establecer y mantener conexiones DTLS del plano de control entre dispositivos periféricos y el controlador. La vulnerabilidad subyacente (CVE-2026-20127) explota una falla en la validación de la máquina de estados durante la secuencia de handshake DTLS, afectando explícitamente puertos típicamente asociados con el tráfico de control de vSmart (ej., 12346, 52521). La vulnerabilidad permite que actores no autorizados omitan la validación de certificados X.509 y forjen un estado autenticado dentro del registro interno del controlador.
El objetivo principal de este proyecto es sintetizar el repositorio de exploit original en un activo estructurado, educativo y defensivo. La investigación busca deconstruir la omisión de autenticación vbond_proc_challenge_ack_ack() y presentarla a través de un conjunto de visualizaciones interactivas. Esto permite a los profesionales de ciberseguridad comprender los mecanismos exactos de la vulnerabilidad, implementar lógica de detección robusta y aplicar estrategias de mitigación integrales en implementaciones empresariales de SD-WAN.
El repositorio está estructurado para separar datos de inteligencia, visualización principal de la interfaz y lógica de búsqueda inteligente, cumpliendo con las restricciones arquitectónicas de Chrome Manifest V3.
src/knowledge): Contiene exactamente 17 dominios JSON segmentados que representan la inteligencia analizada de la investigación original del exploit.src/services): Alberga el motor de conocimiento NLP fuera de línea KnowledgeEngine, responsable de la detección de intenciones y la recuperación semántica.src/components, src/sidepanel): Una interfaz de usuario basada en React que renderiza visualizaciones dinámicas de paquetes y el panel de análisis.El análisis en profundidad confirma que la vulnerabilidad reside dentro de la función vbond_proc_challenge_ack_ack(), ubicada en la dirección 0x38AB7 en vdaemon (versión 20.12.5). El fallo principal es una completa falta de validación del lado del servidor en el byte verify_status proporcionado dentro del cuerpo del mensaje. Cuando un par no autenticado envía un paquete CHALLENGE_ACK_ACK con un verify_status distinto de cero, vdaemon confía implícitamente en esta afirmación y escribe 1 en la memoria del estado de autenticación del par *(BYTE*)(a2+70) = 1.
El handshake DTLS legítimo para el plano de control opera de la siguiente manera:
msg_type=8 (CHALLENGE).msg_type=9 (CHALLENGE_ACK), proporcionando las pruebas criptográficas requeridas.msg_type=10 (CHALLENGE_ACK_ACK).El flujo de protocolo explotado omite deliberadamente el paso 3. El atacante intercepta el CHALLENGE y responde inmediatamente con un CHALLENGE_ACK_ACK falsificado (msg_type=10). Debido a que la puerta de autenticación dentro de vbond_proc_msg() exime a msg_type=10 del filtrado previo a la autenticación, el paquete llega al manejador vulnerable y corrompe la máquina de estados.
Los equipos de seguridad deben buscar activamente las siguientes anomalías para detectar intentos de explotación activos:
control-connection-state-change donde peer-vmanage-system-ip es 0.0.0.0, seguido inmediatamente de una transición de estado a down en cuestión de segundos.vmanage-admin a través del puerto TCP 830 (NETCONF) inmediatamente después de inestabilidad DTLS.vdaemon_peer_ssl_snapshot_info que indican que los certificados locales y del par difieren significativamente de una manera que no coincide con el aprovisionamiento estándar.Los defensores deben implementar las siguientes estrategias de remediación:
20.12.6.1 o posterior, que aplica una validación estricta de la máquina de estados en vbond_proc_challenge_ack_ack().authorized_keys para la cuenta vmanage-admin.La extensión implementa un motor de conocimiento personalizado y fuera de línea que indexa 17 dominios específicos extraídos del repositorio. El motor opera completamente de forma local dentro del navegador, utilizando un pipeline de Procesamiento de Lenguaje Natural (NLP) en múltiples etapas:
Detection).La solución se basa en gran medida en una arquitectura distribuida y asíncrona a través de Manifest V3:
chrome.storage.local para persistir el estado y la configuración de la extensión.@vitejs/plugin-react)La extensión está altamente optimizada para un despliegue rápido y flujos de trabajo de analista sin interrupciones:
Set<string>) sincrónicamente en el momento de la carga, reduciendo la latencia de búsqueda en tiempo de ejecución a rangos de submilisegundos.background.js del paquete pesado de UI sidepanel.js para conservar la huella de memoria.La seguridad y la privacidad de los datos son fundamentales para esta herramienta:
manifest.json solicita solo los permisos estrictamente necesarios (activeTab, sidePanel, storage).unsafe-eval y la ejecución remota de scripts.npm install
npm run build
npm run dev
dist/ optimizado.chrome://extensions/ en tu navegador.dist/.ext/
├── public/ # Activos estáticos y manifest.json
├── src/
│ ├── background/ # Scripts del service worker
│ ├── components/ # Componentes React (ProtocolViewer, PacketExplorer, Chat)
│ ├── content/ # Scripts de escaneo DOM y resaltado de amenazas activas
│ ├── knowledge/ # 17 dominios JSON segmentados que contienen datos CVE extraídos
│ ├── options/ # Configuración de la extensión y lógica del Generador de Informes
│ ├── services/ # Implementación NLP del KnowledgeEngine fuera de línea
│ └── sidepanel/ # Espacio de trabajo persistente principal para analistas
├── package.json # Dependencias de Node.js y definiciones de scripts
├── tsconfig.json # Configuración de TypeScript para tipado estricto
└── vite.config.ts # Configuración de compilación de Vite