Saltar para o conteudo
Avanet

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 --system usa 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\Evidence e D:\ pelo caminho de destino aprovado. Não introduza literalmente marcadores entre parênteses angulares.
  • Efeito: scan inicia imediatamente a análise. Sem --noui aparece uma janela de progresso; os resultados surgem no Sophos Endpoint e as ameaças detetadas são comunicadas ao Sophos Fusion.
  • Saída: Com --noui não aparece interface, as deteções são escritas em stdout e o processo aguarda pela conclusão. Numa execução sem erro fatal, --json deixa um único objeto JSON em stdout.

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ódigoSignificado
0análise concluída, sem malware
1erro ao processar o comando
2erro inesperado ao iniciar a ferramenta
3pelo menos uma ameaça detetada
4pelo menos um ficheiro com erro de análise
5pelo menos um ficheiro encriptado
6pelo menos um formato não suportado
7pelo 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:

  1. Confirmar que a CLI existe no caminho documentado e validar as opções locais com help scan.
  2. Limitar Scope e duração máxima.
  3. Guardar stdout, stderr e Exit Code separadamente.
  4. Tratar código 3 como Detection e avaliar os outros códigos individualmente.
  5. Correlacionar o resultado com Central Events e Health.
  6. 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.

Perguntas frequentes

Porque uma System Scan não encontra um ficheiro EFS do utilizador?

A System Scan utiliza os direitos do processo System local e não possui automaticamente as chaves EFS privadas do utilizador. Uma User Scan só analisa ficheiros acessíveis à conta que a executa.

Exit Code 7 é uma deteção de malware?

Não. O código 7 indica que pelo menos um ficheiro estava inacessível. A causa pode ser uma permissão, bloqueio ou caminho indisponível e deve ser verificada separadamente.