Skip to content

Commit 69bacb5

Browse files
authored
Added release notes for 0.74 RC1 (#1005)
1 parent 6c0dd97 commit 69bacb5

File tree

13 files changed

+791
-15
lines changed

13 files changed

+791
-15
lines changed

.wordlist.txt

+6
Original file line numberDiff line numberDiff line change
@@ -1678,3 +1678,9 @@ FolderPath
16781678
pst
16791679
io
16801680
prem
1681+
1682+
<url-free> content/blog/2025/2025-02-23-release-notes-0.74/_index.md
1683+
--------------------------------------------------------------------------------
1684+
Fibratus
1685+
Verifier
1686+
presumbit
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,235 @@
1+
---
2+
title: "Velociraptor 0.74 Release"
3+
description: |
4+
Velociraptor Release 0.74 is available for testing
5+
6+
tags:
7+
- Release
8+
9+
author: "Mike Cohen"
10+
date: 2025-02-10
11+
noindex: false
12+
---
13+
14+
I am very excited to announce that the latest Velociraptor release
15+
0.74 is now in the release candidate (RC) status and available for
16+
testing.
17+
18+
In this post I will discuss some of the new features introduced by
19+
this release.
20+
21+
## GUI Improvements
22+
23+
This release improves a number of GUI features.
24+
25+
### Notebooks now receive typed parameters
26+
27+
Notebooks can now receive typed parameters and tools. This can be used
28+
to create sophisticated notebooks which utilize external tools and
29+
user parameters for post processing complex results.
30+
31+
For example, consider the new `Sigma Studio` notebook - a specialized
32+
notebook designed to facilitate development of `Sigma` rules.
33+
34+
![Notebook templates can accept parameters](notebook_parameters.svg)
35+
36+
Notebook parameters can be modified at any time, where they are made
37+
available to cells for recalculation. This allows notebook templates
38+
to be interactive.
39+
40+
![Parameters can be modified at any time by pressing the Edit Notebook button](editing_notebook_parameters.svg)
41+
42+
### Expose the debug server to all admin users
43+
44+
Sometimes it is hard to know what is happening within Velociraptor -
45+
this is especially the case when a large collection is made or a
46+
complex query is added to the notebook.
47+
48+
Previously Velociraptor had a debug server which was accessible when
49+
started with the `--debug` flag. The debug server exposes a lot of
50+
internal state in order to help users understand what is going on.
51+
52+
However, adding another command line flag and exposing a new port
53+
requires the server to be restarted which makes it hard to access this
54+
debugging information.
55+
56+
In this release the debug server is always exposed in the GUI.
57+
58+
![Accessing the debug server from the GUI](accessing_debug_server.svg)
59+
60+
The debug server has a lot more interesting pages now. For example the
61+
`Plugin Monitor` page shows which VQL plugins are currently in any
62+
query and what parameters they were given.
63+
64+
![The running plugins show what plugins are currently running in any query](running_plugins.png)
65+
66+
The above shows the `glob()` plugin is currently searching the glob
67+
`C:/Windows/**/*.exe` and had been for 7 seconds. This page provides
68+
visibility as to what plugins are running slower than expected and
69+
what they are doing.
70+
71+
Breaking it down even further the `GlobTracker` page shows the last 10
72+
files visited by the `glob()` plugin. This is often critical to
73+
understanding why a glob operation is slow, as sometimes the plugin
74+
will visit many files and directory which do not match or are on a
75+
remote network drive leading to long delays without evident progress.
76+
77+
![Seeing the last few files visited by the glob plugin above](glob_tracker.png)
78+
79+
There are many other debug pages including `ETW` tracking,
80+
`ExportContainer` tracking the progress of zip export of hunts or
81+
collections, `Client Monitoring Manager` reports status of client
82+
monitoring queries and many more.
83+
84+
{{% notice tip "The debug server is still available with the --debug flag" %}}
85+
86+
While in this release the debug server is always present in the GUI,
87+
the debug server is still available in other contexts as well. You can
88+
still start the debug server on a client with the `--debug` flag and
89+
similarly in the offline collector by starting it with
90+
`VelociraptorCollector.exe -- --debug`
91+
92+
{{% /notice %}}
93+
94+
## Real time detection and monitoring
95+
96+
As Velociraptor is used more and more in real time detection
97+
applications, Velociraptor's detection capabilities are maturing. We
98+
are now using `Sigma` rules in many contexts, not just to triage
99+
Windows Event logs, but also to match real time events from `eBPF` and
100+
`ETW` as well as more traditional forensic artifacts.
101+
102+
### Sigma Studio
103+
104+
Velociraptor's `sigma()` plugin appeared in the previous release and
105+
was improved greatly in this release. Previously Sigma rules were used
106+
primarily for rapid triaging of Windows Events using the `Hayabusa`
107+
rule set. A Curated set of rules are published on the Velociraptor
108+
Sigma site at https://sigma.velocidex.com/ - these rules can be
109+
automatically imported using the
110+
[Server.Import.CuratedSigma](https://docs.velociraptor.app/artifact_references/pages/server.import.curatedsigma/)
111+
artifact.
112+
113+
Previously it was difficult to write and test your own custom Sigma
114+
rules. However in this release we introduced the concept of `Sigma
115+
Models` - a preset collection of `Sigma log sources` that can be used
116+
in particular contexts to write custom rules.
117+
118+
The GUI also introduces a new `Sigma Editor` which is used in the
119+
`Sigma Studio` Notebook Template. These measure make it easy to write
120+
or curate custom Sigma Rules.
121+
122+
To understand how all these components work together, read our new
123+
blog post [Developing Sigma Rules in Velociraptor]({{% ref
124+
"/blog/2025/2025-02-02-sigma/" %}})
125+
126+
### Linux eBPF support
127+
128+
Live detection using Sigma rules works well on Windows as we have a
129+
good source of events with Sysmon or Windows event logs. For example
130+
the
131+
[Windows.Hayabusa.Monitoring](https://sigma.velocidex.com/docs/artifacts/velociraptor_hayabusa_event_ruleset/)
132+
artifact uses the `watch_evtx()` plugin to follow event logs and match
133+
them against the Hayabusa rule set in real time.
134+
135+
However for Linux we did not have a reliable live event
136+
stream. Velociraptor previously had the `watch_auditd()` plugin to
137+
receive `auditd` events but this was always clunky and hard to
138+
configure.
139+
140+
In this release Velociraptor includes a full `eBPF` plugin based on
141+
the excellent open source [tracee
142+
project](https://github.com/aquasecurity/tracee). This given
143+
unprecedented access to live system telemetry on Linux via VQL. Among
144+
others some useful events include
145+
146+
- File operations with process information (open, delete, rename etc).
147+
- Process Start/Stop.
148+
- Network Connections (with process information).
149+
150+
You can see example events from the eBPF plugin in the [Linux Base
151+
eBPF Model](https://sigma.velocidex.com/docs/models/linux_ebpf_base/)
152+
page. These events are directly available now in Sigma rules so we can
153+
monitor Linux endpoints in real time.
154+
155+
### Added support for the NT Kernel Logger ETW session
156+
157+
While on Linux we need an eBPF program to access system telemetry, on
158+
Windows we can in theory use ETW as a built in way. Velociraptor had
159+
the `watch_etw()` plugin for a long time, but we found that some
160+
specialized ETW sources actually require a lot of processing before
161+
they were directly usable.
162+
163+
On Windows there is a special ETW provider called the `NT Kernel
164+
Logger` provider. This provider gives live events for many kernel
165+
operations:
166+
167+
- Process Start/Stop events
168+
- Module Load events (Linking dlls)
169+
- Network Operations
170+
- Registry keys
171+
172+
And many more. The provider can also provide stack traces for system
173+
calls which may be useful in some detection scenarios.
174+
175+
Velociraptor now supports this provider for receiving real time
176+
events. You can see some of the events provided in the [Windows Base
177+
ETW Model](https://sigma.velocidex.com/docs/models/windows_etw_base/)
178+
page explaining how to use those for Sigma detection rules.
179+
180+
This exciting capability brings Velociraptor into line with other open
181+
source endpoint detection tools, for example
182+
[Fibratus](https://www.fibratus.io/) uses this log provider almost
183+
exclusively.
184+
185+
## VQL and Artifacts
186+
187+
This release also brings some improvements in Velociraptor's plugins
188+
and artifacts.
189+
190+
### Added parse_pst() plugin and pst accessor
191+
192+
One commonly requested feature is support for `PST` files, usually
193+
containing Outlook emails. This release introduces the `parse_pst()`
194+
plugin which allows us to parse emails from a PST file as well as
195+
extract attachments for Yara scanning.
196+
197+
### Artifact Verifier
198+
199+
As users start to build large corpus of custom artifacts, the need for
200+
automated static analysis of VQL artifacts is increasing.
201+
202+
This release introduces the new `velociraptor verify` command. This
203+
command scans a set of directories for VQL artifacts and uses static
204+
analysis to find errors and highlight issues.
205+
206+
Currently the command employs the following checks:
207+
208+
- Checks the VQL syntax is correct
209+
- Ensures that plugins and function that are called in VQL actually
210+
exist - this flags common errors like using a VQL plugin where a
211+
function is needed etc.
212+
- Ensures plugins are called with the correct arguments. This flags
213+
common errors like passing a plugin a deprecated argument or
214+
accidentally calling a plugin with the wrong parameter.
215+
- Ensures that dependent artifacts are called correctly - i.e. the
216+
artifacts define the parameters that are being called.
217+
218+
This command is intended to run inside a Continuous integration (CI)
219+
pipeline as a presumbit check for artifact correctness.
220+
221+
222+
## Conclusions
223+
224+
There are many more new features and bug fixes in the latest
225+
release. Please download the release candidate and give it a test and
226+
provide feedback.
227+
228+
If you like the new features, take [Velociraptor for a
229+
spin](https://github.com/Velocidex/velociraptor)! It is available
230+
on GitHub under an open source license. As always please file issues
231+
on the bug tracker or ask questions on our mailing list
232+
233+
. You can also chat with us directly on discord
234+
[https://www.velocidex.com/discord](https://www.velocidex.com/discord)
235+
.

content/blog/2025/2025-02-23-release-notes-0.74/accessing_debug_server.excalidraw

+154
Large diffs are not rendered by default.

content/blog/2025/2025-02-23-release-notes-0.74/accessing_debug_server.svg

+2
Loading

content/blog/2025/2025-02-23-release-notes-0.74/editing_notebook_parameters.excalidraw

+144
Large diffs are not rendered by default.

content/blog/2025/2025-02-23-release-notes-0.74/editing_notebook_parameters.svg

+2
Loading
Loading

0 commit comments

Comments
 (0)