Многие думают, что если они включили сбор логов в SIEM, они в безопасности. Это иллюзия. Windows «из коробки» не пишет в логи почти ничего полезного для ИБ. Если вы не настроили расширенный аудит, вы увидите факт входа пользователя, но не увидите, как он создал вредоносную службу или прописал себя в автозагрузку.
Ниже – пример того, что необходимо настроить для базового мониторинга, разбитый по этапам атаки.
1. Windows: Полный спектр видимости
Чтобы видеть атаку целиком, нужно закрыть три зоны: Исполнение кода, Закрепление и Учетные записи.
А. Зона исполнения (Execution & Evasion) Здесь мы ловим момент запуска вредоноса.
- Event ID 4688 (Process Creation):
Настройка: В GPO обязательно включить «Include command line in process creation events».* Что ищем:* Не просто
powershell.exe, а аргументы:-enc,-w hidden,DownloadString.
- Event ID 4104 (PowerShell Script Block):
Настройка: Включить Script Block Logging.* Зачем:* Хакеры обфусцируют скрипты. Событие 4104 показывает код после расшифровки, но до исполнения. Это «рентген» для скриптов.
- Event ID 1102 (Log Clear):
Признак: Очистка журнала Security.* Вердикт:* 100% атака. Если админ чистит логи руками – его нужно увольнять. Если не админ – вас взломали.
Б. Зона закрепления (Persistence) Хакеру мало зайти, ему нужно пережить перезагрузку. Он делает это через Службы и Планировщик.
- Event ID 7045 / 4697 (Service Installation):
Что ищем: Установка новой службы.* Маркер атаки:* Служба запускает бинарник из
C:\Users\TempилиAppData. Легитимные службы живут вC:\WindowsилиProgram Files.
- Event ID 4698 / 4702 (Scheduled Task Creation):
Что ищем: Создание задачи планировщика.* Маркер атаки:* Задачи с непонятными именами, запускающие скрипты раз в минуту.
В. Зона реестра (Registry) Стандартный аудит реестра Windows (SACL) очень тяжелый и «шумный». Но следить за автозагрузкой необходимо.
- Event ID 4663 (Object Access):
Настройка: Настройте аудит только на ветки
RunиRunOnce.* Альтернатива:* Использовать Sysmon Event 12/13 (создание/изменение ключа). Это гораздо чище и эффективнее.
2. Sysmon: Обязательное дополнение
Почему так настаиваем на Sysmon? Потому что стандартный Windows Event Log не умеет связывать сетевое соединение с процессом.
Сценарий: Вы видите исходящее соединение на IP в Китае на фаерволе.* Без Sysmon:* Вы не знаете, какой процесс его открыл. Вам нужно идти на хост и искать.* С Sysmon (Event ID 3):* Вы видите:
Image: c:\temp\malware.exe->DestinationIp: 89.x.x.x. Инцидент раскрыт за 1 минуту.
Минимальный конфиг Sysmon (ищите конфиг SwiftOnSecurity):
- Event ID 1: Process Create (с хэшами MD5/SHA256).
- Event ID 3: Network Connection (фильтруйте браузеры, чтобы не утонуть в логах).
- Event ID 11: File Create (мониторим папку
StartupиDownloads).
3. Linux: Не только Auditd
В Linux есть два уровня правды: PAM (аутентификация) и Syscalls (ядро).
А. Уровень входа (Auth & PAM) Логи /var/log/secure (RHEL) или /var/log/auth.log (Debian).
- Accepted password / publickey: Успешный вход.
- Sudo command executed: Кто и какую команду запустил с правами root.
- Внимание: Если злоумышленник получил shell (оболочку) через
sudo -i, дальнейшие его действия вauth.logне попадут! Тут нужен auditd.
Б. Уровень ядра (Auditd) Это «черный ящик» самописца. Настраиваем /etc/audit/rules.d/audit.rules.
Топ-5 правил, закрывающих 80% тактик:
- Слежка за исполнением (Execution):
Видим каждый запуск бинарника и скрипта.
-a always,exit -F arch=b64 -S execve -k command_exec - Слежка за сетью (C2 / Reverse Shells):
Видим открытие портов или коннект наружу (даже если бинарник удален).
-a always,exit -F arch=b64 -S connect -S accept -S bind -k net_connect - Слежка за временем (Anti-Forensics):
Хакеры любят менять системное время, чтобы запутать следы в логах.
-a always,exit -F arch=b64 -S settimeofday -S clock_settime -k time_change - Слежка за пользователями (Persistence):
Изменение файлов паролей и групп.
-w /etc/passwd -p wa -k identity_mod -w /etc/shadow -p wa -k identity_mod - Слежка за конфигурацией сети:
Изменение
/etc/hosts(перенаправление трафика).-w /etc/hosts -p wa -k network_mod
Итог: Чек-лист инженера
Если вы строите SOC, проверьте свои источники событий по этому списку. Если галочки нет – у вас слепая зона.
- Process Execution: Я вижу аргументы командной строки?
- Persistence: Я увижу, если появится новая служба или задача планировщика?
- Network Process: Я могу сказать, какой процесс открыл соединение, не заходя на хост?
- Identities: Я вижу добавление юзера в локальные админы?
- Scripting: Я вижу расшифрованный код PowerShell?
Если на всё ответ «Да» – вы видите базовые вещи. Если «Нет» – SIEM пока бесполезен.