Eu tenho uma pasta de chaves de um laptop Windows 10 onde o sistema operacional não é mais inicializável. No console de recuperação, mesmo após fazer login no sistema com o nome de usuário/senha corretos, a pasta retorna 'Acesso negado'.
Como posso obter acesso a esta pasta?
Isso acabou sendo um problema significativamente mais complexo do que eu esperava, mas encontrei a solução. Suspeitei que o malware tivesse danificado minha máquina, então concluí todo o trabalho em uma máquina virtual Windows 10 dentro de uma VM VirtualBox. Para isso criei uma conta de usuário com o mesmo nome de usuário e senha da máquina com falha. Não tenho certeza se isso foi necessário.
Desafio 1: Obtendo os arquivos. A unidade da máquina com falha foi instalada em uma caixa USB para tornar as partições acessíveis em uma máquina em funcionamento. A máquina virtual precisava de acesso direto ao drive, conectar-se por meio de uma pasta compartilhada não era suficiente. Depois que a unidade USB estava disponível na VM,
robocopy
ela foi usada em um prompt de comando elevado com permissão de administrador, usando o/efsraw
modificador conforme esta pergunta para permitir a cópia de arquivos criptografados brutos para um local local. Sem privilégios de administrador, o erro 57/87 ocorreria com frequência, mesmo o erro 0.Uma vez que os arquivos eram locais, era possível obter propriedade e permissões de acesso total no editor de segurança de arquivos.
Desafio 2: obter os certificados. Conforme sugerido em uma resposta a esta pergunta , os certificados são armazenados na pasta AppData do usuário da máquina com falha, por exemplo
Acabei copiando toda a pasta da Microsoft caso precisasse de mais alguma coisa.
Desafio 3: Ferramentas. De acordo com esta resposta , a ferramenta
mimikatz
disponível no GitHub é muito poderosa e pode extrair todas as informações do certificado necessárias. No entanto, a segurança do Windows (talvez com razão) e a maioria dos navegadores declaram que isso é um vírus e se recusam a baixar ou obter qualquer acesso aos arquivos. Eu precisava desabilitar todos os tipos de segurança na VM para permitir o download e continuar desabilitando a proteção para permitir a execução do aplicativo. Por segurança, desabilitei todas as redes de VMs caso algo vazasse de uma ferramenta potencialmente maliciosa.Desafio 4: Obtendo o Digest ID. A primeira coisa que
mimikatz
precisa é o número da impressão digital/resumo do arquivo. Em alguns casos não foi possível ver isso, porém acredito que isso ocorreu devido à tentativa de visualizar os arquivos em uma pasta compartilhada da VM. O valor pode ser visto nas propriedades do arquivo, olhando na janela Atributos>Avançado... e obtendo Detalhes. Isso deve mostrar um usuário certificado (nome de usuário e nome original da máquina) e um valor de impressão digital.Desafio 5: Obtendo as chaves. Segui a documentação do
mimikatz
, e também baixei um dos instaladores binários do OpenSSL do Windows (FireDaemon OpenSSL x64 3.2.0). Todas as etapas até e incluindo a geração docert.pfk
certificado EFS recuperado. Isso começou a partir da impressão digital, depois encontrou o ID do contêiner, o arquivo de certificado, descriptografou as chaves públicas e privadas usando a senha do usuário original e, finalmente, reformatou as chaves em um novo certificado. Com tudo isso porém, o Windows 10 não gostou do formato deste certificado.Desafio 6: Instalando o certificado. A última etapa da
mimikatz
ajuda é o comandono entanto, o Windows 10 não está satisfeito com este certificado e não reconhecerá nenhuma senha fornecida, inclusive nenhuma. Isso estava na GUI do Windows para importar o certificado e usar a documentação sugerida
certutil
. Vários erros, incluindo 'senha de rede incorreta' 'arquivo não encontrado'. Usar a resposta a esta pergunta facilitou a reformulação do comando de backup de certificado paraobservando a principal diferença nos
SHA1
especificadores de formato e na-nomac
chamada. Isso permitiucertutil
instalar o certificado emno
certmgr.msc
widget do painel de controle. Ainda assim, os arquivos não eram descriptografáveis.Desafio 7: Usando o certificado. Esta página deu a resposta final sobre o uso do certificado.
A principal tarefa é usar o Windows para exportar o novo certificado
certmgr.msc
no formato PKCS12. Será possível exportar o certificado com sua chave privada e conforme instruções, obrigatório. Por fim, utilizando a GUI do Windows para reinstalar este certificado, com a senha inserida na exportação, e permitindo a instalação do certificado no local automático para seu tipo noUser
perfil (ao contrário deComputer
ouLocal Machine
). O certificado terminará no mesmo local em que foi iniciado (User>Personal>Certificates
), porém a tentativa de exportar este certificado não permitirá a exportação da chave privada.Este é o fim da última etapa e agora os arquivos podem ser descriptografados. Observe que ver as atualizações
certmgr.msc
geralmente requer fechá-lo e reabri-lo.