
📟 um pequeno código que realiza leitura/escrita em modo kernel usando CVE-2023-38817.

Este código simplesmente oferece a capacidade de ler / escrever memória em modo kernel a partir do modo de usuário usando um driver assinado vulnerável. Ele simplesmente utiliza MmCopyVirtualMemory, que é uma API não documentada, mas uma das mais comuns, em modo kernel, para que você possa ler / escrever qualquer memória em modo de usuário sem se preocupar com a proteção que a página de memória possui. Além disso, possui uma função para obter o handle do processo de um pid específico como um recurso auxiliar. Como a criação do handle é realizada em modo kernel, os checks de acesso padrão e callbacks não serão acionados, acredito eu.
Este projeto foi criado para fins de estudo, e não é recomendado usá-lo fora de uma máquina virtual.
Vi que esse driver específico tem uma vulnerabilidade de escalonamento de privilégios no fórum uc. Então comecei a fazer engenharia reversa no driver e, de fato, o driver não tem controle de acesso sobre seus ioctls fortes.
Este projeto utiliza a vulnerabilidade que foi reportada como CVE-2023-38817. https://www.loldrivers.io/drivers/afb8bb46-1d13-407d-9866-1daa7c82ca63/
Como eu estava com preguiça de implementar direito, você só precisa incluir tudo e compilar. todas as funcionalidades estão encapsuladas na classe kur_t.
https://github.com/pseuxide/kur/blob/cd3da42b8a146af3ca83d5f95970b030bd55585f/kur/kur.h#L5-L14