
Um Framework Open-Source Baseado em Callbacks Pré e Pós para Monitoramento do Kernel do macOS.
Um framework open source baseado em callbacks Pre e Post para monitoramento do kernel do macOS.
[ Notícias de Última Hora - 28/08/2019 ]
macOS Catalina 10.15 Beta 7 Notas de Lançamento
https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_beta_7_release_notes
Endpoint Security
/* Após testes, descobri que essas interfaces Kauth não foram realmente removidas, e o Kemon ainda funciona. Mas acho que esta nota de lançamento significa que a porta para o kernel do macOS está se fechando. (28/08/2019) */
O Kemon é um framework open source baseado em callbacks Pre e Post [1] para monitoramento do kernel do macOS [2]. Com o poder do Kemon, podemos implementar facilmente monitoramento de comunicação XPC/IPC [3], filtragem de políticas de Controle de Acesso Obrigatório (MAC), firewall de tráfego de rede e extensões de kernel, etc. Em geral, do ponto de vista de um atacante, esse framework pode ajudar a alcançar Rootkits mais poderosos. Sob a perspectiva de defesa, o Kemon pode ajudar a construir capacidades de monitoramento mais granulares.
Também implementei vários fuzzers de kernel [4] [7] baseados neste framework, que me ajudaram a encontrar muitas vulnerabilidades de kernel, tais como:
GPU baseada em Apple Silicon AGX, IOMobileFrameBuffer e 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], etc.
GPU baseada em AMD e Intel da 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.
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], etc.
Mecanismo de mapeamento de memória do kernel [8]:
CVE-2020-27914, CVE-2020-27915, CVE-2020-27936 [20] [21], CVE-2021-30678 [22], etc.
As funcionalidades do Kemon incluem:
Além disso, o projeto Kemon pode estender as interfaces de monitoramento baseadas em callbacks Pre e Post para qualquer função do kernel do macOS.
Por favor, use o projeto Xcode ou o makefile para construir o driver kext do Kemon
Desative a verificação de Proteção de Integridade do Sistema (SIP) do macOS se você não possui um certificado de kernel válido
Use o comando "sudo chown -R root:wheel kemon.kext" para alterar o proprietário da extensão do kernel do Kemon
Use o comando "sudo kextload kemon.kext" para instalar a extensão do kernel do Kemon
Use o comando "sudo kextunload kemon.kext" para desinstalar a extensão do kernel do Kemon
Bem-vindo a contribuir criando issues ou enviando pull requests. Consulte o Guia de Contribuição para diretrizes.
O Kemon é licenciado sob a Licença Apache 2.0. Veja o arquivo LICENSE.