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.exepomiń operator&; nie mieszaj obu składni. - Uprawnienia: Skan pliku, folderu lub dysku dziedziczy prawa konta wywołującego. Skan z
--systemdział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\EvidenceiD:\zatwierdzoną ścieżką docelową. Nie wpisuj dosłownie symboli w nawiasach ostrych. - Skutek:
scannatychmiast rozpoczyna skan. Bez--nouipojawia się okno postępu; wyniki są widoczne w Sophos Endpoint, a wykryte zagrożenia trafiają do Sophos Fusion. - Wyjście: Z
--nouiinterfejs nie jest wyświetlany, wykrycia trafiają dostdout, a proces czeka na zakończenie. Przy braku błędu krytycznego--jsonpozostawia jeden obiekt JSON wstdout.
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
| Kod | Znaczenie |
|---|---|
0 | Scan udany, nie znaleziono malware |
1 | błąd przetwarzania polecenia |
2 | nieoczekiwany błąd uruchomienia narzędzia |
3 | wykryto co najmniej jedno zagrożenie |
4 | co najmniej jeden błąd skanowania pliku |
5 | co najmniej jeden zaszyfrowany plik |
6 | co najmniej jeden nieobsługiwany format |
7 | co 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:
- Potwierdzić obecność CLI w udokumentowanej ścieżce i sprawdzić lokalne opcje poleceniem
help scan. - Ograniczyć Scope i maksymalny czas.
- Oddzielnie zapisać
stdout,stderri Exit Code. - Traktować kod
3jako Detection, a pozostałe kody oceniać osobno. - Skorelować wynik z Central Events i Health.
- 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.