DLLHijack漏洞原理
原理? 当一个可执行文件运行时,windows加载器讲课执行模块映射到进程的地址空间中,加载器分析可执行模块的输入表,并设法找出任何需要的DLL,并将它们映射到进程的地址空间中。 由于输入表中只包含DLL名而没有它的路径名,因此加载程序必须在磁盘上搜索DLL文件。而这里DLL文件搜索遵循以下顺序。
攻击者先伪造一个与系统同名的DLL,提供同样的输出表,每个输出函数转向真正的系统DLL。程序调用系统DLL时会优先调用系统DLL时会先调用当前目录下伪造DLL,完成相关功能(恶意代码或者程序补丁)。再跳到系统DLL同名函数里执行。这个过程用形象的词描述就是系统DLL被劫持(Hijack)了。 攻击文件构造
事例: 微软存在DLl劫持导致远程攻击;wireshark;windows live email;Microsoft movieMaker;Firefox;uTorrent;PPT2010;等等软件都被曝光过存在DLL劫持漏洞 危害: 安装上述软件的用户打开图片,视频,BT种子,网页文件都有可能感染病毒。 攻击者利用DLL劫持漏洞构造一个特殊的DLL文件,将这个DLL文件打包到一些jpg、ppt、MP3、mpg、html文件中分发,用户解压双击打开文档,病毒即被立即触发。 ? ? 新型DLL劫持漏洞形成原理: 应用程序为了扩展或者兼容等目的需要加载相应的DLL文件,但是因为某些原因导致这个DLL文件默认不存在当前系统中,此时就会尝试加载文档所在目录下的DLL文件,从而达到破坏的作用。 ? ? 应对: DLL劫持利用了系统未知DLL的搜索路径方式,使得程序加载当前目录下的系统同名DLL。所以可以首先告诉系统DLL的未知,改变加载系统DLL的顺序不是当前目录,这个想法可以通过修改注册表实现。新版的操作系统注册表键值已经相当齐全,因此建议使用新版操作系统。
而对于新型的DLL劫持,因为并没有十分有效的应对方式,所以用户要养成运行文件前检查目录的习惯,开启隐藏文件和显示系统文件选项,防止通过应用程序加载恶意DLL。 2018-12-28 ? ? ? ?22:38:25 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?《黑客防线2012合订本》笔记 撒地方 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows-7 – cygwin tmux在Windows 7上 – 为什么tmux不会
- .NET不使用DLL
- windows – 如何知道使用RawInput按下班次?
- .net – 如何从我的DLL访问我的MainForm中的函数
- windows-server-2003 – 如何安排任务在Windows Server 200
- .net – 现在没有Windows应用程序的范围吗?
- .net – Windows Azure,解决实例和粘性会话
- 是否有充分的理由在Windows上分区磁盘?
- Windows Python版本和VC可再发行版本
- Windows-8 – Visual Studio 2010 SP1与Windows 8不兼容?
- 使用Powershell找出使用大量内存的内容(在64位Wi
- 在Qt内部通过Windows GDI绘图
- 在IIS 7 w/Windows Server 2008上使用委派设置Ke
- Windows上的奇怪Python错误,在调试器下工作
- Windows下wamp php单元测试工具PHPUnit安装及生成
- windows – PHPUnit的奇怪输出
- winapi – 如何使用嵌入作为资源的清单? (Windo
- 在PowerShell中关闭所有资源管理器Windows
- windows-phone-7 – 如何在Silverlight Toolkit中
- windows-8 – 无法在Windows 2012服务器中安装.n