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 调试器, 事件日志, 取证, 威胁检测, 开源, 网络安全审计, 脆弱性评估, 解析器