
Rootkit Ring 0 para Windows x64 que permite ocultação de processos via DKOM, elevação de privilégios, troca de drivers e evasão de anti-malware ao redirecionar operações de arquivo e encerrar scanners.
Chaos-Rootkit é um rootkit x64 Ring 0 que escrevi para entender melhor o funcionamento interno do kernel e técnicas de rootkit.
Versão GUI
Ocultar processo: Este recurso permite ocultar processos de ferramentas de listagem via DKOM.
Elevar privilégios de processos específicos: Este recurso permite elevar o privilégio de processos específicos.
Trocar o driver em disco e em memória por um driver da Microsoft: Todo o crédito por esta implementação vai para IDontCode Back Engineering pelo seu trabalho excepcional; eu também tratei das rotinas de descarregamento e encerramento desse recurso para que o driver do rootkit não seja corrompido ou falhe em algum momento.
Restringir o acesso a arquivos para aplicativos em modo de usuário, exceto para o ID de processo fornecido
Iniciar processo elevado: abrir o prompt de comando com privilégios elevados.
Contornar a verificação de integridade do arquivo e protegê-lo contra anti-malware: isto funciona redirecionando as operações de arquivo para um arquivo legítimo, fazendo com que o nosso arquivo pareça autêntico e assinado com um certificado válido; também, se um anti-malware tentar escaneá-lo, o rootkit matará imediatamente o processo do anti-malware.
Desproteger todos os processos
Proteger um processo específico com qualquer nível de proteção fornecido (WinSystem, WinTcb, Windows, Authenticode, Lsa, Antimalware).
Proteger um arquivo específico contra anti-malware; quando um anti-malware tenta escaneá-lo, o rootkit o encerra. Isso é feito verificando o membro de proteção EPROCESS do chamador.
Yassine Jerroudi: Ajudou significativamente com a versão inicial da GUI do cliente do rootkit, já que eu era um completo novato em IMGUI. Merece todo o crédito.
IDontCode BackEngineerLab: Todo o crédito pela implementação da troca do driver em disco e em memória.
sixtyvividtails: Graças a ele por recomendar a sondagem de ObjectAttributes->ObjectName->Buffer em todos os três níveis, já que estamos interceptando NtCreateFile e recebemos ponteiros controlados pelo usuário.
Pavel Yosifovich: autor de Windows Kernel Programming, este livro continua sendo o recurso mais valioso em que confio; sem um entendimento sólido dos detalhes internos do kernel, você não pode simplesmente "vibe-code" drivers. Conhecimento real é a única coisa que impede que você seja completamente destruído
..
Aos contribuidores: Agradecimento especial a UncleJ4ck, o primeiro contribuidor, por implementar o tratamento de erros, e a staarblitz por adicionar os offsets do Windows 11 24H2 e a proteção da GUI.