
Un marco de trabajo de código abierto basado en callbacks pre y post para la monitorización del kernel de macOS.
Un framework de código abierto basado en callbacks Pre y Post para la monitorización del kernel de macOS.
[ Noticias de última hora - 08/28/2019 ]
Notas de la versión de macOS Catalina 10.15 Beta 7
https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_beta_7_release_notes
Endpoint Security
/* Después de probar, descubrí que estas interfaces Kauth no se han eliminado realmente, y Kemon sigue funcionando. Pero creo que esta nota de la versión significa que la puerta al kernel de macOS se está cerrando. (08/28/2019) */
Kemon es un framework de código abierto basado en callbacks Pre y Post [1] para la monitorización del kernel de macOS [2]. Con el poder de Kemon, podemos implementar fácilmente monitorización de comunicación XPC/IPC [3], filtrado de políticas de Control de Acceso Obligatorio (MAC), cortafuegos de tráfico de red y extensiones del kernel, etc. En general, desde la perspectiva de un atacante, este framework puede ayudar a lograr un Rootkit más potente. Desde la perspectiva de la defensa, Kemon puede ayudar a construir capacidades de monitorización más granulares.
También implementé varios fuzzers de kernel [4] [7] basados en este framework, lo que me ayudó a encontrar muchas vulnerabilidades del kernel, como:
GPU basada en Apple Silicon AGX, IOMobileFrameBuffer y Coprocesador de pantalla (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], etc.
GPU basada en AMD e Intel de 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], etc.
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], etc.
Interfaz del Controlador Host Bluetooth (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], etc.
Mecanismo de mapeo de memoria del kernel [8]:
CVE-2020-27914, CVE-2020-27915, CVE-2020-27936 [20] [21], CVE-2021-30678 [22], etc.
Las funciones de Kemon incluyen:
Además, el proyecto Kemon también puede extender las interfaces de monitorización basadas en callbacks Pre y Post para cualquier función del kernel de macOS.
Utilice el proyecto Xcode o el makefile para compilar el controlador kext de Kemon
Por favor, desactive la verificación de Protección de Integridad del Sistema (SIP) de macOS si no tiene un certificado de kernel válido
Utilice el comando "sudo chown -R root:wheel kemon.kext" para cambiar el propietario de la extensión del kernel de Kemon
Utilice el comando "sudo kextload kemon.kext" para instalar la extensión del kernel de Kemon
Utilice el comando "sudo kextunload kemon.kext" para desinstalar la extensión del kernel de Kemon
Le invitamos a contribuir creando issues o enviando pull requests. Consulte la Guía de contribución para obtener pautas.
Kemon está licenciado bajo la Licencia Apache 2.0. Consulte el archivo LICENSE.