
macOS CVE-2024-44133 avaliador de navegadores populares
Avalia a suscetibilidade ao CVE-2024-44133 dos navegadores comuns do macOS.
Também contém o HTML que tira uma captura de tela e a baixa, junto com a extração de localização.

Para executar o avaliador, que avalia o CVE-2024-44133 em todos os navegadores comuns do macOS, execute:
python3 -m pip install -r ./requirements.txt
./hm-surf-eval.py
Após a execução, a ferramenta avalia as capacidades de bypass do TCC de todos os navegadores comuns do macOS.
O arquivo hm-surf.html é uma página HTML de exemplo que demonstra o CVE-2024-44133.
Tudo o que faz é acessar a câmera e a localização, apresentando a localização (com baixa precisão, propositalmente) e baixa a captura de tela da câmera (mas poderia facilmente salvá-la em um servidor).
Este arquivo não é um exploit por si só e requer acesso à Câmera, Microfone e localização habilitado para o navegador, por exemplo, por um invasor local sobrescrevendo as preferências por navegador.
Essa capacidade pode ser avaliada com o avaliador.
Para visualizar a página HTML facilmente, você pode usar qualquer ferramenta, por exemplo, htmlpreview.
Codificar um avaliador é bastante fácil - você herda de BrowserEvaluatorBase e implementa dois métodos:
get_browser_name - recupera um nome de navegador legível por humanos.evaluate - recebe o username e seu home_dir e avalia a suscetibilidade. Retornar None significa que o navegador não é suscetível, enquanto retornar uma instância de BrowserResults produz resultados suscetíveis.Note que também existe uma classe base ChromiumEvaluatorBase para navegadores baseados em Chromium, o que significa que você precisa implementar o habitual get_browser_name e também um método get_preference_filepath que retorna um caminho de arquivo de preferências para o diretório home fornecido. Você não precisa implementar evaluate para navegadores baseados em Chromium, isso é implementado pela classe base.