sigcheck: Verifica la integridad de tus archivos en Windows

  • Qué es Sigcheck y cómo analiza firmas, hashes y reputación en VirusTotal.
  • Sintaxis y parámetros clave: CSV, almacenes, catálogos y opciones -v/-vt.
  • Casos de uso: System32, análisis offline con CSV y forénsica.
  • Resolución de problemas comunes y distinción con el SigCheck de Bioconductor.

sigcheck

Si trabajas con Windows y te preocupa la integridad de lo que se ejecuta en tu sistema, Sigcheck es una de esas utilidades imprescindibles que conviene dominar. Esta herramienta de la suite Sysinternals permite inspeccionar archivos, comprobar firmas digitales, ver la cadena de certificados y hasta consultar la reputación de los ficheros en VirusTotal sin salir de la consola.

Su filosofía es sencilla: con un comando puedes saber si un binario está firmado, por quién, cuándo y si su hash aparece como malicioso en múltiples motores antivirus. Más allá de la curiosidad técnica, esto se traduce en capacidad real para detectar anomalías en rutas críticas como System32, documentar hallazgos y tomar decisiones con datos fiables.

Qué es Sigcheck y por qué importa

Sigcheck es una utilidad de línea de comandos creada por Mark Russinovich dentro de Sysinternals que muestra versión de archivo, marcas de tiempo y detalles de firma digital, incluyendo la cadena completa de certificación. Además, integra consultas a VirusTotal para contrastar hashes contra decenas de motores antivirus y puede subir ficheros no analizados si así lo decides.

Su uso típico es revisar directorios del sistema y localizar ejecutables sin firmar o con firmas no confiables. En ubicaciones legítimas como \System32 cualquier fichero sin firma merece al menos una investigación. Que un archivo no esté firmado no implica automáticamente que sea malicioso, pero sí eleva el nivel de sospecha y obliga a comprobar su procedencia y hash.

El proyecto cuenta con documentación y ejemplos oficiales, y material adicional de referencia en sitios como SS64 y diversas guías técnicas. La comunidad ha aportado traducciones y ampliaciones de la información original, destacando su uso tanto para administración diaria como para respuesta ante incidentes.

sigcheck

Compatibilidad, versiones y descarga

En la documentación disponible se citan diferentes rangos de compatibilidad dependiendo de la fuente. Por un lado, se indica que se ejecuta en Cliente: Windows 8.1 y posteriores; Servidor: Windows Server 2012 y posteriores; Nano Server: 2016 y posteriores. En otra ficha se menciona compatibilidad más amplia (Cliente: Windows Vista y superior; Servidor: Windows Server 2008 y superior; Nano Server: 2016 y superior). En cualquier caso, en sistemas modernos funciona sin problemas.

Respecto a versiones y referencias, hay menciones a una revisión etiquetada como v2.82 y notas de actualización a mediados de 2021, junto a una publicación de Russinovich de julio de 2022 explicando su uso. Lo relevante para el día a día es que Sigcheck es portable: descargas un ZIP, lo extraes y ejecutas el binario, sin instalador tradicional.

Un método cómodo desde PowerShell es crear una carpeta (por ejemplo, Sysinternals), descargar y extraer:

Invoke-WebRequest -Uri https://download.sysinternals.com/files/Sigcheck.zip -OutFile Sigcheck.zip
Expand-Archive -Path .\Sigcheck.zip -DestinationPath .\

Tras ello, comprueba que responde con la ayuda: usa el parámetro -? para ver la sintaxis inicial:

sigcheck.exe -?

Sintaxis y modos de ejecución

La herramienta ofrece varias formas de uso según el objetivo. Las llamadas principales siguen estas estructuras generales:

sigcheck [-a][-h][-i][-e][-l][-n][[-s]|[-c|-ct]|[-m]][-q][-r][-u][-vt][-v[r][s]][-f catalog_file] file_or_directory
sigcheck -d [-c|-ct] file_or_directory
sigcheck -o [-vt][-v[r]] sigcheck_csv_file
sigcheck -t[u][v] [-i] [-c|-ct] <certificate_store_name | *>

En alguna documentación aparece el modificador -q en la sintaxis, si bien no se detalla su descripción; el resto de parámetros sí están documentados ampliamente y se resumen a continuación.

Parámetros clave de Sigcheck

Los modificadores permiten ajustar desde el formato de salida a la profundidad del análisis, pasando por la consulta a VirusTotal o la verificación de catálogos de firmas. Esta tabla sintetiza su uso:

Parámetro Descripción
-a Muestra información de versión extendida; incluye entropía (bits por byte) para valorar aleatoriedad del contenido.
-accepteula Acepta silenciosamente el EULA de Sigcheck, sin aviso interactivo.
-c Salida en CSV con delimitador coma.
-ct Salida en CSV con delimitador tabulación.
-d Vuelca el contenido de un archivo de catálogo (cat).
-e Analiza sólo imágenes ejecutables (independientemente de su extensión).
-f Busca la firma en el catálogo especificado.
-h Muestra hashes del archivo.
-i Muestra el nombre del catálogo y la cadena de firmas.
-l Atraviesa enlaces simbólicos y cruces de directorios.
-m Vuelca el manifiesto del archivo.
-n Imprime sólo el número de versión del archivo.
-nobanner Oculta el banner de inicio y copyright; modo silencioso.
-o Hace consultas a VirusTotal de los hashes capturados en un CSV previamente generado (usando -h). Útil para análisis offline.
-p Verifica firmas contra una política concreta, indicada por su GUID.
-r Deshabilita la comprobación de revocación de certificados.
-s Recorre subdirectorios recursivamente.
-t[u][v] Vuelca el contenido de un almacén de certificados (usa * para todos). Añade -tu para consultar el almacén de usuario. Con -tv descargará la lista de raíces de confianza de Microsoft y sólo listará certificados válidos no enraizados en esa lista. Si no hay acceso, usará authrootstl.cab o authroot.stl del directorio actual si existen.
-u Con la verificación de VirusTotal habilitada, muestra archivos desconocidos o con detección > 0; si no, muestra sólo los no firmados.
-v[rs] Consulta VirusTotal por hash de archivo. Con r abre reportes de los que tienen detección; con s sube a VirusTotal ficheros no analizados (los resultados pueden tardar varios minutos).
-vt Marca la aceptación de TOS de VirusTotal (requisito previo para funciones VT; si no, te pedirá confirmación).

Observa que puedes combinar parámetros según necesidades. Lo habitual en auditorías es unir -u, -e, -s y -vt, y si procede -v para informes de VirusTotal.

virustotal

VirusTotal: consultas, términos y filtrado de resultados

Sigcheck puede consultar www.virustotal.com para contrastar el hash de cada archivo contra múltiples motores antivirus. Para usar estas funciones debes aceptar antes los términos de servicio (TOS), para lo que sirve -vt. Si no los has aceptado, la herramienta puede mostrar un prompt interactivo la primera vez.

El modificador -v activa la consulta por hash. Si añades r abrirá los informes web de los ficheros con detección positiva y con s subirá automáticamente los no analizados. Recuerda que los resultados pueden tardar cinco minutos o más cuando se sube una muestra nueva.

En análisis con muchos ficheros, resulta útil generar primero un CSV con hashes usando -h (opcionalmente con -c o -ct según el delimitador) y más tarde ejecutar:

sigcheck -o -vt -vr path\a\resultados.csv

Así, Sigcheck realizará las búsquedas sobre el CSV, pensado para flujos offline o en equipos sin acceso directo a Internet.

Certificados, almacenes y raíces de confianza

Además de inspeccionar archivos, Sigcheck permite volcar y explorar almacenes de certificados locales. Con -t indicas el almacén por nombre (o * para todos); con -tu consultas el almacén de usuario y por defecto el de máquina. Si añades -tv, descargará la lista de raíces de Microsoft y filtrará para mostrar sólo certificados válidos no anclados en esa lista.

Si el equipo no puede acceder al sitio de Microsoft, Sigcheck utilizará authrootstl.cab o authroot.stl del directorio actual, si están presentes. Este detalle es clave en entornos aislados, laboratorios y forénsica.

Análisis offline, catálogos y escenarios forenses

Cuando trabajas con imágenes adquiridas de equipos víctimas, conviene importar el catálogo de firmas digitales del sistema original al equipo de análisis. De lo contrario, muchas firmas no podrán verificarse. Un procedimiento típico sería:

  1. Copiar desde la imagen de la víctima las carpetas del servicio criptográfico, por ejemplo: \C\Windows\System32\CatRoot\{127D0A1D-4EF2-11D1-8608-00C04FC295EE} y su compañera asociada.
  2. Renombrar los GUID para evitar conflictos y colocarlas en la misma ruta equivalente del equipo de análisis, por ejemplo: \C\Windows\System32\CatRoot\{127D0A1D-4EF2-11D1-8608-00C04FC295E9}.
  3. Reiniciar el servicio Cryptographic Services desde services.msc.
  4. Ejecutar Sigcheck contra la imagen montada o los directorios extraídos.

Para catálogos concretos puedes usar -d (volcado de contenido) y -f (buscar firma en un catálogo específico). Estas opciones resultan útiles para comprobar integridad de drivers y componentes del sistema.

Contexto: Sysinternals y VirusTotal

Sysinternals es una suite de herramientas gratuitas para administración y diagnóstico de Windows, adquirida por Microsoft en 2006. Mark Russinovich ha mostrado en ponencias cómo usarlas para detectar, analizar y limpiar malware, con técnicas prácticas que complementan el uso de Sigcheck.

Por su parte, VirusTotal nació como un proyecto español y fue adquirido por Google en 2012. Ofrece análisis de archivos y URLs contra docenas de motores y un repositorio histórico de detecciones y metadatos. Con Sigcheck puedes apoyarte en VT sin abandonar la consola, agilizando la triage de artefactos.

Notas adicionales y referencias de uso

En documentación de referencia se sugiere usar un comando como este para System32, muy utilizado por administradores:

sigcheck.exe -u -e -vt C:\Windows\System32

Si vas a revisar miles de archivos, considera redirigir la salida a un TXT o CSV para auditoría posterior y compartir resultados con tu equipo.

Otra técnica útil es combinar la revisión de entropía (-a) para detectar empaquetadores o posibles ofuscaciones junto con hashes (-h) y consulta a VirusTotal (-v). Este enfoque por capas aumenta la probabilidad de detectar anomalías reales frente a falsos positivos.

Pequeño recordatorio de seguridad

Debes aceptar los términos de VirusTotal para habilitar sus funciones desde Sigcheck (-vt). Si el equipo no accede al sitio, usa los ficheros authroot locales para la verificación de raíces de confianza. Y como norma de oro, investiga cualquier archivo no firmado antes de ejecutarlo, especialmente si reside en directorios del sistema.

Sigcheck se convierte en un aliado para validar integridad, automatizar inventarios de firmas, generar CSVs de verificación, contrastar con VirusTotal y navegar por los almacenes de certificados. Es una herramienta ligera, portátil y muy potente que, bien integrada en tus flujos, te ahorra tiempo y te ayuda a tomar decisiones informadas en la administración y la respuesta ante incidentes.