深度睡眠:匿迹藏形的x64内存隐藏神器
在网络安全领域,对抗恶意软件检测和防止进程注入是一个持续不断的猫鼠游戏。今天,我们要向您介绍一个名为DeepSleep的开源项目,它提供了一种创新方法来隐藏x64系统的内存痕迹。这个项目借鉴了Gargoyle的技术,但进行了独特改进,无需APC(异步过程调用)并实现完全位置独立代码(PIC)。让我们一起深入探讨。
项目介绍
DeepSleep是由一位安全研究者开发的一个模块,用于理解如何利用类似于Gargoyle的技术在x64系统中规避内存扫描器。通过构建一个只依赖于ROP(返回导向编程)链的程序,DeepSleep可以在执行线程进入休眠状态时将其自身的内存页标记为不可用,从而在不活动期间逃避检测。
项目技术分析
DeepSleep的工作原理是设置一个ROP链,依次调用VirtualProtect()、Sleep()以及再次调用VirtualProtect()。当线程处于活动状态时,显示一个消息框,并将DeepSleep的页面标记为可执行。而当线程进入睡眠模式时,该页面则被标记为不可访问。这种方法成功地绕过了Moneta等内存扫描工具的检测,特别是在使用Earlybird等注入技术将DeepSleep注入到notepad.exe等进程中时。
应用场景
DeepSleep对于那些希望提升隐藏性以避免反病毒软件和内存分析工具检测的安全研究人员来说,是一种极有价值的工具。它可以作为一个起点,帮助研究者探索如何创建更隐蔽的C2(命令与控制)代理或加载器,并提高在目标系统上的持久性。
项目特点
- 无APC依赖 - 与传统的Gargoyle不同,DeepSleep完全依赖于ROP,避免了APC可能导致的检测。
- 全位置独立代码 - DeepSleep实现了PIC,使得更容易确定要隐藏的内存页面,简化了代码的移植性。
- 兼容性 - 虽然在特定Windows版本上测试,但设计思路能够适应不同的环境。
- 易于使用 - 提供预编译的二进制文件,也可使用Mingw进行编译。
尽管存在一些限制,如可能对其他版本的Windows中的ntdll.dll ROP gadgets的依赖,但DeepSleep展示了在保护内存痕迹方面的可能性。对于想要了解或对抗这种技术的人来说,这是一个值得关注和学习的项目。
结论
DeepSleep不仅是一个技术演示,更是信息安全领域的一次探索。它的出现鼓励我们思考如何在现有的安全框架下寻找新的防守策略。无论您是一位安全研究人员,还是热衷于代码注入和内存分析的学生,这个项目都值得您深入了解并尝试。
立即查看DeepSleep项目,开启您的隐藏之旅!
- 国产编程语言蓝皮书《国产编程语言蓝皮书》-编委会工作区017
- nuttxApache NuttX is a mature, real-time embedded operating system (RTOS).C00
- qwerty-learner为键盘工作者设计的单词记忆与英语肌肉记忆锻炼软件 / Words learning and English muscle memory training software designed for keyboard workersTSX027
- 每日精选项目🔥🔥 01.17日推荐:一个开源电子商务平台,模块化和 API 优先🔥🔥 每日推荐行业内最新、增长最快的项目,快速了解行业最新热门项目动态~~026
- Cangjie-Examples本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。Cangjie045
- 毕方Talon工具本工具是一个端到端的工具,用于项目的生成IR并自动进行缺陷检测。Python039
- PDFMathTranslatePDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/DockerPython05
- mybatis-plusmybatis 增强工具包,简化 CRUD 操作。 文档 http://baomidou.com 低代码组件库 http://aizuda.comJava03
- advanced-javaAdvanced-Java是一个Java进阶教程,适合用于学习Java高级特性和编程技巧。特点:内容深入、实例丰富、适合进阶学习。JavaScript0108
- taro开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信/京东/百度/支付宝/字节跳动/ QQ 小程序/H5/React Native 等应用。 https://taro.zone/TypeScript09