最后更新于2023年12月29日(星期五)21:19:45 GMT

Written by博士. 迈克尔·科恩

σ的支持, ETW多路复用, 本地加密存储和新的VQL功能突出了2023年的最新版本

Rapid7兴奋地宣布,版本0.7.迅猛龙1号是实时的,可以下载.  There are several new features 和 capabilities that add to the power 和 efficiency of this open-source digital forensic 和 incident response (DFIR) platform.

在这篇文章中,Rapid7数字古生物学家. Mike Cohen讨论了一些令人兴奋的新功能.

GUI的改进

GUI在此版本中进行了更新,以改进用户工作流和可访问性.

笔记本的改进

迅猛龙广泛使用笔记本来促进协作和后期处理. 目前笔记本有三种类型:

  1. Global Notebooks - these are available from the GUI sidebar 和 can be shared with other users for a collaborative workflow.
  2. Collection notebooks - these are attached to specific collections 和 allow post processing the collection results.
  3. 狩猎笔记本-附加到狩猎,并允许从狩猎收集数据的后期处理.

This release further develops the Global notebooks workflow as a central place for collecting 和 sharing analysis results.

模板化的笔记本

许多用户大量使用笔记本来组织他们的调查,并指导用户收集什么. While Collection notebooks 和 Hunt notebooks can already include templates there was no way to customize the default Global notebook.

在本新闻稿中, we define a new type of Artifact of type NOTEBOOK which allows a user to define a template for global notebooks.

在本例中,我将创建这样一个模板来帮助用户收集有关客户机的服务器信息. I click on the artifact editor in the sidebar, then select Notebook Templates from the search screen. 然后编辑内置的笔记本. 默认的工件.

添加新的笔记本模板

我可以在笔记本中定义多个单元格. 单元格的类型可以是vql、markdown或vql_suggestion. 我通常使用标记单元格为用户编写如何使用我的笔记本的说明, 而VQL单元格可以运行诸如计划收集或预设搜索之类的查询.

接下来,我选择侧边栏中的Global notebooks,然后单击New Notebook按钮. 这将弹出一个向导,允许我创建一个新的全局笔记本. 在填写笔记本的名称并选择与哪个用户共享之后, 我可以为这个笔记本选择模板.

添加新的笔记本模板

我可以看到我新添加的笔记本模板,并选择它.

从模板查看笔记本

复制笔记本单元格

在这个版本中,伶盗龙允许从任何笔记本复制一个单元到全局笔记本. 这简化了用户可以过滤的工作流, post-process 和 identify interesting artifacts in various hunt notebooks or specific collection notebooks, 然后将后处理单元复制到中央Global笔记本中进行协作.

对于下一个示例,我收集服务器工件server.信息.客户端和后处理结果在笔记本中按操作系统计数不同的客户端.

对集合的结果进行后处理

现在我对这个查询很满意, 我想复制单元格到我的管理笔记本,我之前创建的.

将单元格复制到全局笔记本

然后,我可以选择将单元格复制到哪个Global笔记本中.

复制的单元格仍然引用旧集合

伶盗龙 will copy the cell to the target notebook 和 add VQL statements to still refer to the original collection. 这允许全局笔记本的用户在需要时进一步细化查询.

此工作流允许用户之间更好地协作.

VFS下载

伶盗龙的VFS视图是端点文件系统的交互式视图. Users can navigate the remote filesystem using a familiar tree based navigation 和 interactively fetch various files from the endpoint.

在0之前.7.1版本, the user was able to download 和 preview individual files in the GUI but it was difficult to retrieve multiple files downloaded into the VFS.

在0年代.7.1版本中,有一个新的GUI按钮来启动从VFS本身的集合. This allows the user to download all or only some of the files they had previously interactively downloaded into the VFS.

例如,考虑下面的屏幕截图,其中显示了下载到VFS中的几个文件.

查看VFS

我可以启动VFS的收集. This is a server artifact (similar to the usual File Finder artifacts) that simply traverses the VFS with a glob uploading all files into a single collection.

初始化VFS收集

使用glob,我可以选择检索具有特定文件名模式的文件.g. 仅可执行文件)或所有文件.

检查VFS收集

Finally the GUI shows a link to the collected flow where I can inspect the files or prepare a download zip just like any other collection.

新的VQL插件和功能

这个版本引入了一个令人兴奋的新功能:内置Sigma支持.

内置Sigma支持

Sigma正迅速成为编写和分发检测的流行标准. Sigma was originally designed as a portable notation for multiple backend SIEM products: 检测s expressed in Sigma rules can be converted (compiled) into a target SIEM query language (for example into Elastic queries) to run on the target SIEM.

伶盗龙 is not really a SIEM in the sense that we do not usually forward all events to a central storage location where large queries can run on it. 相反,伶盗龙的理念是将查询带到端点本身.

在迅猛龙, Sigma规则可以直接用于端点, 而不需要首先将所有事件从系统转发出去! 这使得Sigma成为初始分类的强大工具:

  • 在本地事件日志文件上应用大量Sigma规则.
  • 这些规则会立即引发潜在的恶意活动,以供进一步审查.

这可以快速而大规模地完成,以便在红外期间缩小潜在感兴趣的主机. 在视频中可以看到这种方法的一个很好的演示 快速盗龙的现场事件响应 where Eric Capuano uses the Hayabusa tool deployed via 伶盗龙 to quickly identify the attack techniques evident on the endpoint.

以前我们只能通过绑定隼鸟工具在迅猛龙中应用Sigma规则, 它呈现了一套精心策划的Sigma规则,但在本地运行. 在这个版本中,Sigma匹配在迅猛龙中是本地完成的,因此 迅猛龙σ project simply curates the same rules that Hayabusa curates but does not require the Hayabusa binary itself.

你可以阅读全文 在迅猛龙里 详细描述此功能的博客文章, 但在这里,我将快速展示如何使用它来取得巨大的效果.

First I will import the set of curated Sigma rules from the 迅猛龙σ project by collecting the Server.进口.CuratedSigma服务器工件.

得到策划的西格玛规则

这将用最新的Sigma规则向我的系统导入一个新的工件, 分成不同的地位, 规则等级等. 对于本例,我将选择临界级别的稳定规则.

从端点收集规则

启动集合后, 工件将返回所有匹配规则及其相关事件. 这是一个快速的工件,在我的测试系统上花费不到一分钟. 我立即看到有趣的点击.

检测临界电平规则

使用Sigma规则进行实时监控

Sigma规则不仅可以用于日志文件. The 迅猛龙σ project also provides monitoring rules that can be used on live systems for real time monitoring.

The 伶盗龙 Hayabusa Live 检测 option in the Curated import artifact will import an event monitoring version of the same curated Sigma rules. 在使用GUI将规则添加到客户端的监控规则之后, 我可以收到有趣的事件匹配规则:

现场检测Sigma规则

其他改进

SSH / SCP访问器

迅猛龙通常在端点上运行,可以直接从端点收集证据. 然而, many devices on the network can not install an endpoint agent - either because the operating system is not supported (for example embedded versions of Linux) or due to policy.

当我们需要调查这样的系统时,我们通常只能通过SSH访问它们。. 在0年代.7.1版本, 伶盗龙 has an ssh accessor which allows all plugins that normally use the filesystem to transparently use SSH instead.

例如,考虑搜索文件的glob()插件.

通过SSH对文件进行Globing

我们可以指定glob()使用ssh访问器访问远程系统. 通过设置SSH_CONFIG VQL变量, the accessor is able to use the locally stored private key to be able to authenticate with the remote system to access remote files.

We can combine this new accessor with the remapping feature to reconfigure the VQL engine to substitute the auto accessor with the ssh accessor when any plugin attempts to access files. 这允许我们透明地使用访问本地文件的相同工件, 但这次transparent将通过SSH访问这些文件:

用ssh重新映射auto访问器

这个示例展示了如何使用SSH访问器来调查debian系统并收集Linux.Debian.包通过SSH从它生成.

分布式笔记本处理

而迅猛龙是非常高效和快速的, 并且可以支持大量的端点连接到服务器, 许多用户告诉我们,在繁忙的服务器上, 运行笔记本查询会影响服务器性能. 这是因为一个笔记本的查询可能是非常激烈的.g. Sorting or Grouping a large data set) 和 in the default configuration the same server is collecting data from clients, 执行搜索, 同时运行笔记本查询.

这个版本允许笔记本处理器在另一个进程中运行. 在多前端配置(也称为主/随从配置), 仆从节点现在将提供从主节点执行笔记本查询. This allows this sudden workload to be distributed to other nodes in the cluster 和 improve server 和 GUI performance.

ETW多路复用

以前对Windows事件跟踪(ETW)的支持是初级的. Each query that called the watch_etw() plugin to receive the event stream from a particular provider created a new ETW session. 由于系统上的ETW会话总数限制为64个,因此使用了宝贵的资源.

In 0.7.1 the ETW subsystem was overhauled with the ability to multiplex many ETW watchers on top of the same session. ETW会话是根据需要创建和销毁的. 这使我们能够更有效地跟踪更多的ETW供应商,对系统的影响最小.

Additionally the etw_sessions() plugin can show statistics for all sessions currently running including the number of dropped events.

工件可以隐藏在GUI中

迅猛龙自带大量的内置器物. 这可能会让新用户和管理员感到困惑,因为他们可能希望在GUI中隐藏工件.

现在,您可以使用artifact_set_metadata() VQL函数在GUI中隐藏工件. 例如,下面的查询将隐藏名称中没有Linux的所有工件.

现在在GUI中只有Linux相关的工件是可见的.

从GUI中隐藏工件

客户端的本地加密存储

It is sometimes useful to write data locally on endpoints instead of transferring the data to the server. 例如, 如果客户端长时间不连接到Internet,则在本地写入数据是有用的. 同样有用的是写入数据,以防我们希望在以后的调查期间恢复它.

The downside of writing data locally on the endpoints is that this data may be accessed if the endpoint is later compromised. 如果数据包含敏感信息,则可能被攻击者使用. 这也是伶盗龙不在端点上写入日志文件的主要原因. 不幸的是,这使得调试问题变得困难.

0.7.1版本引入了安全的本地日志文件格式. 这允许伶盗龙客户端以一种安全的方式写入本地磁盘. 一旦写入,数据只能由服务器解密.

虽然任何数据都可以写入加密的本地文件,但通用的.客户端.LocalLogs工件允许在运行时写入伶盗龙客户端日志.

编写本地日志

要读取这些本地存储的日志,我可以使用Generic获取它们.客户端.LocalLogsRetrieve构件来检索加密的本地文件. 该文件使用服务器的公钥加密,并且只能在服务器上解密.

检查上传的加密本地文件

一旦在服务器上, I can decrypt the file using the collection’s notebook which automatically decrypts the uploaded file.

解密加密的本地文件

结论

版本中有更多的新特性和bug修复.7.1版本. 如果您对这些新功能感兴趣,我们欢迎您乘坐迅猛龙进行旋转 从我们的发布页面下载. 它可以在GitHub上根据开源许可免费获得.

一如既往地, 请在GitHub问题跟踪器上提交错误,或通过电子邮件向我们的邮件列表提交问题 velociraptor-discuss@googlegroups.com. 你也可以直接在我们的 不和服务器.