Przejdz do tresci
Avanet

Skanowanie Sophos Endpoint w Windows przez CLI

W pojedynczym podejrzanym przypadku często wystarcza Scan z lokalnego interfejsu. W runbooku RMM, podczas Incident Response lub dla określonej ścieżki Windows CLI jest dokładniejsze. Instaluje się z Sophos Endpoint i dodatkowo zgłasza Detections do Sophos Fusion (dawniej Sophos Central).

Planowanie i rozwiązywanie problemów skanów Sophos Endpoint obejmuje planowanie, skany zaplanowane, analizę czasu działania i stan File Scanner. Ten artykuł koncentruje się na CLI Windows i niezawodnej automatyzacji.

Ścieżka i pomoc

Narzędzie znajduje się standardowo pod:

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

Otwórz PowerShell na koncie, którego uprawnienia mają obowiązywać podczas skanu ukierunkowanego. Operator & uruchamia ścieżkę ujętą w cudzysłów, a help scan pokazuje opcje zainstalowanej wersji:

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

Miarodajna jest pomoc wersji zainstalowanej lokalnie. Narzędzie należy do agenta Windows; ta ścieżka nie dotyczy macOS.

Model wykonania przed rozpoczęciem

  • Powłoka: Wszystkie przykłady używają PowerShell. W cmd.exe pomiń operator &; nie mieszaj obu składni.
  • Uprawnienia: Skan pliku, folderu lub dysku dziedziczy prawa konta wywołującego. Skan z --system działa z prawami lokalnego procesu systemowego. Podwyższona powłoka nie jest ogólnym wymaganiem i nie rozszerza rzeczywistych praw skanu użytkownika.
  • Symbole zastępcze: Zastąp C:\Users\Public\Downloads, C:\IR\Evidence i D:\ zatwierdzoną ścieżką docelową. Nie wpisuj dosłownie symboli w nawiasach ostrych.
  • Skutek: scan natychmiast rozpoczyna skan. Bez --noui pojawia się okno postępu; wyniki są widoczne w Sophos Endpoint, a wykryte zagrożenia trafiają do Sophos Fusion.
  • Wyjście: Z --noui interfejs nie jest wyświetlany, wykrycia trafiają do stdout, a proces czeka na zakończenie. Przy braku błędu krytycznego --json pozostawia jeden obiekt JSON w stdout.

Uruchamianie skanu systemowego

Pełny System Scan działa z prawami lokalnego procesu systemowego:

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

Quick System Scan skupia się na często używanych plikach, procesach działających i ostatnio wykonywanych, Autostarts, MBR i pamięci:

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

Przy --system nie podaje się dodatkowych Targets. Pliki niedostępne dla lokalnego procesu systemowego, na przykład powiązane z użytkownikiem treści EFS, mogą pozostać nieskanowane.

Skanowanie pliku, folderu lub dysku

Ukierunkowany Scan działa z prawami wywołującego użytkownika:

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

Cały dysk wymaga końcowego Backslash:

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

D: bez Backslash zwykle oznacza tylko bieżący katalog tego dysku. Ścieżki UNC są obsługiwane, jeżeli konto wywołujące ma dostęp.

Wildcards są możliwe w nazwach folderów i plików, ale nie dysków. Rozwinięcie w ostatnim elemencie ścieżki jest bardziej niezawodne niż Wildcard w folderze nadrzędnym.

Archiwa i szczegółowe wyniki

--expand_archives otwiera obsługiwane archiwa i sprawdza ich zawartość. Zwiększa to czas i I/O, dlatego należy używać go celowo.

--noui ukrywa interfejs i czeka na zakończenie Scan. Tylko wraz z nim poprawne jest --verbose:

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

Bardzo dużego Verbose Output nie należy bez kontroli zapisywać w RMM Logs. Ścieżki mogą zawierać nazwy użytkowników i wrażliwe informacje projektowe.

Prawidłowa obsługa Exit Codes

KodZnaczenie
0Scan udany, nie znaleziono malware
1błąd przetwarzania polecenia
2nieoczekiwany błąd uruchomienia narzędzia
3wykryto co najmniej jedno zagrożenie
4co najmniej jeden błąd skanowania pliku
5co najmniej jeden zaszyfrowany plik
6co najmniej jeden nieobsługiwany format
7co najmniej jeden plik był niedostępny

Jeżeli występuje wiele stanów, narzędzie zwraca najpoważniejszy kod. Wartość różna od zera nie zawsze oznacza malware. Z drugiej strony kod 0 nie dowodzi, że każdy plik był dostępny i wszystkie zapytania Cloud mogły zostać wykonane.

JSON dla automatyzacji

--json zapisuje na końcu strukturalny wynik do stdout. Poza fatalnymi błędami o kodzie 1 lub 2 skrypt może bezpośrednio przetworzyć podsumowanie, a w przypadku User Scan także pliki, których dotyczy wynik:

$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

W User Scan wynik zawiera między innymi Targets, Detections, błędy skanowania, pliki nieobsługiwane, niedostępne, zaszyfrowane i uszkodzone. Obiekt JSON z System Scan zawiera tylko pola type i summary; nie zawiera list plików.

Live Protection i wyjątki

Scans używają Live Protection do pobierania aktualnych informacji SophosLabs. Bez sieci lub przy wyłączonym Live Protection ocena jest mniej kompletna.

Ukierunkowany User Scan respektuje wyjątki globalne i Policy Exceptions. Ręczne wywołanie CLI nie powoduje pełnego sprawdzenia pliku objętego wyjątkiem. Przed dochodzeniem należy więc sprawdzić skuteczne wyjątki.

Walidacja i eskalacja

Produkcyjny runbook powinien:

  1. Potwierdzić obecność CLI w udokumentowanej ścieżce i sprawdzić lokalne opcje poleceniem help scan.
  2. Ograniczyć Scope i maksymalny czas.
  3. Oddzielnie zapisać stdout, stderr i Exit Code.
  4. Traktować kod 3 jako Detection, a pozostałe kody oceniać osobno.
  5. Skorelować wynik z Central Events i Health.
  6. Nie tworzyć automatycznego wyjątku ani nie usuwać pliku wyłącznie na podstawie Exit Code.

Wykonanie jest zweryfikowane, gdy proces się zakończył, kod wyjścia zapisano oddzielnie, a oczekiwany wynik jest dostępny. Kod 3 skoreluj ze zdarzeniami Sophos Fusion i eskaluj zgodnie z procedurą usuwania zagrożeń. Dla kodów od 4 do 7 przejrzyj pliki wskazane przez User Scan. System Scan nie zwraca listy plików, dlatego zachowaj i przekaż do eskalacji jego dane JSON oraz dane wyjściowe konsoli. Kody 1 lub 2 i powtarzające się awarie analizuj za pomocą Endpoint Self Help i SDU. Te stany nie są równoważnymi wykryciami złośliwego oprogramowania.

Często zadawane pytania

Dlaczego System Scan nie znajduje pliku użytkownika zaszyfrowanego przez EFS?

System Scan działa z prawami lokalnego procesu systemowego i nie ma automatycznie prywatnych kluczy EFS użytkownika. User Scan może sprawdzić tylko pliki dostępne dla wywołującego konta.

Czy Exit Code 7 oznacza wykrycie malware?

Nie. Kod 7 oznacza, że co najmniej jeden plik był niedostępny. Przyczyną może być uprawnienie, blokada lub niedostępna ścieżka i wymaga osobnej kontroli.