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 Fusion (anciennement 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
Ouvrez PowerShell avec le compte dont les droits doivent s’appliquer à l’analyse ciblée. L’opérateur & lance le chemin entre guillemets et help scan affiche les options de la version installée :
& "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.
Modèle d’exécution avant de commencer
- Shell : Tous les exemples utilisent PowerShell. Dans
cmd.exe, omettez l’opérateur&; ne mélangez pas les deux syntaxes. - Privilèges : Une analyse de fichier, dossier ou lecteur hérite des droits du compte appelant. Une analyse avec
--systemutilise les droits du processus système local. Une console élevée n’est pas un prérequis général et n’étend pas les droits réels d’une analyse utilisateur. - Paramètres à remplacer : Remplacez
C:\Users\Public\Downloads,C:\IR\EvidenceetD:\par le chemin autorisé. Ne saisissez pas littéralement de paramètres entre chevrons. - Effet :
scandémarre immédiatement l’analyse. Sans--noui, une fenêtre de progression apparaît ; les résultats figurent dans Sophos Endpoint et les menaces détectées sont signalées à Sophos Fusion. - Sortie : Avec
--noui, aucune interface n’apparaît, les détections sont écrites surstdoutet le processus attend la fin. Pour une exécution non fatale,--jsonlaisse un seul objet JSON surstdout.
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
| Code | Signification |
|---|---|
0 | Scan réussi, aucun malware trouvé |
1 | erreur de traitement de la commande |
2 | erreur inattendue au démarrage de l’outil |
3 | au moins une menace détectée |
4 | erreur de Scan pour au moins un fichier |
5 | au moins un fichier chiffré |
6 | au moins un format non pris en charge |
7 | au 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, pour un User Scan, 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. L’objet JSON d’un System Scan contient uniquement type et summary ; il ne comprend aucune liste de fichiers.
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.
Validation et escalade
Un Runbook de production doit :
- Confirmer que la CLI existe au chemin documenté et valider les options locales avec
help scan. - Limiter Scope et durée maximale.
- Enregistrer séparément
stdout,stderret Exit Code. - Traiter le Code
3comme Detection et différencier les autres Codes. - Corréler le résultat avec Central Events et Health.
- Ne créer aucune exception ou suppression automatique sur le seul Exit Code.
L’exécution est validée lorsque le processus est terminé, que son code de sortie est conservé séparément et que la sortie attendue est disponible. Corrélez le code 3 avec les événements Sophos Fusion, puis suivez le runbook de nettoyage des menaces. Pour les codes 4 à 7, examinez les fichiers indiqués par un User Scan. Un System Scan ne renvoie aucune liste de fichiers : conservez et transmettez donc son JSON et sa sortie console lors de l’escalade. Analysez les codes 1 ou 2 et les pannes récurrentes avec Endpoint Self Help et SDU. Ces états ne constituent pas tous une détection de malware.