T1098.004: Изменение авторизованных SSH-ключей

Злоумышленники могут модифицировать файл SSH authorized_keys, чтобы обеспечить закрепление на хосте жертвы. В дистрибутивах Linux и macOS обычно используется аутентификация на основе ключей для защиты процедуры аутентификации в сеансах SSH для удаленного управления. Файл authorized_keys задает ключи SSH, которые можно использовать для входа в учетную запись пользователя, для которого настроен этот файл. Этот файл обычно находится в домашнем каталоге пользователя по пути <user-home>/.ssh/authorized_keys. Пользователи могут отредактировать конфигурационный файл SSH системы и установить для директив PubkeyAuthentication и RSAAuthentication значение "yes", чтобы аутентификация с открытым ключом и RSA была включена. Конфигурационный файл SSH обычно находится по пути /etc/ssh/sshd_config.

С помощью сценариев или команд оболочки злоумышленники могут напрямую модифицировать файлы SSH authorized_keys, добавляя в них собственные открытые ключи. В облачных средах злоумышленники могут иметь возможность изменять файл SSH authorized_keys конкретной виртуальной машины через интерфейс командной строки или REST API. Например, с помощью команды 'add-metadata' в командной строке Google Cloud злоумышленник может добавить ключи SSH в учетную запись пользователя. Аналогичным образом в Azure злоумышленник может изменить файл authorized_keys виртуальной машины с помощью запроса PATCH к API. После этого злоумышленник, обладающий соответствующим закрытым ключом, сможет войти в систему как существующий пользователь через SSH. Это также может привести к повышению привилегий, когда виртуальная машина или экземпляр будут иметь права, отличные от прав запрашивающего пользователя.

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

Ключи SSH также могут быть добавлены к учетным записям на сетевых устройствах, например, с помощью команды ip ssh pubkey-chain в интерпретаторе командной строки сетевых устройств

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

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

unix_mitre_attck_persistence: PT-CR-447: Unix_SSH_Key_Modify: Изменение файлов пользовательских SSH-ключей

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

IDDS0017Источник и компонент данныхКоманда: Выполнение командОписание

Отслеживайте выполнение команд с аргументами, которые могут использоваться для модификации файла authorized_keys или /etc/ssh/sshd_config.

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

Отслеживайте подозрительные процессы, которые модифицируют файл authorized_keys или /etc/ssh/sshd_config.

IDDS0022Источник и компонент данныхФайл: Изменение файлаОписание

Отслеживайте изменения в файле authorized_keys для каждого пользователя системы. Отслеживайте изменения в каталоге /etc/ssh/sshd_config и подозрительные процессы, которые вносят эти изменения.

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

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

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

IDM1022НазваниеОграничение разрешений для файлов и каталоговОписание

Ограничьте доступ к файлу authorized_keys.

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

Отключите SSH, если он не нужен на хосте, или ограничьте доступ к SSH для определенных пользователей/групп с помощью /etc/ssh/sshd_config.