T1562.003: Нарушение журналирования команд
Злоумышленники могут саботировать журналирование команд, чтобы скрыть команды, которые они выполняют на скомпрометированной системе. Различные интерпретаторы командной строки регистрируют команды, введенные в терминале, чтобы пользователи могли просмотреть или повторить их при необходимости.
В Linux и macOS история команд пользователя, вошедшего в систему, регистрируется в файле, на который указывает переменная окружения HISTFILE
. Когда пользователь выходит из системы, эта информация сбрасывается в файл ~/.bash_history
, расположенный в домашнем каталоге пользователя. Переменная окружения HISTCONTROL
указывает, какие команды должны выводиться командой history
и в конечном итоге записываться в файл ~/.bash_history
при выходе пользователя из системы. По умолчанию переменная HISTCONTROL
отсутствует в macOS, но если ее добавит пользователь, соответствующие настройки будут действовать.
Злоумышленники могут очистить переменную окружения, указывающую на файл истории (unset HISTFILE
), или установить нулевой размер истории команд (export HISTFILESIZE=0
), чтобы предотвратить журналирование команд. Кроме того, можно настроить переменную HISTCONTROL
так, чтобы она игнорировала команды, начинающиеся с пробела, установив ей значение ignorespace. Также при необходимости HISTCONTROL
может игнорировать дублирующиеся команды, если установить значение ignoredups. В некоторых системах Linux по умолчанию установлено значение ignoreboth, охватывающее оба приведенных примера. То есть " ls" не попадет в историю, а "ls" — сохранится. Злоумышленники могут действовать, не оставляя следов, просто добавляя пробел ко всем командам терминала.
В Windows модуль PSReadLine
отслеживает команды, выполняемые во время всех сеансов PowerShell, и записывает их в файл (по умолчанию $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
). Злоумышленники могут изменить место сохранения этих журналов с помощью команды Set-PSReadLineOption -HistorySavePath {путь_к_файлу}
. В результате в файле ConsoleHost_history.txt
не будут появляться новые записи. Кроме того, можно отключить запись журнала в этот файл с помощью команды PowerShell Set-PSReadlineOption -HistorySaveStyle SaveNothing
.
Злоумышленники могут также воспользоваться интерпретаторами командной строки сетевых устройств, чтобы отключить на них ведение журнала команд (например, командой no logging
).
Какие продукты Positive Technologies покрывают технику
Экспертиза MaxPatrol SIEM
eltex: PT-CR-2321: Eltex_Fastpath_disable_logging: Изменены настройки журналирования
eltex: PT-CR-2345: Eltex_Ros_disable_logging: Журналирование отключено или его настройки изменены
unix_mitre_attck_defense_evasion: PT-CR-1658: Unix_Impair_Command_Logging: Изменение настроек ведения журнала истории команд
Способы обнаружения
ID | DS0013 | Источник и компонент данных | Данные о работоспособности: Состояние узла | Описание | Users checking or changing their |
---|
ID | DS0017 | Источник и компонент данных | Команда: Выполнение команд | Описание | Correlating a user session with a distinct lack of new commands in their |
---|
Меры противодействия
ID | M1028 | Название | Изменение конфигурации ОС | Описание | Make sure that the |
---|
ID | M1039 | Название | Предотвращение изменения переменных окружения | Описание | Prevent users from changing the |
---|