Ir al contenido
Avanet

Analizar Sophos Endpoint en Windows desde CLI

Para una sospecha individual suele bastar la interfaz local. En un Runbook RMM, durante Incident Response o para una ruta definida, la CLI de Windows es más precisa. Se instala con Sophos Endpoint y también comunica Detections a Sophos Fusion (antes Sophos Central).

Planificar y solucionar problemas de los análisis de Sophos Endpoint trata la planificación, los análisis programados, el análisis de duración y el estado de File Scanner. Este artículo se centra en la CLI de Windows y en una automatización fiable.

Ruta y ayuda

La herramienta se instala en:

C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe

Abra PowerShell con la cuenta cuyos permisos deban aplicarse al análisis dirigido. El operador & inicia la ruta entre comillas y help scan muestra las opciones de la versión instalada:

& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" help scan

La ayuda local es la referencia. Es una herramienta del agente Windows; la ruta no se aplica a macOS.

Modelo de ejecución antes de empezar

  • Shell: Todos los ejemplos usan PowerShell. En cmd.exe, omita el operador &; no mezcle ambas sintaxis.
  • Privilegios: Un análisis de archivos, carpetas o unidades hereda los permisos de la cuenta que lo ejecuta. Un análisis con --system usa los derechos del proceso local del sistema.
  • Marcadores: Sustituya C:\Users\Public\Downloads, C:\IR\Evidence y D:\ por la ruta autorizada. No escriba literalmente marcadores entre corchetes angulares.
  • Efecto: scan inicia el análisis de inmediato. Sin --noui aparece un diálogo; los resultados se muestran en Sophos Endpoint y las amenazas detectadas se notifican a Sophos Fusion.
  • Salida: Con --noui no hay interfaz, las detecciones se escriben en stdout y el proceso espera hasta terminar. En una ejecución no fatal, --json deja un único objeto JSON en stdout.

Ejecutar un análisis del sistema

Un análisis completo usa permisos del proceso local system:

& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --system --full --noui

Uno rápido se centra en archivos habituales, procesos activos y recientes, inicio, MBR y memoria:

& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --system --quick --noui

No indique objetivos adicionales con --system. Archivos inaccesibles para local system, como contenido EFS ligado al usuario, pueden quedar sin analizar.

Analizar archivo, carpeta o unidad

Un análisis dirigido usa permisos del usuario que lo invoca:

& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --noui "C:\Users\Public\Downloads"

Una unidad completa necesita barra final:

& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --noui "D:\"

D: sin barra suele referirse al directorio actual. Se admiten rutas UNC si la cuenta tiene acceso.

Se admiten comodines en nombres de carpetas y archivos, pero no de unidades. La expansión previa solo funciona en el último elemento: C:/Test/Folder/F*le se expande; C:/Test/F*lder/File no.

Archivos comprimidos y salida detallada

--expand_archives abre archivos compatibles y analiza su contenido. Aumenta duración e I/O; úselo selectivamente.

--noui oculta la interfaz y espera al final. --verbose solo es válido junto con él:

& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --noui --verbose --expand_archives "C:\IR\Evidence"

No escriba salida verbose enorme en registros RMM sin control. Las rutas pueden contener usuarios e información sensible.

Tratar correctamente códigos de salida

CódigoSignificado
0análisis correcto, sin malware
1error al procesar el comando
2error inesperado al iniciar
3al menos una amenaza detectada
4al menos un archivo con error de análisis
5al menos un archivo cifrado
6al menos un formato no compatible
7al menos un archivo inaccesible

Si se producen varios errores, se devuelve el código aplicable más alto. Por tanto, los códigos 4 a 7 también pueden acompañar a amenazas detectadas. Compruebe además summary.detections y los eventos de Sophos Fusion. El código 0 indica un análisis correcto sin malware en el ámbito analizado; no cubre archivos excluidos ni una comprobación de Live Protection no disponible.

JSON para automatización

--json escribe un resultado estructurado en stdout. Salvo errores fatales 1 o 2, un script puede evaluar el resumen y, para un User Scan, los archivos afectados:

$cli = "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe"
$json = & $cli scan --noui --json "C:\Users\Public\Downloads"
$exitCode = $LASTEXITCODE

if ($json) {
    $result = $json | ConvertFrom-Json
    $result.summary
}

exit $exitCode

Para un User Scan, la salida incluye objetivos, Detections, errores, formatos no admitidos y archivos inaccesibles, cifrados y dañados. El objeto JSON de un System Scan solo contiene type y summary; no incluye listas de archivos.

Live Protection y exclusiones

Los análisis usan Live Protection. Sin red o con la función desactivada, la evaluación es menos completa.

Un User Scan dirigido respeta exclusiones globales y de política. La CLI no inspecciona plenamente de repente un archivo excluido. Antes de investigar, compruebe qué exclusiones se aplican. La guía de exclusiones de Endpoint explica cómo comprobar el ámbito efectivo.

Validación y escalado

Debe:

  1. Confirmar que la CLI existe en la ruta documentada y usar help scan para validar las opciones locales.
  2. Limitar alcance y duración.
  3. Capturar stdout, stderr y código por separado.
  4. Tratar código 3 como Detection y evaluar los demás.
  5. Correlacionar con Central Events y Health.
  6. No crear exclusión o eliminación automática solo por el código.

La ejecución queda validada cuando termina el proceso, se conserva por separado el código de salida y está disponible la salida esperada. Correlacione el código 3 con los eventos de Sophos Fusion y escálelo mediante el runbook de limpieza de amenazas. Para los códigos 4 a 7, revise los archivos indicados por un User Scan. Un System Scan no devuelve ninguna lista de archivos, por lo que debe conservar y escalar su JSON y la salida de la consola. Investigue los códigos 1 o 2 y los fallos recurrentes con Endpoint Self Help y SDU. Estos estados no equivalen todos a una detección de malware.

Preguntas frecuentes

¿Por qué System Scan no encuentra un archivo EFS del usuario?

System Scan usa permisos local system y no posee las claves EFS privadas del usuario. User Scan solo inspecciona archivos accesibles para la cuenta que lo ejecuta.

¿El código 7 es una Detection de malware?

No. El código 7 significa que al menos un archivo era inaccesible. Puede causarlo un permiso, bloqueo o ruta no disponible y debe investigarse aparte.