问题标签 [osquery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 使用另一个表中的变量循环 SQL 查询
我有两个表文件和用户,我想查看每个用户的文件信息C:\Users\%USERNAME%\Documents
因此,例如,这将从“示例”文档中获取信息:
但是用户名来自用户
返回
或者,有:
它提供了路径的第一部分,但仍然无法将“文档”加入查询结束并运行文件查询。
那么,我如何遍历每个用户名。
我试过修改,但两个表都不能修改
wix - 无法从 WiX 创建的 MSI 卸载程序
在使用 WiXToolSet 制作的 MSI 安装 osquery 后(使用 osquery 提供的脚本),我尝试卸载它,但失败了。它也没有在 appwiz 中显示为程序。(链接到脚本 - https://github.com/osquery/osquery/blob/master/tools/deployment/make_windows_package.ps1)
我试过同时使用 MSI 本身 -osquery.msi /uninstall
和 unsintall 字符串 - msiexec /I{'uninstallstring'}
。我还尝试使用该/fv
选项进行修复。
与 WiX 一起使用的脚本创建 MSI 的代码:
尝试使用 MSI 卸载时,我看到以下消息:
This patch package could not be opened. Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package
尝试使用卸载字符串时,我看到此消息:
This action is only valid for products that are currently installed
inotify - osquery inotify 是否在目录或文件上安装观察程序
我正在使用osquery来监视文件和文件夹,以获取有关这些文件的任何操作的事件。osquery 配置有一个特定的语法:
"/etc/"
:以 1 的深度监视整个目录。"/etc/%"
:以 1 的深度监视整个目录。"/etc/%%"
:以根为根递归地观察整个树/etc/
。
在观看大量目录的情况下,我正在尝试评估内存使用情况。在这个过程中,我发现了以下统计数据:
"/etc"
,"/etc/%"
,"/etc/%.conf"
: 只找到 1 个 inotify 句柄注册在 osquery 名下。"/etc/%%
: 发现比289
inotify句柄多几个注册在osquery的名字下,因为树下总共有285个目录。检查 中的条目时/proc/$PID/fdinfo
,文件中列出的所有 inode 都指向文件夹。
例如:对于"/etc/%.conf"
inotify 监视在这里建立在整个目录上,但仅针对匹配的文件报告事件/etc/*.conf
。osquery 是否根据file_paths
提供的事件过滤事件,这是我假设的,但不确定。
我为支持上述主张而进行的另一个实验是,使用inotify(7)中的源代码并在特定文件上运行观察程序。当我检查 inotify 观察者列表时,它只显示:
因此,根据这个实验,在单个文件上建立一个观察者是可能的(这在 inotify 手册页中很清楚)。这支持了 osquery 正在根据提供的文件模式进行某种过滤的说法。
有人可以核实索赔或以其他方式提出吗?
我的 osquery 配置:
osquery - 如何在 Windows 中将 osquery 的控制台结果保存为 csv 或 excel
我正在使用 OSQUERY,我想将 osquery 的结果作为 excel 或 csv 保存到特定文件中。
我正在尝试以下但没有得到我想要的
$ 猫 res.json
{"build_distro":"10.12","build_platform":"darwin","config_hash":"e7c68185a7252c23585d53d04ecefb77b3ebf99c","config_valid":"1","extensions":"inactive","instance_id":"38201952-9a75- 41dc-b2f8-188c2119cda1","pid":"26255","start_time":"1552676034","uuid":"4740D59F-699E-5B29-960B-979AAF9BBEEB","version":"3.3.0","观察者":"-1"} ]
当我触发以下查询时
我想将此输出保存到 excel 或 csv 中。
metadata - 如何查看 osquery 架构描述?
我对运行 osqueryi.exe 时可以看到的一些可用表感到好奇。
我有这些桌子。
...
然后我想知道其中的一些,例如我在这里查找了进程表的来源。
那里有一堆描述,架构命令没有显示......问题是......有没有办法查看似乎在源代码中的元数据?
apache-kafka - 差异 osquery 查询输出到“catchall”主题
我正在使用osquery来监控我网络上的服务器。以下内容osquery.conf
每分钟捕获通过网络端口进行通信的进程的快照,并将该数据发布到 Kafka:
这是查询的输出示例:
而不是快照,我希望 osquery 捕获差异,即仅将更改发布到 Kafka。
我尝试将快照属性从真切换为假。我的期望是 osquery 会发送更改。出于某种原因,当我设置 时"snapshot": false
,没有数据发布到process-port
主题。相反,所有数据都被路由到 catchall base_topic
。
你能看出我做错了什么吗?
更新:
我想我遇到了这个错误:https ://github.com/osquery/osquery/issues/5559
这是一个视频演练:https ://youtu.be/sPdlBBKgJmY
我提交了一份错误报告,其中包含重现步骤,以防不是同一个问题:https ://github.com/osquery/osquery/issues/5890
osquery - memory_map 在 Linux 中没有给出预期的结果
Linux 系统上的查询.all memory_map
给出了意外的结果,因为所有属性的 start memory location =0x00000000
以及 end memory location = 0x00000000
。只是看起来很奇怪吗?
操作系统: Kali Linux
osquery 版本: 4.0.2(当前)
CLI 上代码的准确复制是:
这给出了相同的结果:
的输出osqueryi
只是一条消息,表明它正在使用虚拟数据库,如下所示。
Using a virtual database. Need help, type '.help'
的输出.all memory_map
如下:
inotify - 对多级模式使用 osquery 通配符
我正在使用 osquery v4.1.1 来监视 ubuntu 机器上的文件事件。
我正在尝试以/etc/
递归方式查看目录中的所有文件,该文件的扩展名.conf
使用以下通配符:/etc/%%/%.conf
. 但是,它还会报告/etc/
. 如果我创建一个文件/etc/foo
,它会为该CREATED
事件和其他人创建一个文件事件。
重新生成的最小配置:
这些是我做的时候得到的文件事件touch /etc/foo
。
问题 :
- 甚至是
/etc/%%/%.conf
有效且可用的通配符? - 如果没有,有没有办法实现所需的手表?
- 如果是,为什么不根据 glob 过滤事件?
我可以找到以下函数:filesystem.cpp#replaceGlobWildcards()但除了尝试提取没有通配符的基本路径之外,我无法理解它到底在做什么。
另外,我知道它使用fnmatch,但它如何将类似 SQL 的模式转换为 fnmatch 兼容表达式。
logging - 如何根据 osquery.conf 文件中的计划事件分离日志?
是否可以打破 osquery 的结果日志?目前,每个查询都集中在 osqueryd.results.log 中,但我想根据预定事件分解日志记录。我怎样才能做到这一点?
例子:
sql - osquery suid_bin 用于列出所有系统 suid 位集
我必须使用 osquery 列出我的服务器上的所有 suid 集,我假设 suid_bin 应该给我所有 suid 集,但它似乎遗漏了其中一些。我这样使用它:
但是,例如,如果我对 /usr 进行手动检查,我有一些不在我之前的结果中。要手动检查特定文件夹,我使用以下请求:
你能告诉我我在这里做错了什么吗?我现在正在学习 osquery,所以我对它的请求不满意......