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-2345: Eltex_Ros_Disable_Logging: Журналирование отключено или его настройки изменены unix_mitre_attck_defense_evasion: PT-CR-1658: Unix_Impair_Command_Logging: Изменение настроек ведения журнала истории команд

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

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

Проверка или изменение переменных окружения HISTCONTROL, HISTFILE или HISTFILESIZE пользователями должно рассматриваться как подозрительное.

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

Отсутствие новых записей в журнале .bash_history во время сеанса пользователя следует считать подозрительным. Отслеживайте изменение настроек истории команд PowerShell, а именно случаи запуска процессов с аргументами командной строки -HistorySaveStyle SaveNothing и использование команд PowerShell Set-PSReadlineOption -HistorySaveStyle SaveNothing и Set-PSReadLineOption -HistorySavePath {File Path}. На сетевых устройствах отслеживайте пропуски или несоответствия в записях, созданных интерпретаторами командной строки, а также в журналах аутентификации, авторизации и аудита (AAA), включая журналы RADIUS и TACACS+.

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

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

Запретите пользователям изменять переменные окружения HISTCONTROL, HISTFILE и HISTFILESIZE .

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

Проследите, чтобы для переменной окружения HISTCONTROL было установлено значение "ignoredups", а не "ignoreboth" или "ignorespace".