Comprobar certificados raíz y autoridades de certificación en una PC nueva

3

Primero se detectó a Lenovo enviando Superfish con nuevas PC, que incluían una autoridad de certificación autofirmada universal, y ahora Dell ha sido detectado enviando PC con un certificado raíz similar .

¿Qué pasos puedo seguir cuando obtengo una PC nueva para asegurarme de que no haya autoridades de certificados erróneas o certificados raíz?

  • ¿Hay algún programa que pueda verificar esto automáticamente?
  • ¿Hay alguna guía que pueda seguir para asegurarse de que solo haya instaladas las autoridades de certificación estándar y los certificados instalados?
pregunta JonnyWizz 24.11.2015 - 09:31
fuente

1 respuesta

6

Editar 2015-11-25

El proyecto

"PowerShell-PKI" parece prometedor

Bryan Lockwood ha puesto un buen proyecto en GitHub:

Y aquí está la publicación de su blog que lo introdujo

Puedes ejecutar el script de esta manera:

  1. Copie Nov2015-WindowsRootCAList.txt a Nov2015-WindowsRootCAList.NOSPACES.txt

  2. Resuelva un error: elimine manualmente los caracteres del espacio al final en Nov2015-WindowsRootCAList.NOSPACES.txt .
    (De lo contrario, el script informará TODO como no confiable.)
    (Le sugiero que utilice la función de búsqueda y reemplazo de su editor de texto favorito y que simplemente destruya todos los espacios).

  3. Dot-source el script:
    PS C:\Powershell-PKI-master> . .\Audit-TrustedRootCA.ps1 3>&1 | out-null

  4. Ejecuta la función:
    PS C:\Powershell-PKI-master> Audit-Roots -FilePath .\Nov2015-WindowsRootCAList.NOSPACES.txt -OutputPath .\

La secuencia de comandos que almacena el almacén de confianza de Windows (¿almacena?) en una lista de hashes en buen estado.

La lista de hash es la misma que para certutil.

El origen de este hash-list no está del todo claro para mí.

Así que decidí generar los hashes yo mismo con un poco de 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

Y resulta que: los hashes de certutil y los hashes de GitHub son de hecho idénticos:

$ diff --report-identical-files -- wuroots-hashes-pspkiformat.txt Nov2015-WindowsRootCAList.txt
Files wuroots-hashes-pspkiformat.txt and Nov2015-WindowsRootCAList.txt are identical

Tema de Twitter relacionado

Este hilo de Twitter iniciado por el investigador de seguridad alemán Hanno Böck me llevó al proyecto PowerShell.

¿Quizás CertUtil y MMC se reinicien?

Hubo un gran artículo de blog el mes pasado:

Mike describe un procedimiento para generar un contenedor de certificado .sst con solo los certificados predeterminados recuperados de Windows Update y luego usa MMC para seleccionar y elegir entre ellos.

certutil -generateSSTFromWU rootcas.sst
invoke-item rootcas.sst

No he intentado esto, pero supongo que eliminar todas las CA y luego simplemente importar todas las CA predeterminadas desde el archivo SST debería hacer parte del truco.

Nota: No sé cómo Windows maneja las CA autofirmadas en la tienda "Intermediate" o en otra parte. Pienso que la tienda es un caché de todos modos y que puede ser desactivada porque se reconstruirá automáticamente de todos modos, pero no estoy seguro.

Técnica anterior

EDITAR. Me di cuenta de que Tom Leek dio esencialmente la misma respuesta a una pregunta similar el año pasado:

respondido por el StackzOfZtuff 24.11.2015 - 10:50
fuente

Lea otras preguntas en las etiquetas