
Dump do LSASS via primitivas de leitura de memória física em drivers de kernel vulneráveis
Extraia credenciais do LSASS diretamente da memória física abusando de drivers vulneráveis assinados com primitivas de leitura de memória física via MmMapIoSpace, contornando capacidades tradicionais de detecção no modo de usuário.
Esta ferramenta foi desenvolvida em colaboração entre Julian Peña e Eric Esquivel.
Esta versão do GhostKatz utiliza drivers que já foram publicamente divulgados como vulneráveis. Para obter melhores resultados, o GhostKatz é projetado para operar com drivers de kernel que expõem primitivas de vulnerabilidade de leitura de memória e que não estão bloqueados durante o carregamento / publicamente conhecidos. Esta versão pública não inclui exploits para drivers anteriormente não divulgados. Em vez disso, o projeto é projetado para ser modular e extensível, permitindo que usuários pesquisem seus próprios drivers e os integrem estendendo as funções primitivas de leitura de memória em utils.c. Internamente, automatizamos o processo de descoberta e exploração e mantemos vários drivers de kernel assinados com exploits escritos.
Se você quiser contribuir, veja a documentação de contribuição.
Queríamos começar a aprender como explorar drivers de kernel e achamos que seria um projeto legal. Também fomos inspirados quando vimos a ferramenta KernelKatz da Outflank e queríamos usá-la, mas não temos acesso à Outflank, pois somos estudantes. Então criamos a nossa própria.
Execute make para compilar os BOFs.
Carregue o script Aggressor ghostkatz.cna no seu Gerenciador de Scripts.
Para executar o GhostKatz, use o comando ghostkatz [logonpasswords/wdigest] -prv <id do provedor>.
Você pode executar o comando de ajuda no console do Beacon com: help ghostkatz.
beacon> help ghostkatz
Synopsis: ghostkatz [logonpasswords/wdigest] -prv <provider id>
Description:
Dump credentials from LSASS by using signed kernel drivers to read physical memory.
Examples:
ghostkatz logonpasswords -prv 1
ghostkatz wdigest

Estas são apenas as versões que testamos manualmente de forma exaustiva. Versões principais, como 1607, não devem ter mudanças significativas em atualizações menores de build.
[!WARNING] Embora o GhostKatz tenha sido testado minuciosamente, você deve usar discrição se for implantá-lo em produção. O GhostKatz utiliza drivers de kernel vulneráveis. É possível que erros resultem em uma BSOD.
Drivers que podem ser explorados com o GhostKatz
| ID | Fornecedor | Nome do Driver | SHA256 |
|---|---|---|---|
| 1 | Toshiba | TPwSav | 011df46e94218cbb2f0b8da13ab3cec397246fdc63436e58b1bf597550a647f6 |
| 2 | TechPowerUp | ThrottleStop | 16f83f056177c4ec24c7e99d01ca9d9d6713bd0497eeedb777a3ffefa99c97f0 |
Agradecemos ao ch3rn0byl e ao Cedric por dedicarem tempo respondendo às perguntas bobas que tínhamos sobre kernel, drivers e Superfetch.