Este proyecto de investigación empezó cuando la mujer de Javier, nuestro ex jefe de investigación, le dijo que su cámara IP había dejado de funcionar. Le pidieron a Javier que la arreglara, pero, como investigador de seguridad, la tentación era demasiado grande. Llevó la cámara a la oficina y comentó el problema con Octavio, otro investigador de seguridad de Faraday. La situación pasó rápidamente de una ligera ingeniería inversa a un proyecto de investigación de vulnerabilidades en toda regla, que terminó con dos fallos de alta gravedad y una estrategia de explotación digna de la gran pantalla.
Octavio y Javier descubrieron dos vulnerabilidades de ejecución remota de código LAN en la implementación de EZVIZ del Search Active Devices Protocol (SADP) de Hikvision y el servidor SDK:
- CVE-2023-34551: EZVIZ's implementation of Hikvision's SDK server post-auth stack buffer overflows (CVSS3 8.0 - HIGH)
- CVE-2023-34552: EZVIZ's implementation of Hikvision's SADP packet parser pre-auth stack buffer overflows (CVSS3 8.8 - HIGH)
El código afectado está presente en varios productos EZVIZ, entre los que se incluyen:
Estas vulnerabilidades afectan a las cámaras IP y pueden utilizarse para ejecutar código de forma remota, así que se inspiraron en las películas y decidieron recrear un ataque que suele verse en las películas de atracos. El hacker del grupo se encarga de secuestrar las cámaras y modificar la señal para evitar ser detectado. Tomemos, por ejemplo, esta famosa escena de Ocean's Eleven:Aprovechando cualquiera de estas vulnerabilidades, Javier y Octavio servían a la víctima un flujo de vídeo arbitrario tunelizando su conexión con la cámara a un servidor controlado por el atacante mientras dejaban operativas todas las demás funciones de la cámara. Si quieres profundizar en todo el proceso de investigación, deberías echar un vistazo al diapositivas y código por la presentación y demostración que hicieron en DEFCON 31 Hardware Hacking Village y la grabación de su charla en la Ekoparty 2023. Cubren el análisis del firmware, el descubrimiento de vulnerabilidades, la construcción de una cadena de herramientas para compilar un depurador para el objetivo, el desarrollo de un exploit capaz de saltarse ASLR, y todos los detalles sobre la post-explotación al estilo Hollywood, incluyendo el rastreo, el parcheado de código en memoria y la manipulación de la ejecución del binario que implementa la mayoría de las características de la cámara.Esta investigación muestra que las vulnerabilidades de corrupción de memoria siguen abundando en los dispositivos embebidos y de IoT, incluso en productos comercializados para aplicaciones de seguridad como las cámaras IP. Las vulnerabilidades de corrupción de memoria pueden detectarse mediante análisis estático, y la aplicación de prácticas de desarrollo seguras puede reducir su incidencia. Estos enfoques son habituales en otros sectores, lo que demuestra que la seguridad no es una prioridad para los fabricantes de dispositivos integrados y de IoT, ni siquiera cuando desarrollan productos relacionados con la seguridad. Al llenar el vacío existente entre la piratería de IoT y la gran pantalla, esta investigación cuestiona la integridad de los sistemas de videovigilancia y espera concienciar sobre los riesgos de seguridad que plantean este tipo de dispositivos.Calendario de divulgación2022-12-19: Contacto inicial con EZVIZ solicitando un canal seguro de divulgación.
2022-12-27: Informe de desbordamientos de búfer SADP enviado.
2023-01-14: El equipo de seguridad de EZVIZ reconoció la vulnerabilidad SADP.
2023-01-19: Informe de desbordamientos de búfer del servidor SDK enviado.
2023-02-07: El equipo de seguridad de EZVIZ reconoció la vulnerabilidad del SDK y compartió su plan de reparación y calendario.
2023-04-03: EZVIZ parcheó las versiones de firmware afectadas.
2023-06-16: Se asignaron identificadores CVE para las vulnerabilidades reportadas.
2023-07-26: EZVIZ publicó un aviso de seguridad.
Si está interesado en alguno de nuestros productos y servicios, por favor póngase en contacto con nosotros.