MaxPatrol SIEM

Выявляет инциденты ИБ, ведущие к нарушению киберустойчивости компании

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: Изменение настроек ведения журнала истории команд

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

IDDS0013Источник и компонент данныхДанные о работоспособности: Состояние узлаОписание

Users checking or changing their HISTCONTROL, HISTFILE, or HISTFILESIZE environment variables may be suspicious.

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

Correlating a user session with a distinct lack of new commands in their .bash_history can be a clue to suspicious behavior. Monitor for modification of PowerShell command history settings through processes being created with -HistorySaveStyle SaveNothing command-line arguments and use of the PowerShell commands Set-PSReadlineOption -HistorySaveStyle SaveNothing and Set-PSReadLineOption -HistorySavePath {File Path}. For network devices, monitor for missing or inconsistencies in Network Device CLI logging present in AAA logs as well as in specific RADIUS and TACAS+ logs.

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

IDM1028НазваниеИзменение конфигурации ОСОписание

Make sure that the HISTCONTROL environment variable is set to “ignoredups” instead of “ignoreboth” or “ignorespace”.

IDM1039НазваниеПредотвращение изменения переменных окруженияОписание

Prevent users from changing the HISTCONTROL, HISTFILE, and HISTFILESIZE environment variables.