tsale / EDR-Telemetry

This project aims to compare and evaluate the telemetry of various EDR products.
1.5k stars 142 forks source link

ESET Inspect #18

Closed j91321 closed 1 year ago

j91321 commented 1 year ago

Description

Please provide the below information so we can validate before merging:

  1. Does the proposed EDR feature align with our definition of telemetry?(definition here)
  2. Could you please provide documentation to support the telemetry you are proposing?
  3. If no documentation is available for all the categories you are proposing, could you provide screenshots or sanitized logs?

1: Yes

2: Process Creation, Process Termination - Yes Process Access - Partially, implemented only for "lsass.exe" Image/Library Load - Yes, see operations table Remote Thread Creation - Yes File Creation - Partially, the ModuleDrop event is created when executable is created on filesystem File Deletion - Yes File Renaming - Yes Local Account Creation - Yes Local Account Modification - Yes Local Account Deletion - Yes Account Login - Yes Account Logoff - Yes TCP Connection - Yes URL - Yes DNS Query - Yes File Downloaded - Yes or Partially (again this applies for executables) MD5 - Yes SHA - Yes Key/Value Creation - Yes, this depends on interpretation, Creation can be seen as setting of empty value. Key/Value Modification - Yes Key/Value Deletion - Yes Driver Loaded - Yes Named Pipe Creation - Yes, operations table Agent Install - Yes Agent Uninstall - Yes Agent Tampering - Yes, although I'd like more explanation what exactly are you looking for here. ESET agents, all three of them are protected by the HIPS Self-Defense module. Does it generate specific telemetry messages? I don't think so. However there are specific rules that monitor changes of ESET configuration files and registry keys, these fall more into the detection category, since they just work over the WriteFile and RegSet operations. Agent Keep-Alive - Yes. in the sense that you can see last connection time and last event received time, but the messages are not stored, meaning you can't plot a graph of agent uptime. I think it qualifies under your definition, since it doesn't say the messages must be stored, but I can also see argument for putting "No" here. Agent Errors - Yes WmiEventConsumerToFilter, WmiEventConsumer, WmiEventFilter - Yes, grouped under one event WmiPersistence Script-Block Activity - Yes, not implemented through Script-Block logging, but directly through AMSI shouldn't make much difference.

3: I did screenshots for most of these or at least for those that are not mentioned in documentation or are mentioned insufficiently.

Process Creation, Termination - Atomic Red Team T1218.001 Test 11 image

Process Access - Atomic Red Team T1003.001 Test 4 image

Image/Library Load - Atomic Red Team T1218.001 Test 12 image

Remote Thread Creation - Atomic Red Team T1055 Test 3 image

File Creation + File Download - Atomic Red Team T1003.001 Test 4 GetPrereqs image

File Deletion+File Renaming - Manual on output from ART test artifact. image

Local Account Creation, Local Account Modification, Account Login, Account Logoff - Atomic Red Team T1078.003 Test 1 image

Local Account Deletion - Atomic Red Team T1078.003 Test 1 Cleanup image

TCP Connection, URL - Atomic Red Team T1003.001 Test Cleanup image

DNS Query - Manual image

Driver Load - Manual through Process Hacker image

Agent Install, Agent Keep-Alive Not sure if this qualifies, for the telemetry, but in the Protect console you can see products installed on endpoint and also have information about the last time the agent connected. image

Agent Error image

WmiEventConsumerToFilter WmiEventConsumer, WmiFilter - Atomic Red Team T1546.003 Test 1 image

Script-Block - Atomic Red Team T1055 Test 3 image

Type of change

Please delete options that are not relevant.

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration.

Test Configuration:

Checklist:

Don't stress yourself out, just answer the above to the best of your ability and we can discuss in the comments 🙂