Skip to content

Commit e7573a4

Browse files
committed
docs: Documentation for release 2.3.0
1 parent 9d1aa6a commit e7573a4

File tree

16 files changed

+106
-250
lines changed

16 files changed

+106
-250
lines changed

CONTRIBUTING.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ $ ./make
118118

119119
### Running For The First Time
120120

121-
By default, Fibratus operates in rule engine mode. It loads the rule set from the `%PROGRAM FILES%\Fibratus\Rules` directory and sends security alerts to the [systray](/alerts/senders/systray) notification area. Optionally, it takes response actions when the rule is fired, such as killing the process.
121+
By default, Fibratus operates in rule engine mode. It loads the rule set from the `%PROGRAM FILES%\Fibratus\Rules` directory and sends security alerts to [Eventlog](/alerts/senders/eventlog). Optionally, it takes response actions when the rule is fired, such as killing the process.
122122
Alternatively, Fibratus can forward events to [output](/outputs/introduction) sinks, if it started in event forwarding mode.
123123

124124
To start Fibratus in event forwarding mode run the next command from the root directory of this repo:
@@ -129,7 +129,6 @@ $ .\cmd\fibratus\fibratus.exe run --forward
129129

130130
If you want to run Fibratus in rule engine mode, follow the next steps:
131131

132-
- run the systray server or disable the systray alert sender in the configuration file. You can start the systray server by running the `.\cmd\fibratus\fibratus-systray.exe` binary.
133132
- modify the configuration file to set the location to the rule files. Go to the `filters` section, and specify the absolute path to the `Rules` and `Macros` directories of this repository.
134133
```
135134
filters:
@@ -169,5 +168,3 @@ $ ./make.bat pkg
169168
```
170169

171170
The resulting MSI is placed in the `build\msi` directory.
172-
173-

README.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,28 @@ Events can also be shipped to a wide array of [output sinks](https://www.fibratu
3434

3535
In a nutshell, the Fibratus mantra is defined by the pillars of **realtime behavior detection**, **memory scanning**, and **forensics** capabilities.
3636

37+
38+
### Installation
39+
40+
- Download the latest [MSI package](https://github.com/rabbitstack/fibratus/releases) and follow the [UI](https://www.fibratus.io/#/setup/installation) wizard or
41+
alternatively install via `msiexec` in silent mode
42+
43+
```
44+
$ msiexec /i fibratus-2.3.0-amd64.msi /qn
45+
```
46+
3747
### Quick start
3848

3949
---
4050

41-
- [Install](https://www.fibratus.io/#/setup/installation) Fibratus from the latest [MSI package](https://github.com/rabbitstack/fibratus/releases)
4251
- spin up a command line prompt
4352
- list credentials from the vault by using the `VaultCmd` tool
53+
4454
```
4555
$ VaultCmd.exe /listcreds:"Windows Credentials" /all
4656
```
47-
- `Credential discovery via VaultCmd.exe` rule should trigger displaying the alert in the systray notification area
57+
58+
`Credential discovery via VaultCmd.exe` rule should trigger and emit the alert to the [Eventlog](https://www.fibratus.io/#/alerts/senders/eventlog). Check the short demo [here](https://www.fibratus.io/#/alerts/senders/images/eventlog.gif).
4859

4960
### Documentation
5061

docs/_coverpage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<img src='logo.png'></img>
55
</div>
66

7-
# fibratus <small>2.2.1</small>
7+
# fibratus <small>2.3.0</small>
88

99
> Adversary tradecraft detection, protection, and hunting
1010

docs/_sidebar.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,8 @@
5454
* [Alert Senders](alerts/senders.md)
5555
* <ion-icon name="mail-unread-outline"></ion-icon> [Mail](alerts/senders/mail.md)
5656
* <ion-icon name="logo-slack"></ion-icon> [Slack](alerts/senders/slack.md)
57+
* <ion-icon name="chatbubble"></ion-icon> [Systray](alerts/senders/systray.md)
58+
* <ion-icon name="server"></ion-icon> [Eventlog](alerts/senders/eventlog.md)
5759
* [Filament Alerting](alerts/filaments.md)
5860
* <ion-icon name="terminal-outline"></ion-icon> PE
5961
* [Portable Executable Introspection](/pe/introduction.md)

docs/alerts/introduction.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Fibratus has the ability to generate security alerts when the detection or [YARA
44

55
The alert has the following key components:
66

7+
- **id** the alert identifier represented as UUID.
78
- **title** summarizes the purpose of the alert.
89
- **text** is the message that further explains what this alert is about as well as actors involved.
910
- **tags** contains a sequence of tags for categorizing the alerts.

docs/alerts/senders.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ You can send alert notifications to your team through email, Slack, or incident
55
- [Mail](/alerts/senders/mail)
66
- [Slack](/alerts/senders/mail)
77
- [Systray](/alerts/senders/systray)
8+
- [Eventlog](/alerts/senders/eventlog)
89

docs/alerts/senders/eventlog.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Eventlog
2+
3+
The `eventlog` alert sender sends alerts to the [Windows Eventlog](https://sematext.com/glossary/what-is-windows-event-log/).
4+
5+
<p align="center">
6+
<img src="alerts/senders/images/eventlog.gif" style="border-radius: 4px; backdrop-filter: blur(15px) saturate(3); filter: drop-shadow(0 0 0.75rem rgba(30, 30, 30, 0.4));" />
7+
</p>
8+
9+
### Configuration {docsify-ignore}
10+
11+
The `eventlog` alert sender configuration is located in the `alertsenders.eventlog` section.
12+
13+
#### enabled
14+
15+
Indicates whether the `eventlog` alert sender is enabled.
16+
17+
**default**: `true`
18+
19+
#### verbose
20+
21+
Enables/disables the verbose mode. In verbose mode, the full event context, including all parameters and the process information are included
22+
in the log message.
23+
24+
**default**: `true`
1.74 MB
Loading

docs/alerts/senders/systray.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ The `systray` alert sender configuration is located in the `alertsenders.systray
1010

1111
Indicates whether the `systray` alert sender is enabled.
1212

13-
**default**: `true`
13+
**default**: `false`
1414

1515
#### sound
1616

@@ -23,4 +23,3 @@ Indicates if the associated sound is played when the balloon notification is sho
2323
Instructs not to display the balloon notification if the current user is in quiet time. During this time, most notifications should not be sent or shown. This lets a user become accustomed to a new computer system without those distractions. Quiet time also occurs for each user after an operating system upgrade or clean installation.
2424

2525
**default**: `false`
26-

docs/filters/fields.md

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,16 @@ The following tables summarize available field names that can be used in filter
8888
| ps.uuid | Unique process identifier resistant to repetition | `ps.uuid > 10000400` |
8989
| ps.parent.uuid | Unique parent process identifier resistant to repetition | `ps.parent.uuid = 1843450000440` |
9090
| ps.child.uuid | Unique child process identifier resistant to repetition | `ps.child.uuid > 20030000000` |
91+
| ps.child.pe.file.name | Original file name of the child process executable supplied at compile-time | `ps.child.pe.file.name = 'NOTEPAD.EXE'` |
92+
| ps.child.is_wow64 | Indicates if the 32-bit child process is created in 64-bit Windows system | `ps.child.is_wow64` |
93+
| ps.child.is_packaged | Indicates if the child process is packaged with the MSIX technology | `ps.child.is_packaged` |
94+
| ps.child.is_protected | Indicates if the child process is a protected process | `ps.child.is_protected` |
95+
| ps.is_wow64 | Indicates if the process generating the event is a 32-bit child process is created in 64-bit Windows system | `ps.is_wow64` |
96+
| ps.is_packaged | Indicates if the process process generating the event is packaged with the MSIX technology | `ps.is_packaged` |
97+
| ps.is_protected | Indicates if the process generating the event is a protected process | `ps.is_protected` |
98+
| ps.parent.is_wow64 | Indicates if the parent process generating the event is a 32-bit process created in 64-bit Windows system | `ps.parent.is_wow64` |
99+
| ps.parent.is_packaged | Indicates if the parent process generating the event is packaged with the MSIX technology | `ps.parent.is_packaged` |
100+
| ps.parent.is_protected | Indicates if the parent process generating the event is a protected process | `ps.parent.is_protected` |
91101

92102

93103
### Thread
@@ -100,11 +110,11 @@ The following tables summarize available field names that can be used in filter
100110
| thread.kstack.limit | Limit of the thread's kernel space stack | `thread.kstack.limit = 'a85d800000'` |
101111
| thread.ustack.base | Base address of the thread's user space stack | `thread.ustack.base = '7ffe0000'` |
102112
| thread.ustack.limit | Limit of the thread's user space stack | `thread.ustack.limit = '8ffe0000'` |
103-
| thread.entrypoint | Starting address of the function to be executed by the thread | `thread.entrypoint = '7efe0000'` |
113+
| thread.start_address | Start address of the function to be executed by the thread | `thread.start_address = '7efe0000'` |
104114
| thread.access.mask | Thread access rights | `thread.access.mask = '0x1800'` |
105115
| thread.access.mask.names | Thread access human-readable rights | `thread.access.mask.names in ('QUERY_LIMITED_INFORMATION')` |
106116
| thread.access.status | Thread access status | `thread.access.status = 'Success'` |
107-
117+
| thread.teb_address | The base address of the thread environment block | `thread.teb_address = '8f30893000'` |
108118

109119
### Callstack
110120
| Field Name | Description | Example |
@@ -140,6 +150,7 @@ The following tables summarize available field names that can be used in filter
140150
| image.is_dll | Indicates if the loaded image is a DLL | `image.is_dll` |
141151
| image.is_driver | Indicates if the loaded image is a driver | `image.is_driver` |
142152
| image.is_exec | Indicates if the loaded image is an executable | `image.is_exec` |
153+
| image.is_dotnet | Indicates if the loaded image is a .NET assembly | `image.is_dotnet` |
143154

144155
### File
145156
| Field Name | Description | Example |
@@ -162,7 +173,11 @@ The following tables summarize available field names that can be used in filter
162173
| file.is_driver_vulnerable | Indicates if the dropped driver is vulnerable | `file.is_driver_vulnerable` |
163174
| file.is_dll | Indicates if the created file is a DLL | `file.is_dll` |
164175
| file.is_driver | Indicates if the created file is a driver | `file.is_driver` |
165-
| file.is_exec | Indicates if the crated file is an executable | `file.is_exec` |
176+
| file.is_exec | Indicates if the created file is an executable | `file.is_exec` |
177+
| file.info_class | Identifies the file information class | `file.info_class = 'Allocation'` |
178+
| file.info.allocation_size | Represents the file allocation size set via `NtSetInformationFile` syscall | `file.info.allocation_size > 645400` |
179+
| file.info.eof_size | Represents the file EOF size set via `NtSetInformationFile` syscall | `file.info.eof_size > 1000` |
180+
| file.info.is_disposition_file_delete | Indicates if the file is deleted when its handle is closed | `file.info.is_disposition_file_delete = true` |
166181

167182

168183
### Registry
@@ -254,4 +269,3 @@ The following tables summarize available field names that can be used in filter
254269
| pe.cert.before | PE certificate enrollment date | `pe.cert.before contains '2024-02-01 00:05:42 +0000 UTC'` |
255270
| pe.is_modified | Indicates if on-disk and in-memory PE headers differ | `pe.is_modified'` |
256271
| pe.is_modified | Indicates if on-disk and in-memory PE headers differ | `pe.is_modified'` |
257-
| pe.ps.child.file.name | Original file name of the child process executable supplied at compile-time | `pe.ps.child.file.name = 'NOTEPAD.EXE'` |

0 commit comments

Comments
 (0)