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
Aprire PowerShell con l’account i cui diritti devono valere per la scansione mirata. L’operatore & avvia il percorso tra virgolette e help scan mostra le opzioni della versione installata:
& "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.
Modello di esecuzione prima di iniziare
- Shell: Tutti gli esempi usano PowerShell. In
cmd.exe, omettere l’operatore&; non mescolare le due sintassi. - Privilegi: Una scansione di file, cartella o unità eredita i diritti dell’account chiamante. Una scansione con
--systemusa invece i diritti del processo di sistema locale. Una console elevata non è un requisito generale e non estende i permessi effettivi di una scansione utente. - Segnaposto: Sostituire
C:\Users\Public\Downloads,C:\IR\EvidenceeD:\con il percorso autorizzato. Non inserire letteralmente segnaposto tra parentesi angolari. - Effetto:
scanavvia subito la scansione. Senza--nouicompare una finestra di avanzamento; i risultati sono visibili in Sophos Endpoint e le minacce rilevate vengono segnalate a Sophos Central. - Output: Con
--nouinon appare l’interfaccia, le rilevazioni sono scritte instdoute il processo attende la conclusione. Se non si verifica un errore fatale,--jsonlascia un solo oggetto JSON instdout.
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
| Codice | Significato |
|---|---|
0 | Scan riuscito, nessun malware trovato |
1 | errore nell’elaborazione del comando |
2 | errore inatteso all’avvio dello strumento |
3 | rilevata almeno una minaccia |
4 | errore di Scan per almeno un file |
5 | almeno un file cifrato |
6 | almeno un formato non supportato |
7 | almeno 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 il riepilogo e, per uno User Scan, i 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. L’oggetto JSON di un System Scan contiene solo type e summary; non include elenchi di file.
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.
Convalida ed escalation
Un Runbook produttivo deve:
- Verificare che la CLI esista nel percorso documentato e confermare le opzioni locali con
help scan. - Limitare Scope e durata massima.
- Salvare separatamente
stdout,stderred Exit Code. - Trattare il codice
3come Detection e valutare gli altri codici in modo differenziato. - Correlare il risultato con Central Event e Health.
- Non creare automaticamente un’eccezione o eliminazione basandosi soltanto sull’Exit Code.
L’esecuzione è convalidata quando il processo è terminato, il codice di uscita è stato acquisito separatamente e l’output previsto è disponibile. Correlare il codice 3 con gli eventi di Sophos Central e seguire il runbook di rimozione delle minacce. Per i codici da 4 a 7, esaminare i file indicati da uno User Scan. Un System Scan non restituisce alcun elenco di file, quindi conservarne ed escalare il JSON e l’output della console. Analizzare i codici 1 o 2 e gli errori ricorrenti con Endpoint Self Help e SDU. Questi stati non equivalgono tutti a un rilevamento malware.