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 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
Administracyjny PowerShell pokazuje dostępne opcje Scan:
& "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.
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 i pliki:
$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. System Scan zwraca krótsze podsumowanie.
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.
Bezpieczny runbook RMM
Produkcyjny runbook powinien:
- Sprawdzić obecność i wersję CLI.
- 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.
Po Detection obowiązuje runbook Threat Cleanup. Głębsze problemy agenta opisuje Endpoint Self Help i SDU.