
Un framework open-source basé sur des callbacks pré et post pour la surveillance du noyau macOS.
Un framework open source basé sur des callbacks Pré et Post pour la surveillance du noyau macOS.
[ Dernières nouvelles - 08/28/2019 ]
macOS Catalina 10.15 Beta 7 Notes de version
https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_beta_7_release_notes
Sécurité des terminaux
/* Après des tests, j'ai constaté que ces interfaces Kauth ne sont pas vraiment supprimées, et Kemon fonctionne toujours. Mais je pense que cette note de version signifie que la porte du noyau macOS se ferme. (08/28/2019) */
Kemon est un framework open source basé sur des callbacks Pré et Post [1] pour la surveillance du noyau macOS [2]. Grâce à la puissance de Kemon, nous pouvons facilement mettre en œuvre la surveillance des communications XPC/IPC [3], le filtrage des politiques de contrôle d'accès obligatoire (MAC), le trafic réseau et le pare-feu des extensions du noyau, etc. En général, du point de vue d'un attaquant, ce framework peut aider à réaliser un rootkit plus puissant. Du point de vue de la défense, Kemon peut aider à construire des capacités de surveillance plus granulaires.
J'ai également implémenté plusieurs fuzzers du noyau [4] [7] basés sur ce framework, ce qui m'a aidé à trouver de nombreuses vulnérabilités du noyau, comme :
GPU basé sur Apple Silicon AGX, IOMobileFrameBuffer et coprocesseur d'affichage (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 basé sur AMD et Intel d'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.
Interface du contrôleur hôte 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.
Mécanisme de mappage mémoire du noyau [8] :
CVE-2020-27914, CVE-2020-27915, CVE-2020-27936 [20] [21], CVE-2021-30678 [22], etc.
Les fonctionnalités de Kemon incluent :
De plus, le projet Kemon peut également étendre les interfaces de surveillance basées sur les callbacks Pré et Post pour toute fonction du noyau macOS.
Veuillez utiliser le projet Xcode ou le makefile pour construire le pilote kext Kemon
Veuillez désactiver la vérification de la protection de l'intégrité du système (SIP) de macOS si vous ne disposez pas d'un certificat de noyau valide
Utilisez la commande "sudo chown -R root:wheel kemon.kext" pour changer le propriétaire de l'extension du noyau Kemon
Utilisez la commande "sudo kextload kemon.kext" pour installer l'extension du noyau Kemon
Utilisez la commande "sudo kextunload kemon.kext" pour désinstaller l'extension du noyau Kemon
Bienvenue pour contribuer en créant des issues ou en envoyant des pull requests. Consultez le Guide de contribution pour les directives.
Kemon est sous licence Apache License 2.0. Voir le fichier LICENSE.