Xacone / BestEdrOfTheMarket
- ΡΠ΅ΡΠ²Π΅ΡΠ³, 23 Π½ΠΎΡΠ±ΡΡ 2023β―Π³. Π² 00:00:08
Little AV/EDR bypassing lab for training & learning purposes
Little AV/EDR Evasion Lab for training & learning purposes. (ποΈ under construction..)β
____ _ _____ ____ ____ ___ __ _____ _
| __ ) ___ ___| |_ | ____| _ \| _ \ / _ \ / _| |_ _| |__ ___
| _ \ / _ \/ __| __| | _| | | | | |_) | | | | | |_ | | | '_ \ / _ \
| |_) | __/\__ \ |_ | |___| |_| | _ < | |_| | _| | | | | | | __/
|____/_\___||___/\__| |_____|____/|_| \_\ \___/|_| |_| |_| |_|\___|
| \/ | __ _ _ __| | _____| |_
| |\/| |/ _` | '__| |/ / _ \ __|
| | | | (_| | | | < __/ |_ Yazidou - github.com/Xacone
|_| |_|\__,_|_| |_|\_\___|\__|
BestEDROfTheMarket is a naive user-mode EDR (Endpoint Detection and Response) project, designed to serve as a testing ground for understanding and bypassing EDR's user-mode detection methods that are frequently used by these security solutions.
These techniques are mainly based on a dynamic analysis of the target process state (memory, API calls, etc.),
In progress:
Usage: BestEdrOfTheMarket.exe [args]
/help Shows this help message and quit
/v Verbosity
/iat IAT hooking
/stack Threads call stack monitoring
/nt Inline Nt-level hooking
/k32 Inline Kernel32/Kernelbase hooking
/ssn SSN crushing
BestEdrOfTheMarket.exe /stack /v /k32
BestEdrOfTheMarket.exe /stack /nt
BestEdrOfTheMarket.exe /iat
π BestEdrOfTheMarket/
π BestEdrOfTheMarket.exe
π DLLs/
π Kernel32.dll
π ntdll.dll
π iat.dll
π TrigerringFunctions.json
π YaroRules.json
π jsoncpp.dll
YaroRules.json: Contains a json array filled with the patterns you would like to be identified while monitoring threads call stacks.
{
"Patterns": [
"d2 65 48 8b 52 60 48 8b 52 18 48 8b 52 20 48 8b 72 50 48",
"49 be 77 73 32 5f 33 32 00 00",
"..."
]
}
TrigerringFunctions.json: Describes the functions that are already hooked or/and to hook:
{
"DLLBasedHooking": {
"NTDLL.dll": [
"NtAllocateVirtualMemory",
"..."
],
"KERNELBASE.dll": [
"VirtualAlloc"
"..."
],
"KERNEL32.dll": [
"VirtualAlloc"
"..."
]
},
"StackBasedHooking": {
"Functions": [
"NtCreateUserProcess",
"..."
]
},
"SSNCrushingRoutines": {
"Functions": [
"NtCreateSection"
"..."
]
},
"IATHooking": {
"Functions": [
"VirtualAlloc",
"..."
]
}
}
If you don't compile your own DLLs, take a look at the functions already hooked into the DLLs provided in sources.