Listar todos os certificados de cliente instalados nos perfis de usuário em um domínio

1

Estou dando os primeiros passos para começar a proteger uma rede e descobri que várias máquinas possuem certificados de cliente para sites instalados no repositório de certificados do cliente, localmente, em vez de através do AD. Eles são de uma CA de terceiros e são essenciais para os negócios.

Como primeiro passo, estou tentando criar uma lista de quais certificados cada usuário instalou, para que eu possa tentar criar algo mais gerenciável usando um GPO ou similar, mas como eles foram instalados localmente, posso pode vê-los no meu AD ou Serviços de Certificados.

Eu tenho procurado os cmdlets de gerenciamento de certificado da powershell, mas, mesmo assim, só posso listar os certificados do usuário atual, o que torna a comunicação remota com uma credencial de administrador de domínio não uma solução válida.

Como faço para catalogar os certificados de todos?

    
por Moof 25.06.2018 / 12:44

1 resposta

2

Este link indica que você não pode acessar o armazenamento de certificados de outro usuário.

Uma maneira que eu gostaria de pensar é escrever um script de logon que irá obter os certificados do usuário atual no logon, por exemplo, com Get-Childitem cert:\currentUser -recurse e salvar a saída em um arquivo local ou de rede. Se você usar Export-CSV , obterá um formato que pode ser processado facilmente.

Um possível liner pode ser:

Get-Childitem Cert:\currentUser -Recurse |´
Select @{N="Username";E={$env:username}}, Subject, Issuer, FriendlyName, NotAfter |'
Export-CSV [csvFilePath] -Append

Com a propriedade calculada adicional, você obtém o nome de usuário do usuário conectado, para poder colocar os dados em um arquivo e ainda distinguir os certificados por usuário.

    
por 25.06.2018 / 13:25