Skip to content

Commit 2df5a3b

Browse files
authored
Improvements and updates to many sections (Velocidex#1257)
- Reviewed and improved the "server upgrades" section, in particular to remind users that this is a good opportunity to reissue certs. Also added some information about how this applies to only self-signed and not certutil or self-issued, and how the auto-renewal mechanism works. - Reviewed and updated the /clients/shell/ page to clarify that Velociraptor does not (currently) provide remote shell sessions on clients - a common misconception. Will need to revise this in the near future to explain the new shell functionality. - Added sections in "VQL fundamentals" for variables, comparison operators and associated logic. Also added more info regarding quoted strings. - Added a page about setting up Hugo and the typical docs development workflow. - Updated test page with some more test content. - Reviewed and improved the new "Guidelines for artifact contributions" page. - Made heading level consistent for examples throughout the documentation. - Improved the styling on link focus, which was specifically making the main menu look a bit weird. Also removed underlining from the menu style. - Added a troubleshooting page for Collections & Hunts with an initial item for the frequently-encountered grpc size limit error. - Improved some wording on recently added content. - Updated info in "Server event queues" to reflect recent changes. - Updated CLI `fs` commands to reflect recent changes.
1 parent 6c59212 commit 2df5a3b

54 files changed

Lines changed: 1830 additions & 470 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.wordlist.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2165,7 +2165,24 @@ VelociraptorServer
21652165
<url-free> content/knowledge_base/tips/vql_error_catalogue.md
21662166
--------------------------------------------------------------------------------
21672167
alls
2168+
21682169
severities
21692170
Minio
21702171
SDK
21712172
stdin
2173+
2174+
zcat
2175+
LLMs
2176+
workably
2177+
Backreferences
2178+
CamelCase
2179+
Lookarounds
2180+
PCRE
2181+
comparator
2182+
falsy
2183+
lookahead
2184+
lookaheads
2185+
lookbehind
2186+
storedQuery
2187+
subexpression
2188+
truthy

content/blog/2019/2019-09-11_velociraptor-s-client-side-buffer-3ce03697a4e6/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ With the recent Velociraptor release, we can deploy monitoring VQL artifacts whi
4242

4343
Because the file buffer allows the VQL engine to operate even when the client is not online, VQL event monitoring queries are not interrupted and continue to work autonomously without involvement from the server.
4444

45-
#### Example: Office macros on thumb drive
45+
###### Example: Office macros on thumb drive
4646

4747
An example of an event monitoring artifact is the **Windows.Detection.Thumbdrives.List** artifact. This artifact watches for any newly inserted USB thumb drive and simply lists the files on it. In some environments it is interesting to see any newly added files on a USB removable drive.
4848

content/blog/2020/2020-03-07-extending-vql-plugins-7fb004cb6ec4/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ While the above method is useful, it can only really wrap existing capabilities
4646

4747
Although VQL already comes with a lot of built in plugins, sometimes what we actually want is not built into Velociraptor itself. This might be because we never thought of the need (please file [a bug for feature requests](https://github.com/Velocidex/velociraptor)!) or because it simply would not make sense to include the functionality directly inside Velociraptor.
4848

49-
### Example List Local Administrator Group Users
49+
###### Example: List Local Administrator Group Users
5050

5151
For example, suppose we wanted to list all the users that belong to the local administrator group on Windows. This information is obviously important because local administrators are extremely powerful accounts, and are sometimes granted to users who need administrator access to their local workstation. Often this access is not recorded or tracked properly. Even worse, sometimes local user accounts are created with local administrator group membership allowing those accounts to be logged into without AD oversight or controls. See [this](https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/implementing-least-privilege-administrative-models#on-workstations), and [this](https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/local-accounts) for more information.
5252

@@ -102,7 +102,7 @@ The whole VQL query and included powershell are now wrapped in an artifact, whic
102102
103103
We effectively just extended the capabilities of the endpoint tool without needing to rebuild or deploy a new version of Velociraptor! This allows for unprecedented flexibility in our DFIR work.
104104
105-
### Example — remediation
105+
###### Example: Remediation
106106
107107
For the next example, suppose we discovered a widespread infection within our network. Typically, the malware installs various methods of re-infecting a host, and a common way is to install a malicious service ([See Att&ck Matrix 1035](https://attack.mitre.org/techniques/T1035/)). The Atomic Red Team has an example [simulation](https://github.com/redcanaryco/atomic-red-team/blob/8881bdb0029f186e7e06994e45ab1fb49e7adfa8/atomics/T1035/T1035.md):
108108

content/blog/2020/2020-07-13-velociraptor-in-the-tool-age-d896dfe71b9/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ external tools in your artifacts transparently — Velociraptor will
3333
ensure the tool is downloaded to the endpoint if needed and is
3434
available for use in your VQL.
3535

36-
### Example: Hollows hunter
36+
###### Example: Hollows hunter
3737

3838
To illustrate the process, we will use the [hollows hunter
3939
tool](https://github.com/hasherezade/hollows_hunter) as an

content/blog/2020/2020-07-14-triage-with-velociraptor-pt-4-cf0e60810d1e/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ reusable VQL in different contexts.
100100

101101
Let’s try to collect the same artifact we did previously — the **hollows hunter** artifact. Just to recap the artifact is shown below
102102

103-
```vql
103+
```yaml
104104
name: Custom.Windows.Detection.ProcessHollowing
105105
description: |
106106
Use hollows_hunter to detect suspicious process injections.

content/blog/2020/2020-08-16-profiling-the-beast-58913437fd16/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Velociraptor exposes this functionality by simply offering the **profile()** VQL
4646

4747
In the following example we examine how profiling can be used to gain an understanding of what is going on under the covers.
4848

49-
### Example — recursive file hash
49+
###### Example: Recursive file hash
5050

5151
To illustrate this process I will launch a CPU heavy collection on my endpoint. I create a new artifact collection of the **Windows.Search.FileFinder** artifacts, searching recursively for all files below *C:\Users* and hashing them all.
5252

content/blog/2021/2021-01-29-disabled-event-log-files-a3529a08adbe/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Windows information security techniques are heavily reliant on the availability
1313

1414
But how reliable really are event logs? I was playing around with the Windows Event Viewer to understand how event logs can be interfered with in practice. We previously covered the general structure of the Windows Event Log system, so you might want to have a quick read of [that post](/blog/2019/2019-11-12_windows-event-logs-d8d8e615c9ca/) before you dive into this one.
1515

16-
### Example: BITS transfer
16+
###### Example: BITS transfer
1717

1818
For this post I will use the example of a BITS transfer using bitsadmin.exe. BITS is a transfer service built into the Windows operating system, normally used to fetch windows (or application) updates. However, is it also commonly used by threat actors to deliver malicious payloads because BITS is typically trusted by endpoint tools (since it is a standard windows service). See [Mitre Att&ck T1197](https://attack.mitre.org/techniques/T1197/).
1919

content/blog/2021/2021-02-02-detecting-dll-hijacking-with-vql-e9a735354257/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ One of the simplest technique, is to simply create a DLL with a bunch of forward
2222

2323
In this case, the export table contains a forward entry — i.e. it forwards the loader into another DLL. Nick Landers published a tool to help build such a dll [https://github.com/monoxgas/Koppeling](https://github.com/monoxgas/Koppeling)
2424

25-
### Example Injection
25+
###### Example: Injection
2626

2727
I will use the Koppeling tool above to build a simple DLL forwarder as per the example in the repository.
2828

content/blog/2021/2021-06-09-verifying-executables-on-windows-1b3518122d3c/_index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ As we can see in the above screenshot, the authenticode standard provides an exp
7070

7171
None of the calculated hashes is the same as the “ExpectedHash” provided in the Authenticode signature! This is because Authenticode hashes do not cover the entire PE file, as regular hashes do. Authenticode hashes only cover specific PE sections, in a specific order. They specifically allow PE sections to be reordered, and some regions in the file to be modified.
7272

73-
{{% notice warning %}}
73+
{{% notice info %}}
7474
Many people find it surprising that signed PE files can be modified without invalidating the signature.
7575
{{% /notice %}}
7676

content/blog/2023/2023-01-13-tracking-an-adversary-in-realtime/_index.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ engagements when the deployed Endpoint Detection and Response (EDR)
1818
solution lacked certain detection capabilities, or when it was not
1919
deployed.
2020

21-
## Example 1: Track commands
21+
###### Example 1: Track commands
2222

2323
Adversaries often use commands to conduct their malicious
2424
activity. Receiving an alert when these commands are launched is very
@@ -111,7 +111,7 @@ Because I wanted reliable detection I chose Sysmon instead of directly
111111
consuming the process events from the aforementioned ETW provider.
112112

113113

114-
## Example 2: Track compromised accounts
114+
###### Example 2: Track compromised accounts
115115

116116
The Windows Event Log is a great log source that enables you to track
117117
adversary activity in real-time. Due to the Event Log tracker of

0 commit comments

Comments
 (0)