摘要:
一、介绍 取消 ntdll.dll 钩子的另一种方法是通过从挂起的进程读取它。这是可行的,因为 EDR(终端检测与响应系统) 需要运行中的进程来安装它们的挂钩,而在挂起状态下创建的进程会包含干净的 ntdll.dll 映像,允许用挂起进程的文本部分替换当前进程的.text部分。 典型的进程启动过程中 阅读全文
摘要:
一、介绍 本文介绍如何通过将已挂钩的 NTDLL 的文本段覆盖为从磁盘的 NTDLL 映像中获取的未挂钩版本来实现 NTDLL 反挂钩。执行 NTDLL 反挂钩的步骤如下: 通过读取或映射(下面展示了这两种方法)从磁盘检索一个干净版本的 NTDLL 的句柄。 获取属于当前进程的挂钩 NTDLL 的句 阅读全文
摘要:
一、介绍 NTDLL 解除挂钩是将加载进程中的钩子 DLL 替换为未更改的未钩子版本,用未挂钩的版本替换挂钩的 DLL 需要手动设置 IAT、修复重新分配和其他繁琐的任务。为了避免这种情况, .text 可以替换 DLL 的一部分,特别是包含挂钩的部分。文本部分包含 DLL 的导出函数代码,这是安装 阅读全文
摘要:
一、什么是edr 终端检测与响应(EDR)是一种安全解决方案,可检测并响应勒索软件和恶意软件等威胁。它通过持续监控端点可疑活动来工作,方法是收集有关事件的数据,如系统日志、网络流量、进程间通信 (IPC)、RPC 调用、身份验证尝试和用户活动。 安装在端点上的 EDR 将收集数据,然后分析并关联它们 阅读全文
摘要:
一、介绍 二进制文件中移除 C 运行时库后,将清除 IAT 中所有未使用的 WinAPI 函数。但是,如果二进制文件只导入了很少的 WinAPI 函数,特别是结合使用 API 哈希,甚至可能导致导入函数为零时,这可能会引起怀疑。作为恶意软件开发人员,重要的是让恶意软件实现看起来正常。具有伪 IAT 阅读全文
摘要:
一、介绍 所有代码项目要么使用 Visual Studio 中的"Release"选项要么使用"Debug"选项进行编译。对于恶意软件开发者,了解 Visual Studio 中的 Release 和 Debug 编译选项之间的区别以及更改默认编译器设置的影响非常重要。修改 Visual Studi 阅读全文
摘要:
一、介绍 信息论熵 指的是数据集中随机性的程度,随机性程度增加,熵值也随之增大。各种类型的熵度量标准,如吉布斯熵、玻尔兹曼熵和雷尼熵。然而,在网络安全领域,熵通常指的是香农熵,它产生 0 到 8 之间的一个值。随着数据集中随机性级别的增加,熵值也会增加。 恶意软件二进制文件通常具有高于普通文件的高熵 阅读全文
摘要:
一、延迟执行介绍 延迟执行是一种常见的技术,用于绕过沙盒环境。沙盒通常具有时间限制,会阻止它们长时间分析二进制文件。因此,恶意软件可以在代码执行中引入长时间的暂停,迫使沙盒在能够分析二进制文件之前终止,如果恶意软件样本在解密和执行有效负载之前执行一个等待函数三分钟,那么分析时间限制为两分钟的沙盒将无 阅读全文
摘要:
一、通过硬件规格实现反虚拟化 一般来说,虚拟化环境无法完全访问主机的硬件。恶意软件可以利用对硬件缺乏完全访问权限来检测它是否在虚拟环境或沙箱中执行。请记住,无法保证完全准确,因为机器可能只是以较低的硬件规格运行。将检查的硬件规格如下: CPU — 检查处理器数量是否少于 2 个。 RAM — 检查是 阅读全文
摘要:
一、介绍 反分析技术是防止安全分析师分析恶意软件、查找静态或动态签名和 IoC 的措施。因为这些信息用于在下一次在环境中发现它时检测样本,恶意软件分析师会通过分析可疑二进制文件收集数据。一般来说,恶意软件分析师总是会找到逆向工程恶意软件的方法,因此反分析技术的目标是让分析过程更加耗时。 二、实现 ( 阅读全文