Reading Time: < 1 minute

A very small little post, of a little experiment I did in my lab.

I’ve used the nice and interesting code of Ausurusrex ( ) which is a C++ code that will show you all the functions that are hooked by your EDR.

Then I modified it a little bit, to accept loading a DLL.

Then I used @Slaeryan AQUARMOURY shellycoat unhooking dll ( )

Here is my result under a SentinelOne.

Test 1 : 42 Functions are hooked in ntdll.dll by SentinelOne (49 but 7 are already detected even do they are not see README of Hook_Checker)

Test 2 : All functions have been unhooked in ntdll.dll by loading the disposable shellycoat dll ! Nice 🙂

Next ?

I was wandering why some EDR we couldn’t see the hook. Like Cortex XDR and Ensilo (FortiEDR).

The answer is simple. The hooks are Kernel based.

Thanks to @MrUn1k0d3r who kindly answered some of my questions and he published the hooks of XDR here :

References : by Asaurusrex and shared by netbiosX

my modified version here : from @Slaeryan

You can also use hook_finder from Mr-Un1k0d3r :