Modifica 2015-11-25
Il progetto "PowerShell-PKI" sembra promettente
Bryan Lockwood ha realizzato un bel progetto su GitHub:
Ed ecco il suo post sul blog che l'ha introdotto
Puoi eseguire lo script in questo modo:
-
Copia Nov2015-WindowsRootCAList.txt
in Nov2015-WindowsRootCAList.NOSPACES.txt
-
aggirare un bug: rimuovere manualmente i caratteri dello spazio finale in Nov2015-WindowsRootCAList.NOSPACES.txt
.
(Altrimenti lo script segnalerà TUTTO come non attendibile.)
(Ti suggerisco di utilizzare la funzione di ricerca e sostituzione del tuo editor di testo preferito e di aggiungere solo tutti gli spazi.)
-
Sorgente punto-sorgente:
PS C:\Powershell-PKI-master> . .\Audit-TrustedRootCA.ps1 3>&1 | out-null
-
Esegui la funzione:
PS C:\Powershell-PKI-master> Audit-Roots -FilePath .\Nov2015-WindowsRootCAList.NOSPACES.txt -OutputPath .\
Lo script l'archivio di fiducia di Windows (negozi?) contro un elenco di hash noti-buoni.
Hash-list è uguale a certutil.
L'origine di questo hash-list non mi è del tutto chiara.
Quindi ho deciso di generare gli hash con un po 'di Cygwin-Bash-Scripting:
$ certutil.exe -generateSSTFromWU wuroots.sst
$ certutil.exe -dumpPFX wuroots.sst | grep 'Hash' | tr -d ' ' | tr 'a-z' 'A-Z' | cut -d ':' -f2 | sed 's/$/ /' | sort > wuroots-hashes-pspkiformat.txt
E si scopre che gli hash di certutil
e gli hash di GitHub sono identici:
$ diff --report-identical-files -- wuroots-hashes-pspkiformat.txt Nov2015-WindowsRootCAList.txt
Files wuroots-hashes-pspkiformat.txt and Nov2015-WindowsRootCAList.txt are identical
Thread Twitter correlato
Questo thread Twitter avviato dal ricercatore tedesco della sicurezza Hanno Böck mi ha portato al progetto PowerShell.
Forse CertUtil e MMC da resettare?
C'è stato un ottimo articolo del blog il mese scorso:
Mike delinea una procedura per generare un contenitore di certificati .sst
con solo i certificati predefiniti recuperati da Windows Update e quindi usa MMC per selezionarli e sceglierli.
certutil -generateSSTFromWU rootcas.sst
invoke-item rootcas.sst
Non l'ho provato, ma suppongo che buttare fuori ogni CA e poi importare tutte le CA predefinite dal file SST dovrebbe fare parte del trucco.
Nota: non so come Windows gestisca le CA autofirmate nell'archivio "Intermediate" o altrove. Io penso che il negozio sia comunque una cache e può essere abboccato perché verrà comunque ricostruito automaticamente, ma non ne sono sicuro.
Arte precedente
EDIT. Ho appena notato che Tom Leek ha dato essenzialmente la stessa risposta a una domanda simile l'anno scorso: