评估常见 macOS 浏览器对 CVE-2024-44133 的受影响程度。
同时包含用于截图并下载截图以及提取位置的 HTML。

要运行评估器(它会评估所有常见 macOS 浏览器对 CVE-2024-44133 的受影响程度),请运行:
python3 -m pip install -r ./requirements.txt
./hm-surf-eval.py
执行后,该工具会评估所有常见 macOS 浏览器的 TCC 绕过能力。
文件 hm-surf.html 是一个示例 HTML 页面,用于演示 CVE-2024-44133。
它所做的一切就是访问摄像头和位置,显示位置(故意使用低精度),并下载摄像头截图(但它也可以轻松地将其保存到服务器上)。
该文件本身不是漏洞利用程序,需要浏览器启用摄像头、麦克风和位置访问权限,例如由本地攻击者覆盖各浏览器的偏好设置来实现。
这种能力可以通过评估器来评估。
要轻松查看 HTML 页面,你可以使用任何工具,例如 htmlpreview。
编写评估器相当简单——你继承自 BrowserEvaluatorBase 并实现两个方法:
get_browser_name - 获取人类可读的浏览器名称。evaluate - 接收 username 及其 home_dir 并评估受影响程度。返回 None 表示浏览器不受影响,而返回 BrowserResults 实例则表示存在受影响结果。请注意,还有一个适用于基于 Chromium 的浏览器的 ChromiumEvaluatorBase 基类,这意味着你必须实现常规的 get_browser_name 以及一个 get_preference_filepath 方法,该方法返回给定主目录的偏好设置文件路径。对于基于 Chromium 的浏览器,你不必实现 evaluate,该基类已实现了它。