Aller au contenu
Avanet

Scanner Sophos Endpoint sous Windows en CLI

Pour un soupçon isolé, le Scan depuis l’interface locale suffit souvent. Dans un RMM Runbook, lors d’une Incident Response ou pour un chemin défini, la Windows CLI est plus précise. Elle est installée avec Sophos Endpoint et signale aussi les Detections à Sophos Central.

Planifier et dépanner les analyses Sophos Endpoint traite la planification, les analyses planifiées, l’analyse de la durée et l’état de File Scanner. Cet article se concentre sur la CLI Windows et une automatisation fiable.

Chemin et aide

L’outil se trouve par défaut sous :

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

Une PowerShell administrative affiche les options disponibles :

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

L’aide de la version installée localement fait foi. L’outil appartient à l’Agent Windows ; ce chemin ne s’applique pas à macOS.

Exécuter un System Scan

Un Full System Scan s’exécute avec les droits du Local System Process :

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

Un Quick System Scan se concentre sur les fichiers fréquemment utilisés, les processus actifs et récemment exécutés, les Autostarts, MBR et la mémoire :

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

Avec --system, aucun Target supplémentaire n’est indiqué. Les fichiers auxquels Local System n’a pas accès, par exemple les contenus EFS liés à l’utilisateur, peuvent ne pas être scannés.

Scanner un fichier, dossier ou lecteur

Un Scan ciblé s’exécute avec les droits de l’utilisateur appelant :

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

Un lecteur complet exige le Backslash final :

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

D: sans Backslash désigne normalement uniquement le répertoire actuel de ce lecteur. Les chemins UNC sont pris en charge si le compte appelant dispose des droits.

Les Wildcards sont possibles dans les noms de dossier et de fichier, mais pas dans les noms de lecteur. Une expansion dans le dernier élément du chemin est plus fiable qu’un Wildcard dans un dossier parent.

Archives et sortie détaillée

--expand_archives ouvre les archives prises en charge et scanne leur contenu. Cela augmente la durée et les I/O et s’utilise donc de manière ciblée.

--noui masque l’interface et attend la fin du Scan. --verbose n’est valide qu’avec cette option :

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

Une sortie Verbose volumineuse n’est pas écrite sans contrôle dans les RMM Logs. Les chemins peuvent contenir des noms d’utilisateur et des informations de projet sensibles.

Traiter correctement les Exit Codes

CodeSignification
0Scan réussi, aucun malware trouvé
1erreur de traitement de la commande
2erreur inattendue au démarrage de l’outil
3au moins une menace détectée
4erreur de Scan pour au moins un fichier
5au moins un fichier chiffré
6au moins un format non pris en charge
7au moins un fichier inaccessible

Lorsque plusieurs états se produisent, l’outil renvoie le Code le plus grave. Une valeur différente de zéro ne signifie donc pas automatiquement un malware. Inversement, le Code 0 ne prouve pas que tous les fichiers imaginables étaient accessibles ni toutes les Cloud Queries possibles.

JSON pour l’automatisation

--json écrit un résultat structuré sur stdout à la fin. Sauf pour les erreurs fatales avec Code 1 ou 2, un Script peut analyser directement le résumé et les fichiers concernés :

$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

Pour un User Scan, la sortie contient notamment Targets, Detections, Scan Errors, fichiers non pris en charge, inaccessibles, chiffrés et endommagés. Un System Scan fournit un résumé plus compact.

Live Protection et exceptions

Les Scans utilisent Live Protection pour obtenir les informations SophosLabs actuelles. Sans réseau ou si Live Protection est désactivé, l’évaluation est moins complète.

Un User Scan ciblé respecte les exceptions globales et de Policy. Un fichier exclu n’est pas soudainement contrôlé intégralement par un appel CLI manuel. Avant une Incident Investigation, il faut vérifier les exceptions réellement appliquées.

RMM Runbook sûr

Un Runbook de production doit :

  1. Vérifier l’existence et la version de la CLI.
  2. Limiter Scope et durée maximale.
  3. Enregistrer séparément stdout, stderr et Exit Code.
  4. Traiter le Code 3 comme Detection et différencier les autres Codes.
  5. Corréler le résultat avec Central Events et Health.
  6. Ne créer aucune exception ou suppression automatique sur le seul Exit Code.

En cas de Detection, suivre le Threat Cleanup Runbook. Pour les problèmes Agent plus profonds, voir Endpoint Self Help et SDU.

Questions fréquentes

Pourquoi un System Scan ne trouve-t-il pas un fichier utilisateur chiffré par EFS ?

Le System Scan s’exécute avec les droits de Local System et ne possède pas automatiquement les clés EFS privées de l’utilisateur. Un User Scan ne peut contrôler que les fichiers accessibles au compte appelant.

L'Exit Code 7 est-il une détection de malware ?

Non. Le Code 7 signifie qu’au moins un fichier était inaccessible. La cause peut être une autorisation, un verrouillage ou un chemin indisponible et doit être contrôlée séparément.