
Фреймворк с открытым исходным кодом на основе предварительных и последующих обратных вызовов для мониторинга ядра macOS.
Фреймворк с открытым исходным кодом на основе Pre и Post callback'ов для мониторинга ядра macOS.
[ Срочные новости - 08/28/2019 ]
macOS Catalina 10.15 Beta 7 Release Notes
https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_beta_7_release_notes
Безопасность конечных точек
/* После тестирования я обнаружил, что эти интерфейсы Kauth на самом деле не удалены, и Kemon всё ещё работает. Но я думаю, что эта заметка о выпуске означает, что дверь в ядро macOS закрывается. (08/28/2019) */
Kemon — это фреймворк с открытым исходным кодом на основе Pre и Post callback'ов [1] для мониторинга ядра macOS [2]. Благодаря возможностям Kemon мы можем легко реализовать мониторинг XPC/IPC-взаимодействия [3], фильтрацию политик Mandatory Access Control (MAC), межсетевой экран для сетевого трафика и расширений ядра и т.д. В целом, с точки зрения атакующего этот фреймворк может помочь создать более мощный руткит. С точки зрения защиты Kemon может помочь построить более детализированные возможности мониторинга.
Я также реализовал несколько фаззеров ядра [4] [7] на основе этого фреймворка, которые помогли мне найти множество уязвимостей ядра, таких как:
Apple Silicon AGX-based GPU, IOMobileFrameBuffer и Display Co-processor (DCP) [10]:
CVE-2024-40854, CVE-2024-44197 [33], CVE-2024-44199 [34], CVE-2025-24106 [35], CVE-2025-24111 [38], CVE-2025-24257 [36], CVE-2025-24273 [37], CVE-2025-43326 [39] [40], и т.д.
GPU на базе AMD и Intel от Apple:
CVE-2017-7155, CVE-2017-7163, CVE-2017-13883 [11], CVE-2018-4350, CVE-2018-4396, CVE-2018-4418 [12], CVE-2019-8807 [13], CVE-2022-22631, CVE-2022-22661, CVE-2022-46706 [23], и т.д.
Wi-Fi IO80211FamilyV1/V2 [5] [9]:
CVE-2020-9832, CVE-2020-9833, CVE-2020-9834 [15], CVE-2020-9899 [16], CVE-2020-10013 [17] [18] [19], CVE-2022-26761 [24], CVE-2022-26762 [25], CVE-2022-32837, CVE-2022-32847, CVE-2022-32860 [26] [27] [28], CVE-2022-32925, CVE-2022-46709 [29] [30], CVE-2023-38610 [31] [32], CVE-2025-43373 [41], CVE-2026-20621 [42] [43], и т.д.
Bluetooth Host Controller Interface (HCI) [6]:
CVE-2020-3892, CVE-2020-3893, CVE-2020-3905, CVE-2020-3907, CVE-2020-3908, CVE-2020-3912, CVE-2020-9779, CVE-2020-9853 [14], CVE-2020-9831 [15], CVE-2020-9928, CVE-2020-9929 [16], и т.д.
Механизм отображения памяти ядра [8]:
CVE-2020-27914, CVE-2020-27915, CVE-2020-27936 [20] [21], CVE-2021-30678 [22], и т.д.
Возможности Kemon включают:
Кроме того, проект Kemon может расширять интерфейсы мониторинга на основе Pre и Post callback'ов для любой функции ядра macOS.
Пожалуйста, используйте проект Xcode или makefile для сборки драйвера kext Kemon.
Пожалуйста, отключите проверку System Integrity Protection (SIP) macOS, если у вас нет действительного сертификата ядра.
Используйте команду "sudo chown -R root:wheel kemon.kext" для смены владельца расширения ядра Kemon.
Используйте команду "sudo kextload kemon.kext" для установки расширения ядра Kemon.
Используйте команду "sudo kextunload kemon.kext" для удаления расширения ядра Kemon.
Приветствуется участие через создание issues или отправку pull requests. См. руководство по участию для получения рекомендаций.
Kemon лицензирован под Apache License 2.0. См. файл LICENSE.