反射型DLL劫持(Reflective DLL Hijacking)是一种不依赖系统加载器而自主实现DLL映射与执行的技术。攻击者将自定义DLL直接写入目标进程内存,通过反射加载器模拟系统加载流程(解析重定位表、修复导入地址表、执行DllMain),规避对磁盘DLL文件的依赖。该技术特别擅长利用合法应用程序的DLL搜索顺序缺陷,将恶意代码注入到白名单进程的内存空间。
该技术的核心匿迹手段体现在"自主加载机制"与"上下文环境适配"两个方面。反射加载器通过内存操作完成传统由系统加载器处理的PE文件映射过程,包括自主解析节区属性、处理基址重定位、动态解析依赖API等。攻击过程中,恶意DLL通常被嵌入到文档、图片等非可执行文件中,在运行时通过内存解密后注入到存在DLL搜索路径缺陷的进程中(如使用LoadLibrary且未指定绝对路径的应用程序)。技术实施时需精确控制内存加载偏移量,确保劫持的DLL与宿主进程内存布局兼容,同时通过劫持合法DLL的导出函数转发机制维持进程功能正常性,使得行为监控系统难以察觉异常。
This type of attack technique cannot be easily mitigated with preventive controls since it is based on the abuse of system features.
Coming soon