No artigo do mês passado, falei sobre o Mimikatz e para comprovar sua eficácia, o testei no Windows 10 e no Windows Server 2016.
Aos que não leram, recomendo que o façam aqui.
Nesse artigo, mencionei que o resultado só foi obtido após eu propositalmente reduzir significativamente o nível de segurança do sistema operacional.
Para permitir o funcionamento do Mimikatz e a coleta de evidências, um dos itens alterados foi o Windows Credential Guard.
Hoje falarei sobre esse recurso disponível no Windows 10 e Windows Server 2016, bem como o imenso benefício por ele proporcionado no quesito "Segurança da Informação".
Como era até então?
Em versões anteriores ao Windows 10 e Windows Server 2016 diversos "segredos" do sistema operacional eram tratados através do processo lsass.exe. Entre esses "segredos", o principal deles é o armazenamento e gerenciamento de credenciais de usuários e do sistema.
Esse mecanismo permite que com pouco esforço essas credenciais sejam obtidas através de ferramentas como o Mimikatz e consequentemente permite uma eficaz escalação de privilégios.
O que é o "Credential Guard"?
Recurso novo fornecido pela Microsoft, o Credential Guard visa isolar e proteger os principais segredos do sistema operacional e de seus usuários, ajudando de forma bastante eficaz a minimizar o impacto e a amplitude de ataques do tipo Pass the Hash.
Utilizando o Virtual Secure Mode (VSM), basicamente o Credential Guard executa uma parte do processo lsass.exe em uma área reservada de memória, inacessível ao sistema operacional.
O VSM é um recurso que, utilizando das extensões de virtualização da CPU, fornece segurança adicional à dados armazenados na memória. Há artigos que se referem ao VSM como uma espécie de "sequestrador" de processos críticos e sua memória, impedindo a leitura e gravação desse conteúdo.
Executar o LSA no VSM faz com que o processo lsass.exe permaneça no sistema operacional host e uma instância adicional e isolada dele, denominada lsalso.exe seja criada. Isso permite que todas as chamadas padrão efetuadas por esse processo ainda sejam bem-sucedidas, além de oferecer compatibilidade legada e retroativa, mesmo para serviços ou recursos que exigem comunicação direta com o LSA.
Imaginem a instância LSA restante no sistema operacional host como uma instância "proxy" que se comunica com a versão isolada do mesmo processo.
Implantar o VSM é bastante simples. Basicamente precisa verificar se o hardware utilizado o suporta, instalar determinados recursos do Windows e configurar o VSM por meio de diretiva de grupo, as já famosas GPO´s.
Para usar o VSM, alguns recursos de hardware devem estar presente e ativados no firmware da máquina. São eles:
- UEFI em execução no modo nativo (não no modo Compatibilidade / CSM / Legado);
- Windows 64bit e seus requisitos associados;
- Segunda Tradução de Endereços de Camada (SLAT) e Extensões de Virtualização (Ex: Intel VT ou AMD V);
- Recomenda-se um Trusted Platform Module (TPM).
Ativação de recursos do Windows
Para utilizar o VSM é necessário a instalação do "Hyper-V Hypervisor" (não é necessário os outros componentes do Hyper-V) e do "Isolated User Mode".
| Recurso do Windows necessário para o Device Guard |
Caso essas opções estejam desabilitadas ou indisponíveis para instalação, reveja os requisitos de hardware, que provavelmente não foram cumpridos.
Importante mencionar que o Isolated User Mode, em versões atuais do Windows 10, é um recurso integrado cuja ativação explicita é dispensável. Para verificar a versão exata de seu sistema operacional, utilize o comando "Winver".
Configurar o VSM
O controle do VSM e dos Trustlets carregados é efetuado por meio do Gerenciamento de dispositivos móveis (MDM) ou de diretiva de grupo (GPO´s).
Para este artigo, abordarei somente o método relacionado a Diretiva de Grupo como sendo a opção mais utilizada.
Para tal, devemos ajustar a política denominada "Ativar Segurança Baseada em Virtualização", localizada em "Configurações do Computador\Modelos Administrativos\Sistema\Device Guard" no editor de objeto de diretiva de grupo, conforme abaixo. Essa configuração pode ser efetuada executando o comando gpedit.msc.
| GPO para habilitar o Device Guard - Windows 10 - Versão 1803 |
Habilite essa configuração conforme exemplo acima e isso ativará o VSM e o deixará pronto para para a utilização do Credential Guard.
Dessa forma, a proteção de credencial será ativada. Simples né?
Vale mencionar que a configuração dessa política não exige boot no computador. Isso significa "I.N.D.I.S.P.O.N.I.B.I.L.I.D.A.D.E Z.E.R.O!!!
Para verificar se o Credential Guard está ativado, execute o comando msinfo32.exe. Abaixo exemplo coletado em meu ambiente de simulações e testes.
| MSINFO32 |
Com o Credential Guard ativado, um novo processo protegido denominado lsalso.exe é criado. Esse processo pode ser consultado via Task Manager, conforme abaixo.
| Processo criado pelo Device Guard |
Bom é isso e por hoje é só ... Espero que este artigo lhe seja útil para responder ao menos algumas dúvidas sobre o Credential Guard.
Abraço e até a próxima!!!