freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

BestEdrOfTheMarket:一个针对AVEDR绕过的训练学习环境
2024-01-14 15:02:29

关于BestEdrOfTheMarket

BestEdrOfTheMarket是一个针对AV/EDR绕过的训练学习环境,广大研究人员和信息安全爱好者可以使用该项目研究和学习跟AV和EDR绕过相关的技术知识。

支持绕过的防御技术

1、多层API钩子;

2、SSH钩子;

3、IAT钩子;

4、Shellcode注入检测;

5、反射型模块加载检测;

6、调用栈监控;

工具下载

发布版本

广大研究人员可以直接访问该项目的【Releases页面】下载该工具的最新预编译版本。

源码下载

首先,我们需要在本地设备上安装并配置好最新版本的Visual Studio工具。接下来,使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Xacone/BestEdrOfTheMarket.git

工具使用

Usage: BestEdrOfTheMarket.exe [args]

 

                 /help 显示工具帮助信息和退出

                 /v 开启Verbose模式

                 /iat IAT钩子

                 /stack 线程调用栈监控

                 /nt I内联NT钩子

                 /k32 内联Kernel32/Kernelbase钩子

                 /ssn SSN攻击

工具使用样例

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-包含了一个JSON数组,其中包含了在监控线程调用栈时需要识别的模式:

{

"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",

                "..."

    ]

}

调用栈监控:建议目标为一个加密Shellcode加载器时,监控NtCreateFile函数,但如果目标是一个反射型加载器,并且使用了NtCreateUserProcess时,就不建议这样做了,因此,我们应该根据实际的情况选择要监控的NT层程序:

{

  "DLLBasedHooking": {

    "NTDLL.dll": [

      "NtAllocateVirtualMemory",

      "..."

    ],

    "KERNELBASE.dll": [

      "VirtualAlloc"

      "..."

    ],

    "KERNEL32.dll": [

      "VirtualAlloc"

      "..."

    ]

  },

  "StackBasedHooking": {

    "Functions": [

      "NtCreateUserProcess",

      "..."

    ]

  },

  "SSNCrushingRoutines": {

    "Functions": [

      "NtCreateSection"

      "..."

    ]

  },

  "IATHooking": {

    "Functions": [

      "VirtualAlloc",

      "..."

    ]

  }

}

TrigerringFunctions.json-用于描述已经设置了钩子的函数;

DLLBasedHooking-不可修改,修改它的值没有任何意义;

StackBasedHooking-可以修改,用于指定需要监控的函数,这些函数被调用之后将触发工具对线程调用栈的分析;

SSNCrushingRoutines:可以修改,这里可以指定NT层程序;

IATHooking:可以修改,这里指定的函数将会在IAT层设置钩子;

工具使用演示

项目地址

BestEdrOfTheMarket:【GitHub传送门

参考资料

https://xacone.github.io/BestEdrOfTheMarket.html

# 学习平台 # 训练平台 # AV/EDR绕过 # EDR绕过 # AV绕过
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录