
Evaluador de la CVE-2024-44133 de macOS para navegadores populares
Evalúa la susceptibilidad al CVE-2024-44133 de los navegadores comunes de macOS.
También contiene el HTML que toma una captura de pantalla y la descarga junto con la extracción de ubicación.

Para ejecutar el evaluador, que evalúa CVE-2024-44133 en todos los navegadores comunes de macOS, ejecuta:
python3 -m pip install -r ./requirements.txt
./hm-surf-eval.py
Al ejecutarse, la herramienta evalúa las capacidades de evasión de TCC de todos los navegadores comunes de macOS.
El archivo hm-surf.html es una página HTML de ejemplo que demuestra CVE-2024-44133.
Todo lo que hace es acceder a la cámara y la ubicación, mostrando la ubicación (con baja precisión, a propósito) y descarga la captura de pantalla de la cámara (pero podría guardarla igual de fácilmente en un servidor).
Este archivo no es un exploit por sí mismo y requiere que el acceso a la cámara, el micrófono y la ubicación esté habilitado para el navegador, p. ej., mediante un atacante local que sobrescriba las preferencias específicas del navegador.
Esa capacidad puede evaluarse con el evaluador.
Para ver la página HTML fácilmente, puedes usar cualquier herramienta, p. ej. htmlpreview.
Codificar un evaluador es bastante fácil: heredas de BrowserEvaluatorBase e implementas dos métodos:
get_browser_name - recupera un nombre de navegador legible por humanos.evaluate - recibe el username y su home_dir y evalúa la susceptibilidad. Devolver None significa que el navegador no es susceptible, mientras que devolver una instancia de BrowserResults produce resultados de susceptibilidad.Ten en cuenta que también hay una clase base ChromiumEvaluatorBase para navegadores basados en Chromium, lo que significa que tienes que implementar el habitual get_browser_name y además un método get_preference_filepath que devuelva una ruta de archivo de preferencias para el directorio home dado. No tienes que implementar evaluate para navegadores basados en Chromium, eso lo implementa la clase base.