You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: chapters/configuration.md
+37-4Lines changed: 37 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -242,7 +242,7 @@ We can filter on the Field Names defined in the data elements. They are defined
242
242
243
243

244
244
245
-
As of the latest version we have defined as event types:
245
+
As of the latest version we have defined as event types, one does need to be aware that not all fields and all event types will apply to both Sysmon fo Windows and Sysmon for Linux:
246
246
247
247
***NetworkConnect** - Network connections made by processes on the system; both TCP and UDP
248
248
@@ -276,6 +276,10 @@ As of the latest version we have defined as event types:
276
276
277
277
***ClipboardChange** - Stores and logs text that is stored in to the clipboard by processes and context of who stored the text.
278
278
279
+
***ProcessTampering** - Detects some of the techniques of "hollow" and "herpaderp" where a process image is replace.
280
+
281
+
***FileDeleteDetected** - Only logs file deletion or file wipes.
282
+
279
283
Configuration File
280
284
==================
281
285
@@ -475,7 +479,7 @@ Event SYSMONEVENT_FILE_DELETE
475
479
Archived: -
476
480
```
477
481
478
-
In case the configurations are cleared, the default one will take over:
482
+
In case the configurations are cleared, the default one will take over, in the case of Windows:
479
483
480
484
***ProcessCreation**
481
485
@@ -487,7 +491,13 @@ In case the configurations are cleared, the default one will take over:
487
491
488
492
***SHA1 for Images**
489
493
490
-
Since any user in the system can read the rule binary data, an attacker can operate around rule configurations once they have read them by:
494
+
For Linux the default configuration is:
495
+
496
+
***ProcessCreation**
497
+
498
+
***ProcessTermination**
499
+
500
+
In the case of Windows any user in the system can read the rule binary data, an attacker can operate around rule configurations once they have read them by:
491
501
492
502
* Execute tasks not logged.
493
503
@@ -497,10 +507,33 @@ Existing tools for parsing rules out of the registry break often as Sysmon is up
497
507
498
508
It is also important to monitor any process that access the Sysmon service process to prevent suspension of the process or modification of it in memory.
499
509
510
+
For Linux only the root account can read and modify the the sysmon configuration file and its binary info. But the syslog file on most systems
511
+
500
512
Configuration Deployment
501
513
------------------------
502
514
503
-
Most environments that have the capabilities to leverage Sysmon enhanced log collection also have software deployment systems like Altiris, System Center Configuration Manager, Desired State Configuration, etc. This is why these are just general recommendations.
515
+
Most environments that have the capabilities to leverage Sysmon enhanced log collection also have software deployment systems like Altiris, System Center Configuration Manager, Desired State Configuration, etc for Windows in the case of Linux we can leverage Ansible, Chef, Puppet and many other solutions. This is why these are just general recommendations.
516
+
517
+
Sylog Message Size
518
+
------------------
519
+
520
+
Syslog message size limits are dictated by the syslog transport mapping in use. By default the rsyslog package which is one of the most popular packages in distributions limit the size to 1024 bytes. It is important to prevent parsing errors of the structured data to set max sizes that match the size and transport of the messages configured for your given Syslog package. This is achieved using the **FieldSizes** XML element and setting a size for the CommandLine and Image field sizes. We can specify the field and the length we want for the field like in the example bellow.
Copy file name to clipboardExpand all lines: chapters/file_delete_detected.md
+2-4Lines changed: 2 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,6 @@ It leverages the Sysmon minidriver and we should considered it altitude number w
9
9
10
10
The minidriver monitors for three I/O request packets (IRP) IRP_MJ_CREATE, IRP_MJ_CLEANUP, and IRP_MJ_WRITE for file creates, complete handle closes, and writes respectively.
11
11
12
-
13
12
### Event information
14
13
15
14
The file delete event fields are:
@@ -18,7 +17,7 @@ The file delete event fields are:
18
17
19
18
***UtcTime**: Time in UTC when event was created
20
19
21
-
***ProcessGuid**: Process Guid of the process that deletec the file
20
+
***ProcessGuid**: Process Guid of the process that deleted the file
22
21
23
22
***ProcessId**: Process ID used by the OS to identify the process that deleted the file (child)
24
23
@@ -28,5 +27,4 @@ The file delete event fields are:
28
27
29
28
**Hashes**: Full hash of the file with the algorithms in the HashType field. This is also the filename of the saved file in the ArchiveDirectory
30
29
31
-
This event type is recomended for those cases where there is a large number of false positive for a given rule but still it is of value to log the action or the rule has false positives for files that could be of great size like archive file or image files like ISO, IMG and others.
32
-
30
+
This event type is recommended for those cases where there is a large number of false positive for a given rule but still it is of value to log the action or the rule has false positives for files that could be of great size like archive file or image files like ISO, IMG and others.
Copy file name to clipboardExpand all lines: chapters/process-creation.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -67,11 +67,19 @@ when querying for events.
67
67
68
68
In Linux the advantage provided by Sysmon is that the data is structured in a wa that makes it easier to parse and leverage in a SIEM that leverages the logs. Bellow is an auditd example of the "ping -c 8.8.8.8" command.
Copy file name to clipboardExpand all lines: chapters/process-events.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ Process Events
4
4
5
5
Sysmon can log process creation, process termination and process access events. The process events are captured via ObjRegisterCallbacks at the kernel level using its driver, and contain a unique, deterministically generated ProcessGuid and LogonGuid that are unique to their process instance and LSA logon session respectively.
6
6
7
-
The ProcessGuid and LoginGuid make tracking individual process and users much easier. The ProcessGuid attribute is used in all events associated with its process, and, unlike a ProcessID, will not be reused by the host system later. The LogonGuid attirbute similarly is assigned to a login session of a particular user, and will not be reused later as a LoginID would.
7
+
The ProcessGuid and LoginGuid make tracking individual process and users much easier. The ProcessGuid attribute is used in all events associated with its process, and, unlike a ProcessID, will not be reused by the host system later. The LogonGuid attribute similarly is assigned to a login session of a particular user, and will not be reused later as a LoginID would.
Copy file name to clipboardExpand all lines: chapters/what-is-sysmon.md
+1-3Lines changed: 1 addition & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,10 +65,8 @@ The Linux version supports given the OS and technologies a smaller number of eve
65
65
|Sysmon Config Change| 16
66
66
|File Delete|23
67
67
68
-
69
-
70
68
The Sysmon version for Linux is an open-source version of the tool, developed to collect security events from Linux environments using eBPF (Extended Berkeley Packet Filter) and placing the captured events in to Syslog for easy consumption by existing centralized log collection solutions.
71
69
72
-
Sysmon for Linux use the sysinternalsEBPF library to allow it to capture actions against files on disk and network actions. eBPF is a technology that allows to run the program at the Kernel level in a sandbox allowing it to capture read and. Sysmon leverages this technology to capture information on processes, reads and writes to block devices and also for Socket and TCP/IP actions before they reach a network interface. This behaviour is similar to that of mini filter drivers in Windows that allow for the capture of events as they are executed by the APIs in the OS.
70
+
Sysmon for Linux use the sysinternalsEBPF library to allow it to capture actions against files on disk and network actions. eBPF is a technology that allows to run the program at the Kernel level in a sandbox allowing it to capture read and. Sysmon leverages this technology to capture information on processes, reads and writes to block devices and also for Socket and TCP/IP actions before they reach a network interface. This behavior is similar to that of mini filter drivers in Windows that allow for the capture of events as they are executed by the APIs in the OS.
73
71
74
72
The sysinternalsEBPF and Sysmon for Linux are Open Source projects, this allows the community to contribute and to further expand the capabilities of the tools. They can be found at https://github.com/Sysinternals. Both Projects are written in C and in each repository they include documentation on how to build the utilities.
0 commit comments