CrimsonEDR:一款恶意软件模式识别与EDR策略评估工具

news2024/12/23 18:50:28

关于CrimsonEDR

CrimsonEDR是一个功能强大的开源项目,该项目旨在帮助广大研究人员识别特定的恶意软件模式,以此来优化终端检测与响应(EDR)的策略方案。通过使用各种不同的检测方案,可以加深开发人员与研究人员加深对安全规避策略的理解。

功能介绍

检测

描述

直接系统调用

检测直接系统调用的使用情况,恶意软件通常使用直接系统调用来绕过传统的 API 钩子。

NTDLL 解除钩子

识别尝试解除 NTDLL 库中的函数的钩子,这是一种常见的规避技术。

AMSI 补丁

通过字节级分析检测对反恶意软件扫描接口 (AMSI) 的修改。

ETW 补丁

检测 Windows 事件跟踪 (ETW) 的字节级更改,恶意软件通常会操纵这些更改来逃避检测。

PE Stomping

识别 PE(可移植可执行文件)Stomping

的实例。

反射型PE 加载

检测 PE 文件的反射加载,这是恶意软件用来避免静态分析的一种技术。

未备份线程来源

识别源自不受支持的内存区域的线程,这通常表示恶意活动。

未备份线程起始地址

检测起始地址指向未备份内存的线程,这是代码注入的潜在迹象。

API 钩子

在 NtWriteVirtualMemory 函数上放置一个钩子来监视内存修改。

自定义模式搜索

允许用户搜索 JSON 文件中提供的特定模式,从而有助于识别已知的恶意软件签名。

工具安装

首先,我们需要使用下列命令安装该工具所需的依赖组件:

sudo apt-get install gcc-mingw-w64-x86-64

接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/Helixo32/CrimsonEDR

然后切换到项目目录中,并使用下列命令完成代码编辑:

cd CrimsonEDR;

chmod +x compile.sh;

./compile.sh

工具使用

确保ioc.json文件位于正在监视的可执行文件的启动目录中。比如说,如果你想要监控的可执行程序位于C:\Users\admin\,则DLL会尝试在C:\Users\admin\ioc.json路径下寻找ioc.json。当前版本的ioc.json包含与msfvenom相关的模式,我们可以根据自己的需求进行修改,格式如下:

{

  "IOC": [

    ["0x03", "0x4c", "0x24", "0x08", "0x45", "0x39", "0xd1", "0x75"],

    ["0xf1", "0x4c", "0x03", "0x4c", "0x24", "0x08", "0x45", "0x39"],

    ["0x58", "0x44", "0x8b", "0x40", "0x24", "0x49", "0x01", "0xd0"],

    ["0x66", "0x41", "0x8b", "0x0c", "0x48", "0x44", "0x8b", "0x40"],

    ["0x8b", "0x0c", "0x48", "0x44", "0x8b", "0x40", "0x1c", "0x49"],

    ["0x01", "0xc1", "0x38", "0xe0", "0x75", "0xf1", "0x4c", "0x03"],

    ["0x24", "0x49", "0x01", "0xd0", "0x66", "0x41", "0x8b", "0x0c"],

    ["0xe8", "0xcc", "0x00", "0x00", "0x00", "0x41", "0x51", "0x41"]

  ]

}

然后使用下列参数执行CrimsonEDRPanel.exe:

-d <path_to_dll>:指定CrimsonEDR.dll文件的路径;

-p <process_id>:指定需要注入DLL的目标进程PID;

运行命令样例如下:

.\CrimsonEDRPanel.exe -d C:\Temp\CrimsonEDR.dll -p 1234

注意事项

Windows Defender 和其他防病毒程序可能会将该 DLL 标记为恶意程序,因为其包含用于验证 AMSI 是否包含补丁字节的内容。因此在使用CrimsonEDR时,请确保将 DLL 列入白名单或暂时禁用防病毒软件,以避免任何中断。

工具使用演示

项目地址

CrimsonEDR:【GitHub传送门】

参考资料

Windows Processes, Nefarious Anomalies, And You | pre.empt

https://maldevacademy.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1883897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Nginx 配置文件

Nginx的配置文件的组成部分&#xff1a; 主配置文件&#xff1a;nginx.conf子配置文件&#xff1a;include conf.d/*.conf 全局配置 nginx 有多种模块 核心模块&#xff1a;是 Nginx 服务器正常运行必不可少的模块&#xff0c;提供错误日志记录 、配置文件解析 、事件驱动机…

python基础语法 004-2流程控制- for遍历

1 遍历 1.1 什么是遍历&#xff1f; 可以遍历的元素&#xff1a;字符串、列表、元组、字典、集合字符串是可以进行for 循环。&#xff08;容器对象&#xff0c;序列&#xff09;可迭代对象iterable 例子&#xff1a; 1 &#xff09;、for遍历字符串&#xff1a; name xiao…

Ubuntu20.04 安装 cudatookit 12.2 + cudnn 安装

最简约的部署Ubuntu20.04深度学习环境的教程 1. 安装Ubuntu20.04 系统 B站详细的安装教程 简约安装版 2. 安装Nvidia显卡驱动 我参考了各种资料&#xff0c;重装系统&#xff0c;完美解决开机显示器黑屏无法进入桌面的情况 黑屏问题主要是由linux内核更新导致&#xff0c;…

携程礼品卡能转出去吗?

携程的卡好像只能在旅游的时候用 像买车票啊&#xff0c;机票啊&#xff0c;酒店&#xff0c;景点门票啥的&#xff0c;但是如果我没有出游计划的话 这个卡是不是就要被闲置下来&#xff1f; 这个问题一直让我感到很苦恼&#xff0c;还好有收卡云&#xff0c;不然我的携程卡…

你还搞不懂串口的格式转换问题吗?

相信大多数人在使用串口传输不同单片机之间的数据时都会运到数据格式怎么对应起来的问题&#xff0c;今天我们就来聊聊&#xff01; 在开始之前我插一个内容&#xff0c;就是不同的单片机之间的电平可能不相同&#xff0c;是不能直接使用杜邦线连接通信的&#xff0c;需要进行电…

centos7搭建zookeeper 集群 1主2从

centos7搭建zookeeper 集群 准备前提规划防火墙开始搭建集群192.168.83.144上传安装包添加环境变量修改zookeeper 的配置 192.168.83.145 和 192.168.83.146 配置 启动 集群 准备 vm 虚拟机centos7系统zookeeper 安装包FinalShell或者其他shell工具 前提 虚拟机安装好3台cen…

私域打造朋友圈秘诀

内容比例把控 朋友圈内容应遵循9:1原则&#xff0c;即90%的人设内容与10%的营销内容。 朋友圈的内容比例非常关键。大部分内容应聚焦在展示个人形象和生活&#xff0c;以此建立信任&#xff0c;而仅有10%的内容用于营销&#xff0c;实现商业价值。 人设内容构建 通过生活圈、工…

从新手到高手:Scala函数式编程完全指南,Scala 数据类型(4)

1、Scala 数据类型 Scala 与 Java有着相同的数据类型&#xff0c;下表列出了 Scala 支持的数据类型&#xff1a;

【鸿蒙学习笔记】基础组件Progress:进度条组件

官方文档&#xff1a;Progress 目录标题 作用最全属性迭代追加进度赋值风格样式 作用 进度条组件 最全属性迭代追加 Progress({ value: 20, total: 100, type: ProgressType.Linear }).color(Color.Green)// 颜色.width(200)// 大小.height(50)// 高度.value(50)// 进度可更…

多域名聊天:TTKefu如何助力企业实现高效沟通与灵活扩展

在当今数字化时代&#xff0c;企业与客户之间的沟通方式已经发生了翻天覆地的变化。随着互联网的普及和移动设备的普及&#xff0c;企业越来越依赖于线上聊天工具来与客户建立联系。而在这个背景下&#xff0c;TTKefu作为一款先进的多域名聊天工具&#xff0c;凭借其强大的功能…

大促前夕即高点,综合电商平台的“稀缺”魔法正在消失?

新一期618大促早已结束良久了&#xff0c;但似乎其产生的余韵却仍旧未消散。 从最直观的资本市场走势来看&#xff0c;自这一波618大促陆续开展之后&#xff0c;包括京东、阿里巴巴、拼多多等港美股股价就一改此前的上行态势&#xff0c;持续下滑至今。 事实上&#xff0c;早…

JAVA各版本-安装教程

目录 Java安装包下载 Java安装步骤 Java环境配置 Java安装包下载 到Oracle官网下载自己需要的版本 Oracle Java下载&#xff1a;Java Archive | Oracle Hong Kong SAR, PRC 下拉选择自己需要的版本&#xff08;本教程以Windows环境下&#xff0c;JAVA11为例&#xff09; 注…

MySQL的简介和安装目录

今日总结到此结束&#xff0c;拜拜&#xff01;

Chapter 8 Feedback

Chapter 8 Feedback 这一章我们介绍feedback 反馈运放的原理. 负反馈是模拟电路强有力的工具. 8.1 General Considerations 反馈系统如下图所示 Aolamp open-loop gain即开环增益. Aolxo/xi β \beta β 是 feedback factor, 注意方向. β x f x o \beta\frac{x_{f}}{x_{o…

香港优才计划真的要烂尾了吗?该如何防止这种情况发生!

香港优才计划真的要烂尾了吗&#xff1f;该如何提前应对避免烂尾&#xff01; 香港优才计划的“烂尾”说法主要源于对大量申请者可能面临的续签和转永居挑战的担忧。虽然2023年申请人数激增&#xff0c;但并非所有获得身份的人都能顺利过渡到永久居留。 以下是几个关键点&…

解析QAnything启动命令过程

一.启动命令过程日志 启动命令bash ./run.sh -c local -i 0 -b hf -m Qwen-1_8B-Chat -t qwen-7b-chat。输入日志如下所示&#xff1a; rootMM-202203161213:/mnt/l/20230918_RAG方向/QAnything# bash ./run.sh -c local -i 0 -b hf -m Qwen-1_8B-Chat -t qwen-7b-chat From …

Vulkan学习——渲染3D模型

摘要&#xff1a;本文简要描述了Vulkan渲染一个3D模型需要做的事情&#xff0c;不会对太细节的内容进行深究。   关键字&#xff1a;Vulkan,Render,3D 源码 1 简介 1.1 Vulkan简介 Vulkan是一个低开销、跨平台的二维、三维图形与计算的应用程序接口&#xff08;API&#x…

RK3568驱动指南|第十五篇 I2C-第166章 初步认识I2C

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

k8s流控平台apiserver详解

一、简单理解认识apiserver 1.主要功能 认证 鉴权 准入 mutating validating admission 限流 2.概念 apiserver保护etcd&#xff0c;缓存机制&#xff0c;有缓存直接返回&#xff0c;没缓存再去查看etcd,apiserver是担任和其他平台同信并认证 3.访问控制概览…

在postman中调试supabase的API接口

文章目录 在supabase中获取API地址和key知道它的restfull风格在postman中进行的设置1、get请求调试2、post新增用户调试3、使用patch更新数据&#xff0c;不用put&#xff01;4、delete删除数据 总结 在supabase中获取API地址和key 首先登录dashboard后台&#xff0c;首页- 右…