首页
/ 深度睡眠:匿迹藏形的x64内存隐藏神器

深度睡眠:匿迹藏形的x64内存隐藏神器

2024-05-20 05:12:49作者:幸俭卉

在网络安全领域,对抗恶意软件检测和防止进程注入是一个持续不断的猫鼠游戏。今天,我们要向您介绍一个名为DeepSleep的开源项目,它提供了一种创新方法来隐藏x64系统的内存痕迹。这个项目借鉴了Gargoyle的技术,但进行了独特改进,无需APC(异步过程调用)并实现完全位置独立代码(PIC)。让我们一起深入探讨。

项目介绍

DeepSleep是由一位安全研究者开发的一个模块,用于理解如何利用类似于Gargoyle的技术在x64系统中规避内存扫描器。通过构建一个只依赖于ROP(返回导向编程)链的程序,DeepSleep可以在执行线程进入休眠状态时将其自身的内存页标记为不可用,从而在不活动期间逃避检测。

项目技术分析

DeepSleep的工作原理是设置一个ROP链,依次调用VirtualProtect()、Sleep()以及再次调用VirtualProtect()。当线程处于活动状态时,显示一个消息框,并将DeepSleep的页面标记为可执行。而当线程进入睡眠模式时,该页面则被标记为不可访问。这种方法成功地绕过了Moneta等内存扫描工具的检测,特别是在使用Earlybird等注入技术将DeepSleep注入到notepad.exe等进程中时。

应用场景

DeepSleep对于那些希望提升隐藏性以避免反病毒软件和内存分析工具检测的安全研究人员来说,是一种极有价值的工具。它可以作为一个起点,帮助研究者探索如何创建更隐蔽的C2(命令与控制)代理或加载器,并提高在目标系统上的持久性。

项目特点

  1. 无APC依赖 - 与传统的Gargoyle不同,DeepSleep完全依赖于ROP,避免了APC可能导致的检测。
  2. 全位置独立代码 - DeepSleep实现了PIC,使得更容易确定要隐藏的内存页面,简化了代码的移植性。
  3. 兼容性 - 虽然在特定Windows版本上测试,但设计思路能够适应不同的环境。
  4. 易于使用 - 提供预编译的二进制文件,也可使用Mingw进行编译。

尽管存在一些限制,如可能对其他版本的Windows中的ntdll.dll ROP gadgets的依赖,但DeepSleep展示了在保护内存痕迹方面的可能性。对于想要了解或对抗这种技术的人来说,这是一个值得关注和学习的项目。

结论

DeepSleep不仅是一个技术演示,更是信息安全领域的一次探索。它的出现鼓励我们思考如何在现有的安全框架下寻找新的防守策略。无论您是一位安全研究人员,还是热衷于代码注入和内存分析的学生,这个项目都值得您深入了解并尝试。

立即查看DeepSleep项目,开启您的隐藏之旅!

登录后查看全文
热门项目推荐