
PoC para CVE-2024-23997
Una prueba de concepto para la vulnerabilidad CVE-2024-23997.
cf) Un proxy, especialmente un proxy web, actúa como un agente en medio de la comunicación web, recibiendo y reenviando solicitudes y respuestas en nombre de otros. Por lo tanto, independientemente del puerto que utilice YANA, un proxy puede interceptar la comunicación. Aunque los proxies se utilizan por seguridad o para aumentar la velocidad de búsqueda mediante caché, muchos programas maliciosos los explotan para espiar las comunicaciones web que envían los usuarios.
Veamos un ejemplo con YANA. Instalé Burp Suite, una herramienta proxy que actúa como malware, en mi Windows 10 para configurar un entorno de prácticas. Burp Suite es una herramienta de diagnóstico de seguridad de red de PortSwigger, y su versión comunitaria está disponible de forma gratuita. Si deseas seguir este ejemplo, ten en cuenta que se requieren cambios en la configuración de red para la práctica, por lo que es necesaria la restauración.
Paso 1) El malware real no cambia la configuración de Internet, sino que escucha los paquetes utilizando la API de Windows, la API de Linux, etc. Sin embargo, debido a su complejidad, las opciones se activan manualmente. Presiona la tecla de Windows y busca Opciones de Internet.
Paso 2) Ve a la pestaña Conexiones y haz clic en el botón Configuración de LAN.
Paso 3) Marca la opción “Usar un servidor proxy para su LAN” y haz clic en el botón Opciones avanzadas. Para restaurar la configuración, simplemente desmarca.
Paso 4) Modifica el contenido de HTTP en Servidores a “127.0.0.1”, “8080”, y Excepciones a “<-loopback>” y haz clic en los botones Aceptar para guardar la opción.
Paso 5) Abre Burp Suite.
Paso 6) Como solo vamos a verificar, marca la opción “Proyecto temporal en memoria” y haz clic en el botón Siguiente.
Paso 7) Selecciona “Usar los valores predeterminados de Burp” y haz clic en el botón Iniciar Burp.
Paso 8) Ve a la pestaña Proxy, luego haz clic en Configuración de proxy para comprobar si el proxy está configurado en 127.0.0.1:8080 en Proxy listeners y verifica que la opción Running esté marcada. Además, ve a Reglas de interceptación de respuestas bajo Proxy listeners y marca Interceptar la respuesta según las siguientes reglas. Cuando cierres la ventana de configuración, las opciones se aplican automáticamente.
Paso 9) Ve a la pestaña Intercept en el Proxy y verifica que “Intercept is on” esté activado, luego abre Yana. Cuando Intercept está habilitado, todas las comunicaciones HTTP/HTTPS se retienen y no se envían a la otra parte hasta que se desactive Intercept o se presione Forward.
Paso 10) Mientras presionas el botón Forward, busca respuestas HTML entre las respuestas recibidas del servidor en segundo plano de Yana. Es fácil distinguirlas porque la etiqueta title del documento HTML está escrita como Yana.
Paso 11) Inserta el código JS (“<script>require('child_process').exec('C:/Windows/System32/calc.exe')</script>”) usando una etiqueta script debajo de la etiqueta body del HTML.
Paso 12) Luego, desactiva “Intercept is on”, y el programa Yana Electron recibirá los paquetes y ejecutará el script, abriendo la calculadora.
Paso 13) Una vez completada la práctica, ve a Opciones de Internet y desactiva el uso del servidor proxy.
Esto se debe a que la opción nodeIntegration está habilitada en Yana. Incluso si esta opción está deshabilitada, la ejecución de código Node.js desde HTML es posible mediante varios otros métodos. Si se ejecuta con los permisos de Yana, y si Yana se está ejecutando con permisos de administrador o root, el código malicioso inyectado puede ejecutarse con esos permisos. Por lo tanto, como se mencionó anteriormente, es más seguro obtener y mostrar páginas HTML usando protocolos como el protocolo File, que son más difíciles de interceptar en la comunicación entre programas, en lugar de usar el protocolo HTTP.