T1546.004: Изменение конфигурации командной оболочки Unix

Злоумышленники могут закрепиться в системе путем выполнения вредоносных команд, запускаемых командной оболочкой пользователя. Пользовательская командная оболочка Unix выполняет ряд сценариев конфигурации в разные моменты сессии. Например, когда пользователь открывает интерфейс командной строки или удаленно входит в систему (например, через SSH), запускается оболочка входа. Оболочка входа выполняет сценарии из системного (/etc) и домашнего (~/) каталога пользователя для настройки среды. Все оболочки входа при запуске используют файл /etc/profile. Эти сценарии конфигурации выполняются с уровнем разрешений своего каталога и часто используются для установки переменных окружения, создания псевдонимов и настройки пользовательской среды. Когда оболочка завершает работу или закрывается, выполняются дополнительные сценарии оболочки, обеспечивающее надлежащее завершение ее работы.

Пытаясь закрепиться в системе, злоумышленники могут добавить команды в сценарии, автоматически выполняемые оболочками. Например, с помощью bash (оболочки по умолчанию в большинстве GNU/Linux-систем) злоумышленники могут добавить в файлы /etc/profile и /etc/profile.d команды, запускающие вредоносные бинарные файлы. Эти файлы обычно требуют прав root для изменения и выполняются при каждом запуске любой оболочки в системе. В случае разрешений на уровне пользователя злоумышленники могут вставлять вредоносные команды в файл ~/.bash_profile, ~/.bash_loginили ~/.profile, которые выполняются, когда пользователь открывает интерфейс командной строки или подключается удаленно. Поскольку система выполняет только первый существующий файл в приведенном списке, то для гарантии выполнения нужных команд злоумышленники использовали ~/.bash_profile. Злоумышленники также используют файл ~/.bashrc, который дополнительно выполняется в случае, если установлено удаленное подключение или открыта дополнительная интерактивная оболочка, например новая вкладка в интерфейсе командной строки. Некоторые варианты вредоносного ПО предназначены для запуска по завершении работы терминала, поэтому злоумышленники могут использовать файл ~/.bash_logout для выполнения вредоносных команд в конце сессии.

В macOS эта техника применяется аналогичным способом, но в качестве оболочки по умолчанию для macOS версий 10.15 и выше используется zsh. Когда открывается приложение Terminal.app, оно запускает оболочку входа zsh и интерактивную оболочку zsh. Оболочка входа настраивает системную среду с помощью файлов /etc/profile, /etc/zshenv, /etc/zprofile и /etc/zlogin. Затем оболочка входа настраивает пользовательскую среду с помощью файлов ~/.zprofile и ~/.zlogin. Интерактивная оболочка использует файл ~/.zshrc для настройки пользовательской среды. По завершении работы выполняются команды в файлах /etc/zlogout и ~/.zlogout. Для старых программ macOS выполняет файл /etc/bashrc при запуске.

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

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

unix_mitre_attck_persistence: PT-CR-1670: Unix_Shell_Config_Modify: Попытка закрепиться на узле с помощью изменения конфигурационного файла оболочки. Атакующие могут закрепиться в системе, вставляя команды в сценарии, автоматически выполняемые оболочками unix_mitre_attck_persistence: PT-CR-1029: Unix_Sensitive_File_Modification: Открытие чувствительных файлов

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

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

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

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

Отслеживайте изменения в файлах в каталогах /etc/profile и /etc/profile.d. Данные файлы должны изменять только системные администраторы. Пользователи macOS могут следить за этими файлами с помощью событий фреймворка Endpoint Security.

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

Отслеживайте создание файлов, с помощью которых злоумышленники могут закрепиться в системе путем выполнения вредоносных команд, запускаемых командной оболочкой пользователя. В большей части версий операционных систем Linux and macOS список путей к файлам для корректных оболочек хранится в файле /etc/shells.

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

Отслеживайте выполнение из командной оболочки пользователя вредоносных команд с аргументами, которые могут использоваться для закрепления в системе.

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

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

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