微软发布了非常流行的 Windows 系统监控实用程序的 Linux 版本,允许 Linux 管理员监控设备的恶意活动。

对于那些不熟悉Sysmon (又名系统监视器)的人来说,它是一个 Sysinternals 工具,用于监视系统是否存在恶意活动,然后将任何检测到的行为记录到系统日志文件中。

Sysmon 的多功能性来自于创建自定义配置文件的能力,管理员可以使用这些文件来监视可能表明系统上正在发生恶意活动的特定系统事件。

Sysmon 移植到 Linux

今天,微软的 Mark Russinovich 和 Sysinternals 实用程序套件的联合创始人宣布,微软已经在 GitHub 上发布了 Sysmon for Linux 作为开源 项目。

与 Windows 的 Sysmon 不同,Linux 用户需要自己编译程序并确保他们拥有所有必需的依赖项,并在项目的 GitHub 页面上提供说明。

需要注意的是,要编译 Sysmon,还必须首先安装SysinternalsEBPF 项目。

编译 Sysmon 后,您可以通过键入 来查看帮助文件sudo ./sysmon -h,如下面的屏幕截图所示。

要使用该程序,您首先需要使用以下命令接受最终用户许可协议:

sudo ./sysmon -accepteula

然后,您可以使用以下命令之一在有或没有配置文件的情况下启动 Sysmon:

Without configuration file:sudo ./sysmon -iWith configuration file:sudo ./sysmon -i CONFIG_FILE

要创建您自己的 Sysmon 配置文件,您需要使用./sysmon -s命令来查看当前版本的配置架构并查看可用的指令。

要了解有关创建 Sysmon 配置文件的更多信息,您可以查阅官方文档或以 SwiftOnSecurity 的模板 为例。

启动后,Sysmon 将开始将事件记录到/var/log/syslog文件中。如果您没有指定配置文件来限制记录的内容,您会发现您的 syslog 文件随着新进程的启动和终止而快速增长。

例如,在下面的屏幕截图中,您可以看到一个事件,显示“adduser”命令在我使用它创建新用户后终止。

为了更轻松地过滤特定事件的日志,您可以使用sysmonLogView实用程序来显示您要查找的事件。

下面列出了 Sysmon for Linux 能够记录的当前事件 ID:

1:SYSMONEVENT_CREATE_PROCESS

2:SYSMONEVENT_FILE_TIME

3:SYSMONEVENT_NETWORK_CONNECT

4:SYSMONEVENT_SERVICE_STATE_CHANGE

5:SYSMONEVENT_PROCESS_TERMINATE

6:SYSMONEVENT_DRIVER_LOAD

7:SYSMONEVENT_IMAGE_LOAD

8:SYSMONEVENT_CREATE_REMOTE_THREAD

9:SYSMONEVENT_RAWACCESS_READ

10:SYSMONEVENT_ACCESS_PROCESS

11:SYSMONEVENT_FILE_CREATE

12:SYSMONEVENT_REG_KEY

13:SYSMONEVENT_REG_SETVALUE

14:SYSMONEVENT_REG_NAME

15:SYSMONEVENT_FILE_CREATE_STREAM_HASH

16:SYSMONEVENT_SERVICE_CONFIGURATION_CHANGE

17:SYSMONEVENT_CREATE_NAMEDPIPE

18:SYSMONEVENT_CONNECT_NAMEDPIPE

19:SYSMONEVENT_WMI_FILTER

20:SYSMONEVENT_WMI_CONSUMER

21:SYSMONEVENT_WMI_BINDING

22:SYSMONEVENT_DNS_QUERY

23:SYSMONEVENT_FILE_DELETE

24:SYSMONEVENT_CLIPBOARD

25:SYSMONEVENT_PROCESS_IMAGE_TAMPERING

26:SYSMONEVENT_FILE_DELETE_DETECTED

255:SYSMONEVENT_ERROR

如您所见,其中许多事件不适用于 Linux,例如注册表或 WMI 事件,因此您需要相应地调整配置。

Sysmon 是一种强大的工具,广泛用于 Windows 环境中,作为组织安全工具箱的一部分。

随着 Linux 的加入,一个全新的系统管理员群体可以利用它为恶意活动提供免费的系统监控。