Zum Inhalt springen
Avanet

Sophos Endpoint unter Windows per CLI scannen

Für einen einzelnen Verdachtsfall genügt oft der Scan aus der lokalen Oberfläche. In einem RMM-Runbook, bei einer Incident Response oder für einen definierten Pfad ist die Windows-CLI genauer. Sie wird mit Sophos Endpoint installiert und meldet Detections zusätzlich an Sophos Central.

Planung, Scheduled Scans, Laufzeitanalyse und File-Scanner-Health behandelt der übergeordnete Artikel Sophos Endpoint Scans planen und troubleshooten.

Pfad und Hilfe

Das Werkzeug liegt standardmässig unter:

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

Eine administrative PowerShell zeigt die verfügbaren Scanoptionen:

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

Die Hilfe der lokal installierten Version ist massgebend. Das Werkzeug gehört zum Windows-Agenten; für macOS gilt dieser Pfad nicht.

Systemscan ausführen

Ein vollständiger Systemscan läuft mit den Rechten des lokalen Systemprozesses:

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

Ein schneller Systemscan konzentriert sich auf häufig verwendete Dateien, laufende und kürzlich ausgeführte Prozesse, Autostarts, MBR und Arbeitsspeicher:

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

Bei --system werden keine zusätzlichen Targets angegeben. Dateien, auf die der lokale Systemprozess keinen Zugriff hat, etwa benutzergebundene EFS-Inhalte, können dadurch ungescannt bleiben.

Datei, Ordner oder Laufwerk scannen

Ein gezielter Scan läuft mit den Rechten des aufrufenden Benutzers:

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

Ein komplettes Laufwerk benötigt den abschliessenden Backslash:

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

D: ohne Backslash bezeichnet normalerweise nur das aktuelle Verzeichnis dieses Laufwerks. UNC-Pfade werden unterstützt, sofern das aufrufende Konto Zugriff besitzt.

Wildcards sind in Ordner- und Dateinamen möglich, nicht aber in Laufwerksnamen. Eine Expansion im letzten Pfadelement ist verlässlicher als ein Wildcard-Ausdruck in einem übergeordneten Ordner.

Archive und ausführliche Ausgabe

Mit --expand_archives werden unterstützte Archive geöffnet und deren Inhalte geprüft. Das erhöht Laufzeit und I/O und wird deshalb gezielt eingesetzt.

--noui unterdrückt die Oberfläche und wartet bis zum Ende des Scans. Erst zusammen damit ist --verbose gültig:

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

Eine sehr grosse Verbose-Ausgabe wird nicht unkontrolliert in RMM-Logs geschrieben. Pfade können Benutzernamen und sensible Projektinformationen enthalten.

Exitcodes korrekt behandeln

CodeBedeutung
0Scan erfolgreich, keine Malware gefunden
1Fehler bei der Befehlsverarbeitung
2unerwarteter Fehler beim Start des Werkzeugs
3mindestens eine Bedrohung erkannt
4mindestens eine Datei mit Scanfehler
5mindestens eine verschlüsselte Datei
6mindestens ein nicht unterstütztes Format
7mindestens eine Datei nicht zugreifbar

Wenn mehrere Zustände auftreten, liefert das Werkzeug den schwerwiegendsten Code. Ein Wert ungleich null bedeutet deshalb nicht automatisch Malware. Umgekehrt ist Code 0 kein Beweis, dass jede denkbare Datei erreichbar und jede Cloud-Abfrage möglich war.

JSON für Automatisierung

--json schreibt am Ende ein strukturiertes Ergebnis nach stdout. Ausser bei fatalen Fehlern mit Code 1 oder 2 kann ein Skript die Zusammenfassung und betroffenen Dateien direkt auswerten:

$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

Bei einem User Scan enthält die Ausgabe unter anderem Targets, Detections, Scanfehler, nicht unterstützte, unzugängliche, verschlüsselte und beschädigte Dateien. Ein Systemscan liefert eine kompaktere Zusammenfassung.

Live Protection und Ausnahmen

Scans verwenden Live Protection für aktuelle SophosLabs-Informationen. Ohne Netzwerk oder bei deaktivierter Live Protection ist die Bewertung weniger vollständig.

Ein gezielter User Scan respektiert globale und Policy-Ausnahmen. Eine ausgenommene Datei wird durch den manuellen CLI-Aufruf nicht plötzlich vollumfänglich geprüft. Vor einer Incident-Untersuchung wird deshalb kontrolliert, welche Ausnahmen tatsächlich greifen.

Sicheres RMM-Runbook

Ein produktives Runbook sollte:

  1. Existenz und Version der CLI prüfen.
  2. Scope und maximale Laufzeit begrenzen.
  3. stdout, stderr und Exitcode getrennt sichern.
  4. Code 3 als Detection behandeln, andere Codes differenziert auswerten.
  5. Ergebnis mit Central Events und Health korrelieren.
  6. Keine automatische Ausnahme oder Löschung allein aufgrund des Exitcodes erstellen.

Bei einer Detection folgt das Threat-Cleanup-Runbook. Für tiefergehende Agentprobleme dient Endpoint Self Help und SDU.

Häufige Fragen

Warum findet ein Systemscan keine EFS-verschlüsselte Benutzerdatei?

Der Systemscan läuft mit den Rechten des lokalen Systemprozesses und besitzt nicht automatisch die privaten EFS-Schlüssel des Benutzers. Ein gezielter User Scan kann nur Dateien prüfen, auf die das aufrufende Konto zugreifen kann.

Ist Exitcode 7 eine Malware-Erkennung?

Nein. Code 7 bedeutet, dass mindestens eine Datei nicht zugreifbar war. Die Ursache kann eine Berechtigung, Sperre oder ein nicht erreichbarer Pfad sein und muss separat geprüft werden.