|
1 | 1 | <!-- |
2 | | - sysmon-config | A Sysmon configuration focused on default high-quality event tracing and easy customization by the community |
3 | | - Source version: 73 | Date: 2021-02-16 |
4 | | - Source project: https://github.com/SwiftOnSecurity/sysmon-config |
5 | | - Source license: Creative Commons Attribution 4.0 | You may privatize, fork, edit, teach, publish, or deploy for commercial use - with attribution in the text. |
6 | | -
|
7 | | - REQUIRED: Sysmon version 13 or higher (due to changes in syntax and bug-fixes) |
8 | | - https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon |
9 | | -
|
10 | | - NOTE: To collect Sysmon logs centrally for free, see https://aka.ms/WEF | Command to allow log access to the Network Service: |
11 | | - wevtutil.exe sl Microsoft-Windows-Sysmon/Operational /ca:O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;NS) |
12 | | -
|
13 | | - NOTE: Do not let the size and complexity of this configuration discourage you from customizing it or building your own. |
14 | | - This configuration is based around known, high-signal event tracing, and thus appears complicated, but it is only very |
15 | | - detailed. Significant effort over years has been invested in front-loading as much filtering as possible onto the |
16 | | - client. This is to make analysis of intrusions possible by hand, and to try to surface anomalous activity as quickly |
17 | | - as possible to technicians armed only with Event Viewer. Its purpose is to democratize system monitoring for all organizations. |
18 | | -
|
19 | | - NOTE: Sysmon is NOT a whitelist solution or HIDS correlation engine, it is a computer change logging tool. |
20 | | - Do NOT ignore everything possible. Sysmon's purpose is providing context during a threat or problem investigation. Legitimate |
21 | | - processes are routinely used by threats - do not blindly exclude them. Additionally, be mindful of process-hollowing / imitation. |
22 | | -
|
23 | | - NOTE: By default this monitors DNS, which is extremely noisy. If you are starting out on your monitoring journey, just remove that section. |
24 | | - You can remove DNS events from Event Viewer screen by applying a 'Filter Current View' for event IDs of: -22 |
25 | | - Additionally, if you want to monitor DNS, you should deploy client-side adblocking to reduce lookups. See the DNS section for info. |
26 | | -
|
27 | | - NOTE: This configuration is designed for PER-MACHINE installs of Chrome and OneDrive. That moves their binaries out of user-controlled folders. |
28 | | - Otherwise, attackers could imitate these common applications, and bypass your logging. Below are silent upgrades you can do, no user impact: |
29 | | - - https://docs.microsoft.com/en-us/onedrive/per-machine-installation |
30 | | - - https://cloud.google.com/chrome-enterprise/browser/download/ |
31 | | - - As of 2021-02-16 there is no machine-level version of Microsoft Teams. The one provided copies itself to the user profile. |
32 | | -
|
33 | | - NOTE: Sysmon is not hardened against an attacker with admin rights. Additionally, this configuration offers an attacker, willing |
34 | | - to study it, limited ways to evade some of the logging. If you are in a very high-threat environment, you should consider a broader, |
35 | | - log-most approach. However, in the vast majority of cases, an attacker will bumble through multiple behavioral traps which |
36 | | - this configuration monitors, especially in the first minutes. |
37 | | -
|
38 | | - NOTE: If you encounter unexplainable event inclusion/exclusion, you may have a second Sysmon instance installed under a different exe filename. |
39 | | - To clear this, try downloading the latest version and uninstalling with -u force. If it hangs, kill the processes and run it again to cleanup. |
40 | | -
|
41 | | - TECHNICAL: |
42 | | - - Run sysmon.exe -? for a briefing on Sysmon configuration. |
43 | | - - Sysmon XML cannot use the AMPERSAND sign. Replace it with this: & |
44 | | - - Sysmon 8+ can track which rule caused an event to be logged through the "RuleName" field. |
45 | | - - If you only specify exclude for a filtering subsection, everything in that subsection is logged by default. |
46 | | - - Some Sysmon monitoring abilities are not meant for widely deployed general-purpose use due to performance impact. Depends on environment. |
47 | | - - Duplicate or overlapping "Include" rules do not result in duplicate events being logged. |
48 | | - - All characters enclosed by XML tags are always interpreted literally. Sysmon does not support wildcards (*), alternate characters, or RegEx. |
49 | | - - In registry events, the value name is appended to the full key path with a "\" delimiter. Default key values are named "\(Default)" |
50 | | - - "Image" is a technical term for a compiled binary file like an EXE or DLL. Also, it can match just the filename, or entire path. |
51 | | - - "ProcessGuid" and "LoginGuid" are not random, they contain some embedded information. https://gist.github.com/mattifestation/0102042160c9a60b2b847378c0ef70b4 |
52 | | -
|
53 | | - FILTERING: Filter conditions available for use are: is,is any,is not,contains,contains any,contains all,excludes,excludes any,excludes all,begin with,end with,not begin with,not end with,less than,more than,image |
54 | | - - The "image" filter is usable on any field. Same as "is" but can either match entire string, or only the text after last "\". Credit: @mattifestation |
| 2 | + sysmon-config | A Sysmon configuration focused on default high-quality event tracing and easy customization by the community |
| 3 | + Source version: 73 | Date: 2021-02-16 |
| 4 | + Source project: https://github.com/SwiftOnSecurity/sysmon-config |
| 5 | + Source license: Creative Commons Attribution 4.0 | You may privatize, fork, edit, teach, publish, or deploy for commercial use - with attribution in the text. |
| 6 | +
|
| 7 | + REQUIRED: Sysmon version 13 or higher (due to changes in syntax and bug-fixes) |
| 8 | + https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon |
| 9 | +
|
| 10 | + NOTE: To collect Sysmon logs centrally for free, see https://aka.ms/WEF | Command to allow log access to the Network Service: |
| 11 | + wevtutil.exe sl Microsoft-Windows-Sysmon/Operational /ca:O:BAG:SYD:(A;;0xf0005;;;SY)(A;;0x5;;;BA)(A;;0x1;;;S-1-5-32-573)(A;;0x1;;;NS) |
| 12 | +
|
| 13 | + NOTE: Do not let the size and complexity of this configuration discourage you from customizing it or building your own. |
| 14 | + This configuration is based around known, high-signal event tracing, and thus appears complicated, but it is only very |
| 15 | + detailed. Significant effort over years has been invested in front-loading as much filtering as possible onto the |
| 16 | + client. This is to make analysis of intrusions possible by hand, and to try to surface anomalous activity as quickly |
| 17 | + as possible to technicians armed only with Event Viewer. Its purpose is to democratize system monitoring for all organizations. |
| 18 | +
|
| 19 | + NOTE: Sysmon is NOT a whitelist solution or HIDS correlation engine, it is a computer change logging tool. |
| 20 | + Do NOT ignore everything possible. Sysmon's purpose is providing context during a threat or problem investigation. Legitimate |
| 21 | + processes are routinely used by threats - do not blindly exclude them. Additionally, be mindful of process-hollowing / imitation. |
| 22 | +
|
| 23 | + NOTE: By default this monitors DNS, which is extremely noisy. If you are starting out on your monitoring journey, just remove that section. |
| 24 | + You can remove DNS events from Event Viewer screen by applying a 'Filter Current View' for event IDs of: -22 |
| 25 | + Additionally, if you want to monitor DNS, you should deploy client-side adblocking to reduce lookups. See the DNS section for info. |
| 26 | +
|
| 27 | + NOTE: This configuration is designed for PER-MACHINE installs of Chrome and OneDrive. That moves their binaries out of user-controlled folders. |
| 28 | + Otherwise, attackers could imitate these common applications, and bypass your logging. Below are silent upgrades you can do, no user impact: |
| 29 | + - https://docs.microsoft.com/en-us/onedrive/per-machine-installation |
| 30 | + - https://cloud.google.com/chrome-enterprise/browser/download/ |
| 31 | + - As of 2021-02-16 there is no machine-level version of Microsoft Teams. The one provided copies itself to the user profile. |
| 32 | +
|
| 33 | + NOTE: Sysmon is not hardened against an attacker with admin rights. Additionally, this configuration offers an attacker, willing |
| 34 | + to study it, limited ways to evade some of the logging. If you are in a very high-threat environment, you should consider a broader, |
| 35 | + log-most approach. However, in the vast majority of cases, an attacker will bumble through multiple behavioral traps which |
| 36 | + this configuration monitors, especially in the first minutes. |
| 37 | +
|
| 38 | + NOTE: If you encounter unexplainable event inclusion/exclusion, you may have a second Sysmon instance installed under a different exe filename. |
| 39 | + To clear this, try downloading the latest version and uninstalling with -u force. If it hangs, kill the processes and run it again to cleanup. |
| 40 | +
|
| 41 | + TECHNICAL: |
| 42 | + - Run sysmon.exe -? for a briefing on Sysmon configuration. |
| 43 | + - Sysmon XML cannot use the AMPERSAND sign. Replace it with this: & |
| 44 | + - Sysmon 8+ can track which rule caused an event to be logged through the "RuleName" field. |
| 45 | + - If you only specify exclude for a filtering subsection, everything in that subsection is logged by default. |
| 46 | + - Some Sysmon monitoring abilities are not meant for widely deployed general-purpose use due to performance impact. Depends on environment. |
| 47 | + - Duplicate or overlapping "Include" rules do not result in duplicate events being logged. |
| 48 | + - All characters enclosed by XML tags are always interpreted literally. Sysmon does not support wildcards (*), alternate characters, or RegEx. |
| 49 | + - In registry events, the value name is appended to the full key path with a "\" delimiter. Default key values are named "\(Default)" |
| 50 | + - "Image" is a technical term for a compiled binary file like an EXE or DLL. Also, it can match just the filename, or entire path. |
| 51 | + - "ProcessGuid" and "LoginGuid" are not random, they contain some embedded information. https://gist.github.com/mattifestation/0102042160c9a60b2b847378c0ef70b4 |
| 52 | +
|
| 53 | + FILTERING: Filter conditions available for use are: is,is any,is not,contains,contains any,contains all,excludes,excludes any,excludes all,begin with,end with,not begin with,not end with,less than,more than,image |
| 54 | + - The "image" filter is usable on any field. Same as "is" but can either match entire string, or only the text after last "\". Credit: @mattifestation |
55 | 55 |
|
56 | 56 | --> |
57 | 57 |
|
|
0 commit comments