Vai al contenuto
Avanet

Scansionare Sophos Endpoint su Windows tramite CLI

Per un singolo caso sospetto spesso è sufficiente lo Scan dall’interfaccia locale. In un Runbook RMM, durante un Incident Response o per un percorso definito, la Windows CLI è più precisa. Viene installata con Sophos Endpoint e segnala inoltre le Detection a Sophos Central.

Pianificare e risolvere i problemi delle scansioni Sophos Endpoint tratta pianificazione, scansioni programmate, analisi dei tempi di esecuzione e stato di File Scanner. Questo articolo si concentra sulla CLI Windows e su un’automazione affidabile.

Percorso e Help

Lo strumento si trova per impostazione predefinita in:

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

Una PowerShell amministrativa mostra le opzioni Scan disponibili:

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

È determinante l’Help della versione installata localmente. Lo strumento appartiene all’Agent Windows; questo percorso non vale per macOS.

Eseguire un System Scan

Un System Scan completo viene eseguito con i diritti del processo Local System:

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

Un Quick System Scan si concentra su file usati di frequente, processi in esecuzione e recenti, autostart, MBR e memoria:

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

Con --system non vengono indicati Target aggiuntivi. File ai quali Local System non ha accesso, per esempio contenuti EFS legati all’utente, possono quindi restare non scansionati.

Scansionare file, cartella o unità

Uno Scan mirato viene eseguito con i diritti dell’utente chiamante:

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

Un’intera unità richiede il Backslash finale:

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

D: senza Backslash indica normalmente soltanto la directory corrente dell’unità. I percorsi UNC sono supportati se l’account chiamante ha accesso.

Le Wildcard sono possibili nei nomi di cartelle e file, ma non nelle unità. L’espansione nell’ultimo elemento del percorso è più affidabile di una Wildcard in una cartella superiore.

Archivi e output dettagliato

Con --expand_archives vengono aperti gli archivi supportati e scansionati i contenuti. Ciò aumenta durata e I/O e viene quindi usato in modo mirato.

--noui sopprime l’interfaccia e attende la fine dello Scan. --verbose è valido soltanto insieme a questa opzione:

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

Un output Verbose molto grande non viene scritto senza controllo nei Log RMM. I percorsi possono contenere nomi utente e informazioni sensibili sui progetti.

Gestire correttamente gli Exit Code

CodiceSignificato
0Scan riuscito, nessun malware trovato
1errore nell’elaborazione del comando
2errore inatteso all’avvio dello strumento
3rilevata almeno una minaccia
4errore di Scan per almeno un file
5almeno un file cifrato
6almeno un formato non supportato
7almeno un file non accessibile

Se si verificano più stati, lo strumento restituisce il codice più grave. Un valore diverso da zero non indica quindi automaticamente malware. Viceversa, il codice 0 non dimostra che ogni possibile file fosse raggiungibile e ogni Cloud Query fosse disponibile.

JSON per l’automazione

--json scrive al termine un risultato strutturato su stdout. Tranne che per errori fatali con codice 1 o 2, uno script può analizzare direttamente riepilogo e file interessati:

$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

Per uno User Scan, l’output include Target, Detection, errori Scan, file non supportati, non accessibili, cifrati e danneggiati. Un System Scan fornisce un riepilogo più compatto.

Live Protection ed eccezioni

Gli Scan utilizzano Live Protection per informazioni SophosLabs correnti. Senza rete o con Live Protection disattivato la valutazione è meno completa.

Uno User Scan mirato rispetta le eccezioni globali e Policy. Un file escluso non viene improvvisamente verificato in modo completo tramite la chiamata CLI manuale. Prima di un’indagine Incident si controllano quindi le eccezioni realmente efficaci.

Runbook RMM sicuro

Un Runbook produttivo deve:

  1. Verificare esistenza e versione della CLI.
  2. Limitare Scope e durata massima.
  3. Salvare separatamente stdout, stderr ed Exit Code.
  4. Trattare il codice 3 come Detection e valutare gli altri codici in modo differenziato.
  5. Correlare il risultato con Central Event e Health.
  6. Non creare automaticamente un’eccezione o eliminazione basandosi soltanto sull’Exit Code.

In caso di Detection segue il Threat Cleanup Runbook. Per problemi Agent più profondi vedere Endpoint Self Help e SDU.

Domande frequenti

Perché un System Scan non trova un file utente cifrato EFS?

Il System Scan viene eseguito con i diritti di Local System e non possiede automaticamente le chiavi EFS private dell’utente. Uno User Scan mirato può verificare soltanto file ai quali l’account chiamante ha accesso.

Exit Code 7 indica malware?

No. Il codice 7 indica che almeno un file non era accessibile. La causa può essere un’autorizzazione, un blocco o un percorso non raggiungibile e deve essere verificata separatamente.