Analisar Sophos Endpoint no Windows através da CLI
Para uma suspeita isolada, a análise pela interface local é frequentemente suficiente. Num runbook RMM, durante Incident Response ou para um caminho definido, a Windows CLI é mais precisa. É instalada com Sophos Endpoint e comunica Detections ao Sophos Fusion (anteriormente Sophos Central).
Planear e resolver problemas de análises Sophos Endpoint aborda planeamento, análises agendadas, análise do tempo de execução e estado do File Scanner. Este artigo concentra-se na CLI do Windows e numa automatização fiável.
Caminho e ajuda
A ferramenta encontra-se normalmente em:
C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe
Abra o PowerShell com a conta cujos direitos devem ser aplicados à análise direcionada. O operador & inicia o caminho entre aspas e help scan mostra as opções da versão instalada:
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" help scan
A ajuda da versão local é determinante. A ferramenta pertence ao Windows Agent; este caminho não se aplica ao macOS.
Modelo de execução antes de começar
- Shell: Todos os exemplos usam PowerShell. Em
cmd.exe, omita o operador&; não misture as duas sintaxes. - Privilégios: Uma análise de ficheiro, pasta ou unidade herda os direitos da conta que a invoca. Uma análise com
--systemusa os direitos do processo System local. Uma consola elevada não é um requisito geral nem amplia os direitos reais de uma análise do utilizador. - Marcadores: Substitua
C:\Users\Public\Downloads,C:\IR\EvidenceeD:\pelo caminho de destino aprovado. Não introduza literalmente marcadores entre parênteses angulares. - Efeito:
scaninicia imediatamente a análise. Sem--nouiaparece uma janela de progresso; os resultados surgem no Sophos Endpoint e as ameaças detetadas são comunicadas ao Sophos Fusion. - Saída: Com
--nouinão aparece interface, as deteções são escritas emstdoute o processo aguarda pela conclusão. Numa execução sem erro fatal,--jsondeixa um único objeto JSON emstdout.
Executar uma análise do sistema
Uma análise completa utiliza os direitos do processo System local:
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --system --full --noui
Uma Quick System Scan concentra-se em ficheiros utilizados frequentemente, processos em execução e recentes, Autostarts, MBR e memória:
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --system --quick --noui
Com --system, não se indicam Targets adicionais. Ficheiros inacessíveis ao processo System, como conteúdos EFS associados ao utilizador, podem não ser analisados.
Analisar ficheiro, pasta ou unidade
Uma análise direcionada utiliza os direitos do utilizador que a invoca:
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --noui "C:\Users\Public\Downloads"
Uma unidade completa requer a barra invertida final:
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --noui "D:\"
D: sem barra indica normalmente apenas o diretório atual dessa unidade. Caminhos UNC são suportados se a conta tiver acesso.
Wildcards são possíveis em nomes de pastas e ficheiros, mas não em nomes de unidades. A expansão no último elemento do caminho é mais fiável do que num diretório superior.
Arquivos e saída detalhada
--expand_archives abre arquivos suportados e analisa o conteúdo. Aumenta o tempo e I/O e é utilizado de forma direcionada.
--noui suprime a interface e aguarda pelo fim. --verbose só é válido em conjunto:
& "C:\Program Files\Sophos\Endpoint Defense\sophosinterceptxcli.exe" scan --noui --verbose --expand_archives "C:\IR\Evidence"
Uma Verbose Output muito grande não deve ser escrita sem controlo nos RMM Logs. Os caminhos podem conter nomes de utilizador e informações sensíveis.
Tratar Exit Codes corretamente
| Código | Significado |
|---|---|
0 | análise concluída, sem malware |
1 | erro ao processar o comando |
2 | erro inesperado ao iniciar a ferramenta |
3 | pelo menos uma ameaça detetada |
4 | pelo menos um ficheiro com erro de análise |
5 | pelo menos um ficheiro encriptado |
6 | pelo menos um formato não suportado |
7 | pelo menos um ficheiro inacessível |
Se existirem vários estados, é devolvido o código mais grave. Um valor diferente de zero não significa automaticamente malware. Um código 0 também não prova que todos os ficheiros estavam acessíveis ou que todas as Cloud Queries eram possíveis.
JSON para automação
--json escreve um resultado estruturado em stdout. Exceto em erros fatais 1 ou 2, um script pode avaliar diretamente o resumo e, numa User Scan, os ficheiros afetados:
$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
Numa User Scan, a saída inclui Targets, Detections, erros, ficheiros não suportados, inacessíveis, encriptados e danificados. O objeto JSON de uma System Scan contém apenas type e summary; não inclui listas de ficheiros.
Live Protection e exceções
As análises utilizam Live Protection para informações atuais da SophosLabs. Sem rede ou com Live Protection desativado, a avaliação é menos completa.
Uma User Scan respeita exceções globais e de Policy. Uma chamada CLI manual não analisa integralmente um ficheiro excluído. Antes de uma investigação, verificam-se as exceções efetivas.
Validação e escalamento
Um runbook produtivo deve:
- Confirmar que a CLI existe no caminho documentado e validar as opções locais com
help scan. - Limitar Scope e duração máxima.
- Guardar
stdout,stderre Exit Code separadamente. - Tratar código
3como Detection e avaliar os outros códigos individualmente. - Correlacionar o resultado com Central Events e Health.
- Não criar exceções nem eliminar automaticamente apenas com base no Exit Code.
A execução fica validada quando o processo termina, o código de saída é guardado separadamente e a saída esperada está disponível. Correlacione o código 3 com os eventos do Sophos Fusion e siga o runbook de limpeza de ameaças. Para os códigos 4 a 7, reveja os ficheiros indicados por uma User Scan. Uma System Scan não devolve qualquer lista de ficheiros, por isso guarde e envie para escalamento o respetivo JSON e a saída da consola. Investigue os códigos 1 ou 2 e falhas recorrentes com Endpoint Self Help e SDU. Estes estados não são todos deteções de malware.