darkoperator/SysmonLinux.Util

GitHub: darkoperator/SysmonLinux.Util

用于解析Sysmon for Linux日志的PowerShell模块,支持多类型事件查询并可将结果自动转换为Sysmon配置规则。

Stars: 37 | Forks: 4

# SysmonLinux.Util ## 描述 用于解析 Sysinternals Sysmon for Linux 生成的日志的 PowerShell 模块。该模块可以解析 Linux 系统中的一个或多个 Syslog 文件,并允许搜索符合特定条件的特定事件。该模块还可用于辅助生成过滤规则,基于针对日志执行查询所得到的对象,极大地加快了 Sysmon 配置文件的创建和调优过程。 ## 安装 该模块可从 PowerShell Gallery 获取,在 PowerShell 中可以使用 Install-Module cmdlet 进行安装。 ``` Install-Module -Name SysmonLinux.Util -Force -Verbose ``` ## 函数 该模块提供以下函数: - ConvertTo-SysmonRule - Get-SysmonLinuxConfigChange - Get-SysmonLinuxEvent - Get-SysmonLinuxFileCreate - Get-SysmonLinuxFileDelete - Get-SysmonLinuxNetworkConnect - Get-SysmonLinuxProcessCreate - Get-SysmonLinuxProcessTerminate - Get-SysmonLinuxRawAccess - Get-SysmonLinuxState 该模块允许通过过滤通用字段,在一个或多个事件类型中进行通用搜索,例如: - ProcessGUID - ParentProcessGUID - Image - User 这是通过 **Get-SysmonLinuxEvent** 函数完成的。 ``` PS />Get-SysmonLinuxEvent -EventType Any -ProcessGuid "{de9527a5-6a3f-616f-a52f-d98154560000}" EventId : 1 Version : 5 EventType : ProcessCreate Computer : ubuntu EventRecordID : 35705 RuleName : - UtcTime : 2021-10-20 01:00:47.600 ProcessGuid : {de9527a5-6a3f-616f-a52f-d98154560000} ProcessId : 2356 Image : /usr/sbin/dumpe2fs FileVersion : - Description : - Product : - Company : - OriginalFileName : - CommandLine : dumpe2fs -h /dev/sda5 CurrentDirectory : / User : root LogonGuid : {de9527a5-0000-0000-0000-000000000000} LogonId : 0 TerminalSessionId : 4294967295 IntegrityLevel : no level Hashes : - ParentProcessGuid : {00000000-0000-0000-0000-000000000000} ParentProcessId : 874 ParentImage : - ParentCommandLine : - ParentUser : - EventId : 9 Version : 2 EventType : RawAccessRead Computer : ubuntu EventRecordID : 35706 RuleName : - UtcTime : 2021-10-20 01:00:47.619 ProcessGuid : {de9527a5-6a3f-616f-a52f-d98154560000} ProcessId : 2356 Image : /usr/sbin/dumpe2fs Device : /dev/sda5 User : root EventId : 5 Version : 3 EventType : ProcessTerminate Computer : ubuntu EventRecordID : 35707 RuleName : - UtcTime : 2021-10-20 01:00:47.620 ProcessGuid : {de9527a5-6a3f-616f-a52f-d98154560000} ProcessId : 2356 Image : /usr/sbin/dumpe2fs User : root ``` 可以通过管道指定日志文件,并且可以通过指定一个或多个值来过滤某些字段,也可以使用 * 作为通配符。 ``` PS /> ls syslog* | Get-SysmonLinuxProcessCreate -Image */ping,*/whoami,*/id EventId : 1 Version : 5 EventType : ProcessCreate Computer : ubuntu EventRecordID : 7468 RuleName : - UtcTime : 2021-10-16 04:51:15.156 ProcessGuid : {de9527a5-5a43-616a-312b-c11c7a550000} ProcessId : 8455 Image : /usr/bin/ping FileVersion : - Description : - Product : - Company : - OriginalFileName : - CommandLine : ping 8.8.8.8 -c 2 CurrentDirectory : /home/carlos/Desktop User : carlos LogonGuid : {de9527a5-0000-0000-e803-000001000000} LogonId : 1000 TerminalSessionId : 3 IntegrityLevel : no level Hashes : - ParentProcessGuid : {de9527a5-5a43-616a-f537-ea5ba5550000} ParentProcessId : 8454 ParentImage : /usr/bin/dash ParentCommandLine : /usr/bin/sh ParentUser : carlos ``` 可以使用 PowerShell 进一步过滤生成的对象,并利用 Select-Object cmdlet 将其裁剪为仅包含感兴趣的字段,然后通过管道将其输入到 **ConvertTo-SysmonRule** 中,以构建用于检测或排除已知行为的复合规则。 ``` PS /home/carlos/Desktop> Get-SysmonLinuxRawAccess | select image,device -unique | ConvertTo-SysmonRule /usr/lib/systemd/systemd-logind /dev/sda1 /usr/lib/systemd/systemd-logind /dev/sda /usr/sbin/dumpe2fs /dev/sda5 ```
标签:AI合规, AMSI绕过, EDR, IPv6, Libemu, Libemu, PowerShell, Syslog, Sysmon, Windows 调试器, 事件日志, 取证, 威胁检测, 开源, 网络安全审计, 脆弱性评估, 解析器