osquery 按需 yara 扫描错误:没有这样的列:模式

问题描述

我正在尝试使用“模式”约束在 osqueryi 中运行按需 yara 扫描,但该列不存在并且在下面出现错误。我是否遗漏了有关如何使用模式约束的内容

select * from yara where pattern="/bin/%sh" and sig_group="sig_group_1";
Error: no such column: pattern

在这里引用我遵循的 osquery yara 文档: https://osquery.readthedocs.io/en/stable/deployment/yara/

osquery> SELECT * FROM yara WHERE pattern="/bin/%sh" AND sigfile="/Users/wxs/sigs/baz.sig";
+-----------+---------+-------+-----------+-------------------------+----------+
| path      | matches | count | sig_group | sigfile                 | pattern  |
+-----------+---------+-------+-----------+-------------------------+----------+
| /bin/bash |         | 0     |           | /Users/wxs/sigs/baz.sig | /bin/%sh |
| /bin/csh  |         | 0     |           | /Users/wxs/sigs/baz.sig | /bin/%sh |
| /bin/ksh  |         | 0     |           | /Users/wxs/sigs/baz.sig | /bin/%sh |
| /bin/sh   |         | 0     |           | /Users/wxs/sigs/baz.sig | /bin/%sh |
| /bin/tcsh |         | 0     |           | /Users/wxs/sigs/baz.sig | /bin/%sh |
| /bin/zsh  |         | 0     |           | /Users/wxs/sigs/baz.sig | /bin/%sh |
+-----------+---------+-------+-----------+-------------------------+----------+
osquery>

yara 的表模式也没有“模式”列: https://osquery.io/schema/4.8.0/#yara

解决方法

那些链接的文档似乎已过时。正如您所指出的,没有 pattern 列。

看起来您应该可以在 path 上使用模式。来自源代码中的 examples

select * from yara where path LIKE '/etc/%'

(我不使用yara,无法轻易确认)