Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для volodin661
6791 / 2288 / 348
Регистрация: 10.12.2013
Сообщений: 7,897

Очень Богатый Мониторинг Событий на базе SYSMON 15 ( от Марка нашего Русиновича )

11.04.2025, 01:25. Показов 1830. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всегда много вопросов по теме как отследить событие ( Создание файла, Удаление файла, Запуск процесса, Завершение процесса, Установление сетевого соединения, Завершение соединения, изменение реестра, итд ).

Вот богатый список мониторинга возможных событий с помощью сервиса Sysmon Русиновича:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
ID      Tag                     Event
1       ProcessCreate           Process Create
2       FileCreateTime          File creation time
3       NetworkConnect          Network connection detected
4       n/a                     Sysmon service state change (cannot be filtered)
5       ProcessTerminate        Process terminated
6       DriverLoad              Driver Loaded
7       ImageLoad               Image loaded
8       CreateRemoteThread      CreateRemoteThread detected
9       RawAccessRead           RawAccessRead detected
10      ProcessAccess           Process accessed
11      FileCreate              File created
12      RegistryEvent           Registry object added or deleted
13      RegistryEvent           Registry value set
14      RegistryEvent           Registry object renamed
15      FileCreateStreamHash    File stream created
16      n/a                     Sysmon configuration change (cannot be filtered)
17      PipeEvent               Named pipe created
18      PipeEvent               Named pipe connected
19      WmiEvent                WMI filter
20      WmiEvent                WMI consumer
21      WmiEvent                WMI consumer filter
22      DNSQuery                DNS query
23      FileDelete              File Delete archived
24      ClipboardChange         New content in the clipboard
25      ProcessTampering        Process image change
26      FileDeleteDetected      File Delete logged
27      FileBlockExecutable     File Block Executable
28      FileBlockShredding      File Block Shredding
29      FileExecutableDetected  File Executable Detected
Как можно понять из списка, основной целевой аудиторией SYSMON являются админы инф. безопасности.
Но и простому пользователю есть где разгуляться, если у него есть привилегии и правительственные награды.
Пойманные события фиксируются в EventLog со всеми вытекающими возможностями, которыми powershell явно обладает.

Конфигурируются события с помощью XML-файла где для каждого события из таблицы выше существует своя XML-схема

Пример:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<Sysmon schemaversion="4.82">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
    <!-- Log all drivers except if the signature -->
    <!-- contains Microsoft or Windows -->
    <DriverLoad onmatch="exclude">
      <Signature condition="contains">microsoft</Signature>
      <Signature condition="contains">windows</Signature>
    </DriverLoad>
    <!-- Do not log process termination -->
    <ProcessTerminate onmatch="include" />
    <!-- Log network connection if the destination port equal 443 -->
    <!-- or 80, and process isn't InternetExplorer -->
    <NetworkConnect onmatch="include">
      <DestinationPort>443</DestinationPort>
      <DestinationPort>80</DestinationPort>
    </NetworkConnect>
    <NetworkConnect onmatch="exclude">
      <Image condition="end with">iexplore.exe</Image>
    </NetworkConnect>
  </EventFiltering>
</Sysmon>
Примеры реальных конфиг. файлов занимают с десяток(!) тысяч строк и это уже не шуточки.
см. ниже в ссылках


Refs:
https://learn.microsoft.com/en... mon#events
https://habr.com/ru/companies/... es/352692/
ПРИМЕРЫ И ОПИСАНИЯ РАЗЛИЧНЫХ СХЕМ КОНФИГ. ФАЙЛОВ
https://github.com/trustedsec/... uration.md

Добавлено через 10 минут
И что совсем интересно -
SYSMON расправил плечи, разорвал околоплодный пузырь Windows и реализован сейчас также и для Linux.
2
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.04.2025, 01:25
Ответы с готовыми решениями:

Рабочие столы Марка Русиновича
Скачал утитлиту Марка Русиновича Desctop2. Запустил. а потом удалил. Теперь не могу вернуться на...

Обновление Sysmon
Добрый день! В организации развернут sysmon 8, все отлично работает передает на WEC все события....

Периодические зависания сервера. Постоянные запросы на подключения с другого нашего сервера по админским логином
Подскажите пожалуйста. Столкнулся с такой проблемой: Периодические зависания сервера(где то раз в...

5
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,241
11.04.2025, 16:39
Цитата Сообщение от volodin661 Посмотреть сообщение
Всегда много вопросов по теме как отследить событие ( Создание файла, Удаление файла, Запуск процесса, Завершение процесса, Установление сетевого соединения, Завершение соединения, изменение реестра, итд ).
Кроме состояния соединения, всё остальное умеет стандартный аудит винды. Сусмон применяется, когда требуется смотреть на нюансы: обращение только к конкретному каталогу, выполнение определённых команд с определёнными параметрами и т.п. Или когда у вас нет доступа\знаний для настройки групповых политик.
0
 Аватар для volodin661
6791 / 2288 / 348
Регистрация: 10.12.2013
Сообщений: 7,897
11.04.2025, 17:07  [ТС]
Alli_Lupin,
ну видно же, sysmon ныне продукт другой категории. совсем другой.

поэтому и создал тему.

'Нюансы' .. это не нюансы, дьявол кроется в мелочах.

Любопытно практическую отзывчивость проверить, но Windows пока под руками нет.

Добавлено через 3 минуты
и эти забавные фичи: отследить clipboard event и восстановить удаленные файлы
0
5042 / 1069 / 149
Регистрация: 29.01.2013
Сообщений: 6,241
13.04.2025, 12:32
volodin661, на производительность влияет меньше, чем включённый файловый аудит самой винды)
Цитата Сообщение от volodin661 Посмотреть сообщение
и эти забавные фичи
о, да, там много чего забавного) главное понимать, что и зачем тебе нужно)
0
 Аватар для volodin661
6791 / 2288 / 348
Регистрация: 10.12.2013
Сообщений: 7,897
13.04.2025, 16:50  [ТС]
Цитата Сообщение от Alli_Lupin Посмотреть сообщение
главное понимать, что и зачем тебе нужно
Вот я и не понимаю, к чему относятся твои комментарии и что тебе нужно до меня донести.
0
 Аватар для volodin661
6791 / 2288 / 348
Регистрация: 10.12.2013
Сообщений: 7,897
14.04.2025, 14:33  [ТС]
Продолжаем разговор.
точнее, возвращаемся вот к этой точке Sysmon for Linux:

https://github.com/microsoft/SysinternalsEBPF

термин eBPF - это технология динамического ( налету ) исполнения общечеловеческого пользовательского кода внутри ядра Linux; действительно, прям там, в ядре(!), никуда оттуда не вылезая.
Большая шумиха, надо отметить, аж документальные фильмы снимают про eBPF с дикаприо в главной роли, чтобы население не скучало. https://www.youtube.com/watch?v=Wb_vD3XZYOA . Парень с плохим английским на отметке 3мин10сек, alexey starovoitov из компании Meta, рассказывает, что это он, он всё придумал. с товарищами по несчастью.

Немного подробней про технологию.

1) Пишется код на приятном тебе языке. скажем, Python
hello.py
Python
1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/python
from bcc import BPF
program = r"""
    int hello(void *ctx) {
        bpf_trace_printk("Hello World!");
return 0; }
"""
    b = BPF(text=program)
    syscall = b.get_syscall_fnname("execve")
    b.attach_kprobe(event=syscall, fn_name="hello")
    b.trace_print()
2) затем обрабатывается специальным компилятором.
Этот компилятор выдерет из текста выше С-ишный код,
откомпилирует его компилятором 'C' и данный кусок будет обрабатываться в ядре, а оставшаяся часть - это общечеловеческий
Питон, который при исполнении загрузит в ядро ядрёную часть, а сам останется жить-поживать в User-space, принимая ядерные результаты работы

ядрёный код
C
1
2
3
int hello(void *ctx) {
        bpf_trace_printk("Hello World!");
return 0; }
user-space код
Python
1
2
3
4
5
from bcc import BPF
b = BPF(text=program)
syscall = b.get_syscall_fnname("execve")
b.attach_kprobe(event=syscall, fn_name="hello")
b.trace_print()



Исполнение:
Bash
1
./hello.py
В результате ты увидишь на экране следующее ( и это не дикаприо ) :
Code
1
b'     bash-5412    [001] .... 90432.904952: 0: bpf_trace_printk: Hello World'
То есть ( см. userspace код выше ) :
  • в 3-ей строке питоновской части кода мы прицепились к событию ядра 'execve',
  • В 4-ой строке мы уточнили, что для создаваемый процесс процесс через сист. вызов 'execve' должен иметь имя 'hello'

и при исполнении из шелла ./hello.py тут же получили желаемый результат: " процесс по имени bash с pid 5412 использовал системный вызов execve

Пару слов ещё про 'C'-часть кода, которая уходит для исполнения в kernel.
Просто так ей уйти в ядро никто не даст, сначала её пропустят через верификатор/профайлер, чтобы удостовериться,
что никаких 'плохих' вызовов в ней нет, что шансов застрять и вертеться в каком-нибудь своём цикле тоже нет и.т.п.

И пару слов про двоичный код, который реально уходит в kernel.
Тот специальный компилятор ( его название bcc и это LLVM ), который обрабатывает 'C' код, имеет на выходе eBPF-bytecode
и этот код вертится в ядре в eBPF-виртуальной машине.


Но это всё в Linux.

А что же Windows ?
А в windows, если вернуться к sysmon, можно предположить, что там по-старинке использует недокументированные( нарытые в молодости Марком Русиновичем ) вызовы ядерного API, плюс теперь уже и документированные вызовы, но всё равно, ведь, по схеме:
Userspace -> | туды-сюды, сюды-туды| <-Kernelspace.

А если реализовать eBPF, но для Windows ?

Таки говорят, что работа кипит !!!! https://scorpiosoftware.net/20... r-windows/
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.04.2025, 14:33
Помогаю со студенческими работами здесь

Я очень сильно запустил свой ПК,посоветуйте что нибудь т.к. очень сильно тормозит
Сильно запустил свой ПК,при включении приходится ждать около часа чтобы не лагал так сильно,при...

Очень медленно работает скрипт с журналом событий, это нормально?
Всем доброго! Только начал работать на PowerShell, возникла не преодолимая необходимость....

Мониторинг сервера win2003
Есть в домене сервер win 2003 ему присвоена одна роль файлового сервера, приблизительно раз в...

Мониторинг файлов
Добрый день. Для начала опишу задачу. Есть некая директория, в которой при определенных действиях...

Мониторинг за состоянием СЕРВЕРОВ,подскажите средства
Необходимо средство следящие за состоянием серверного оборудования под управлением...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru