T1021.004: SSH

Злоумышленники могут использовать существующие учетные записи для подключения к удаленным компьютерам по протоколу Secure Shell (SSH). После этого злоумышленники могут выполнять действия от имени вошедшего в систему пользователя.

SSH — это протокол, который позволяет авторизованным пользователям открывать удаленные оболочки на других компьютерах. Во многих версиях Linux и macOS SSH установлен по умолчанию, но обычно он отключен и требует включения пользователем. Сервер SSH может быть настроен на использование стандартной парольной аутентификации или на использование пары из открытого и закрытого ключа (вместо или в дополнение к парольной аутентификации). В этом сценарии аутентификации открытый ключ пользователя должен находиться в специальном файле на компьютере с сервером; в этом файле должно быть указано, какие пары ключей разрешены для входа в систему от имени этого пользователя.

Какие продукты Positive Technologies покрывают технику

Экспертиза MaxPatrol SIEM

unix_mitre_attck_command_and_control: PT-CR-1700: Unix_Proxy_Forwarding: Возможное туннелирование трафика с Unix-узла на Windows-узел unix_mitre_attck_lateral_movement: PT-CR-487: Unix_SSH_Login_By_Daemons: Перемещение внутри периметра под именем сервисной учетной записи. Атакующие могут воспользоваться известными учетными записями служб для получения удаленного доступа к целевой системе profiling: PT-CR-228: Domain_Controller_Abnormal_Access: Подозрительный вход на контроллер домена. Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1040: Release_Build_Agent_Abnormal_Access: Подозрительный вход на сервер сборочных агентов. Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1042: Update_Server_Abnormal_Access: Подозрительный вход на сервер обновлений (FLUS/GUS). Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1049: Subrule_Unix_Server_Abnormal_Access: Подозрительные подключения по протоколу SSH к Unix-серверам сети. Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1810: Critical_Server_Abnormal_Access: Подозрительный вход на критически важный сервер. Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1052: Antivirus_Server_Abnormal_Access: Подозрительный вход на сервер антивирусной защиты. Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1045: VCS_Server_Abnormal_Access: Подозрительный вход в систему контроля версий. Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1035: App_1C_User_PC_Abnormal_Access: Подозрительный вход на узел, на котором выполняется работа с приложением 1С. Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1812: App_1C_Server_Abnormal_Access: Подозрительный вход на сервер 1С. Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1070: Top_Managers_Abnormal_Access: Подозрительный вход на рабочую станцию руководителя организации. Данные аутентификации отличаются от собранного профиля profiling: PT-CR-1044: Developer_PC_Abnormal_Access: Подозрительный вход на компьютер разработчика. Данные аутентификации отличаются от собранного профиля

Способы обнаружения

IDDS0009Источник и компонент данныхПроцесс: Создание процессаОписание

Отслеживайте запуск новых процессов, в которых могут использоваться существующие учетные записи для подключения к удаленным компьютерам по протоколу Secure Shell (SSH). Например, в macOS команда log show --predicate 'process = "sshd"' может помочь в анализе входящих запросов на подключение по протоколу SSH на предмет подозрительной активности. Команда log show --info --predicate 'process = "ssh" or eventMessage contains "ssh"' может использоваться для проверки исходящих подключений по протоколу SSH.

В Linux для мониторинга событий создания процессов, использующих протокол SSH, таких как ssh, может использоваться система аудита (auditd).

В системах macOS, начиная с версии 10.12, указанная выше команда помогает найти признаки SSH-подключений в объединенных журналах (Unified Logs), однако рекомендуется также включить параметр --debug, который обеспечит возврат всех релевантных данных: log show --info --debug --predicate 'process = "ssh" or eventMessage contains "ssh"'

IDDS0029Источник и компонент данныхСетевой трафик: Создание сетевого подключенияОписание

Отслеживайте создание сетевых соединений (обычно через порт 22), в которых могут использоваться существующие учетные записи для подключения к удаленным компьютерам по протоколу Secure Shell (SSH). Использование SSH может быть легитимным в зависимости от особенностей среды. На подозрительное или вредоносное поведение, связанное с SSH, могут указывать другие факторы, такие как необычные попытки доступа и действия после удаленного входа.

С помощью фреймворков сетевого анализа, таких как Zeek, можно настроить запись, декодирование и уведомление о сетевом трафике. Соответственно, с их помощью можно отслеживать создание сетевых соединений SSH.

IDDS0028Источник и компонент данныхСеанс входа в систему: Создание сеанса входа в системуОписание

Отслеживайте пользовательские учетные записи, вошедшие в системы, чтобы предотвратить использование существующих учетных записей злоумышленниками для подключения к удаленным компьютерам по протоколу Secure Shell (SSH). В системах Linux попытки получения доступа по протоколу SSH записываются в журналах, хранящихся в /var/log/auth.log или /var/log/secure в зависимости от используемого дистрибутива.

В системах Linux для мониторинга попыток записи в журналы, связанные с протоколом SSH, можно использовать систему аудита (auditd). Например, журнал /var/log/auth.log содержит сведения об учетных записях пользователей, вошедших в систему.

В системах macOS (10.12 и выше) сообщения демона SSH (sshd), содержащие информацию об учетных записях вошедших в систему пользователей, можно запросить через объединенные журналы (Unified Logs). Чтобы запросить объединенные журналы (Unified Logs) за последний час, можно использовать следующую команду: log show -info --debug --predicate 'processImagePath CONTAINS "sshd" AND eventMessage CONTAINS "Accepted"' --last 1h | grep sshd

Меры противодействия

IDM1042НазваниеОтключение или удаление компонента или программыОписание

Отключите демон SSH в системах, где он не требуется. Для macOS проследите, чтобы удаленный вход был отключен в разделе "Параметры общего доступа".

IDM1018НазваниеУправление учетными записямиОписание

Ограничьте круг пользователей, которым разрешено подключение по SSH.

IDM1032НазваниеМногофакторная аутентификацияОписание

По возможности требуйте многофакторной аутентификации для SSH-соединений, например использования защищенных паролем SSH-ключей.