
Репозиторий модулей конфигурации sysmon
Это репозиторий конфигураций Microsoft Sysinternals Sysmon скачать здесь, организованный модульно для упрощения сопровождения и генерации конкретных конфигураций.
Имейте в виду, что любую из этих конфигураций следует рассматривать как отправную точку, настройка под конкретную среду настоятельно рекомендуется.
Примечание: чтобы получить ещё больше пользы от события FileExecutable, рассмотрите возможность включения в конфигурацию самой актуальной версии конфигурации LOLdrivers. Это легко сделать, взяв файл, добавив его в папку 29_file_execute_detected и сгенерировав новую конфигурацию.
Файл sysmonconfig.xml в этом репозитории автоматически генерируется после успешного объединения с помощью PowerShell-скрипта и успешной загрузки Sysmon в ходе выполнения Azure Pipeline. Дополнительная информация о том, как создать собственную конфигурацию со своими модулями, здесь
Помимо документации ниже, есть также видео о том, как использовать этот проект.
Более старые версии по-прежнему доступны в ветках, но не такие полные, как текущая ветка.
Чтобы понять добавленные функции в версиях, загляните в мою небольшую запись в блоге и более новые статьи или посмотрите моё выступление на DerbyCon
Примечание: Я рекомендую использовать минимальное количество конфигураций в вашей среде по нескольким очевидным причинам, таким как: сопровождение, единообразие вывода, управляемость и так далее. Но обязательно создавайте отдельные конфигурации для контроллеров домена, серверов и рабочих станций.
Я настоятельно рекомендую изучить конфигурации перед внедрением их в вашей производственной среде. Это позволит вам получить максимально полезное журналирование и как можно меньше шума.
Вам нужно будет установить конфигурацию и понаблюдать за её результатами в вашей собственной среде, прежде чем разворачивать её повсеместно. Например, вам потребуется исключить действия вашего антивируса, поскольку в противном случае он, скорее всего, заполнит ваши журналы бесполезной информацией.
$> git clone https://github.com/olafhartong/sysmon-modular.git
$> cd sysmon modular
$> . .\Merge-SysmonXml.ps1
$> Merge-AllSysmonXml -Path ( Get-ChildItem '[0-9]*\*.xml') -AsString | Out-File sysmonconfig.xml
Приведённые ниже функции с огромной благодарностью mbmy
Новая функция:
Find-RulesInBasePath — принимает базовый путь (например, C:\folder\sysmon-modular) и находит все файлы правил XML-кандидаты на основе regex-шаблона
Пример:
PS C:\Users\sysmon\sysmon-modular> Find-RulesInBasePath -BasePath C:\users\sysmon\sysmon-modular\ -OutputRules | Out-File available_rules.txt
Новые параметры Merge-AllSysmonXml:
-BasePath — находит все файлы правил XML-кандидаты по заданному пути на основе regex-шаблона и объединяет их
Пример:
PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\
-ExcludeList — в сочетании с -BasePath принимает список правил и исключает их из найденных правил до объединения
Пример:
PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -ExcludeList C:\users\sysmon\sysmon-modular\exclude_rules.txt
-IncludeList — в сочетании с -BasePath находит все доступные правила из базового пути, но объединяет только те, что указаны в списке
Пример:
PS C:\Users\sysmon\sysmon-modular> Merge-AllSysmonXml -AsString -BasePath C:\Users\sysmon\sysmon-modular\ -IncludeList C:\users\sysmon\sysmon-modular\include_rules.txt
ПРИМЕЧАНИЕ BasePath должен быть полным путём к файлам sysmon-modular (например, c:\tools\sysmon-modular), в противном случае PowerShell не сможет их найти, и в результате будет создана конфигурация по умолчанию.
Пример формата списка включения/исключения:
3_network_connection_initiated\include_native_windows_tools.xml
12_13_14_registry_event\exclude_internet_explorer_settings.xml
12_13_14_registry_event\exclude_webroot.xml
17_18_pipe_event\include_winreg.xml
19_20_21_wmi_event\include_wmi_create.xml
2_file_create_time\exclude_chrome.xml
3_network_connection_initiated\include_native_windows_tools.xml
3_network_connection_initiated\include_ports_proxies.xml
8_create_remote_thread\include_general_commment.xml
8_create_remote_thread\include_psinject.xml
9_raw_access_read\include_general_commment.xml
Создание конфигурации со всеми правилами sysmon-modular для определённых идентификаторов событий (включение целого каталога) с последующим отключением всех идентификаторов событий без импортированных правил
Пример:
# generate the config
$sysmonconfig = Merge-AllSysmonXml -BasePath . -IncludeList $workingFolder\include.txt -VerboseLogging -PreserveComments
# flip off any rule groups where rules were not imported
foreach($rg in $sysmonconfig.SelectNodes("/Sysmon/EventFiltering/RuleGroup [*/@onmatch]"))
{
$ruleNodes = $rg.SelectNodes("./* [@onmatch]")
if( $ruleNodes -eq $null `
-or $ruleNodes.ChildNodes.count -gt 0)
{
# no rule nodes found (unlikely) or more than one rule found
continue
}
# RuleGroup with only one rule node
$ruleNode = $ruleNodes[0]
if($ruleNode.onmatch -eq "exclude" -and $ruleNode.ChildNodes.count -eq 0 )
{
$message = "{0} {1} has no matching conditions. Toggled to 'include' to limit output" -f $ruleNode.Name,$rg.Name
Write-Warning $message
$ruleNode.onmatch = "include"
$comment = $sysmonconfig.CreateComment($message)
$rg.AppendChild($comment) | Out-Null
}
}
Пример формата списка включения/исключения (для целых семейств правил/событий):
1_process_creation
5_process_ended
11_file_create
23_file_delete
7_image_load
17_18_pipe_event
Запускайте с правами администратора
sysmon.exe -accepteula -i sysmonconfig.xml
Запускайте с правами администратора
sysmon.exe -c sysmonconfig.xml
Это новая функция, созданная cnnrshd
Конфигурации, созданные с помощью этого скрипта, сохраняют комментарии, и обеспечивается правильный отступ XML, что повышает читаемость и упрощает перекрёстные ссылки на файлы правил
пример команды
python merge_sysmon_configs.py config_lists/default_list/default_list.csv -f csv -b templates/sysmon_template.xml -o test.xml
** Этот способ создания конфигураций всё ещё новый и экспериментальный. Поддержки пользовательских версий, таких как MDE augment и версии только с исключениями, пока нет.
Существует три основные конфигурации Sysmon:
@SwiftOnSecurity: отличное вводное руководство по многим настройкам. Начните с одной команды https://github.com/SwiftOnSecurity/sysmon-config/.
@cyb3rops: форк SwiftOnSecurity, современный и проактивный. **https://github.com/Neo23x0/sysmon-config
@olafhartong: этот репозиторий, который делает упор на удобство сопровождения и содержит подробные примечания к правилам для направленного реагирования и SIEM.
Отличное руководство сообщества от @Carlos_Perez: https://github.com/trustedsec/SysmonCommunityGuide
Будем очень признательны за пул-реквесты / тикеты и новые дополнения!
Я начал серию записей в блоге, посвящённых этому репозиторию;
Дешёвые суперспособности обнаружения на конечных точках — часть 2 — развертывание и обслуживание
Дешёвые суперспособности обнаружения на конечных точках — часть 3 — вмешательство в Sysmon
Я стремлюсь сопоставлять все конфигурации с платформой ATT&CK везде, где Sysmon способен это обнаружить. Обратите внимание, что это возможная запись журнала, которая может привести к обнаружению; не во всех случаях это единственная телеметрия для данной техники. Кроме того, с этим правилом могут быть связаны и другие техники; указанная — та, которую я счёл наиболее вероятной.
| Тип | Конфигурация | Описание |
|---|
| по умолчанию | sysmonconfig.xml | Это сбалансированная конфигурация, наиболее часто используемая, подробнее здесь |
| по умолчанию+ | sysmonconfig-with-filedelete.xml | Это сбалансированная конфигурация, наиболее часто используемая, дополнительная информация, включая сохранение файлов FileDelete |
| подробная | sysmonconfig-excludes-only.xml | Это очень подробная конфигурация, включающая все события; применяются только модули исключений. Не следует использовать в производственной среде без проверки — будет генерироваться значительный объём данных, что может повлиять на производительность. Подробнее здесь |
| сверхподробная | sysmonconfig-research.xml | Конфигурация с экстремальной подробностью. Ожидаемый объём журналов от этого файла крайне высок. ДЕЙСТВИТЕЛЬНО НЕ ИСПОЛЬЗУЙТЕ В ПРОИЗВОДСТВЕ! Эта конфигурация только для исследований, она будет потреблять значительно больше CPU/памяти. Включайте её только перед запуском исследуемой техники, а когда закончите, загрузите более лёгкую конфигурацию. |
| MDE augment | sysmonconfig-mde-augmentation.xml | Конфигурация для дополнения Defender for Endpoint, предназначенная для обогащения информации и максимального избегания пересечений. Она основана на конфигурации по умолчанию/сбалансированной и не будет генерировать все события Sysmon; в конфигурации есть комментарии. В интересах IR рассмотрите возможность использования конфигурации только с исключениями и приёма только обогащающих событий. (Блог с более подробным обоснованием скоро появится) |