解析映像劫持技术第1/3页

 更新时间:2008年06月26日 22:19:06   作者:  
诡异的中毒现象
一. 诡异的中毒现象

  在成品检验科文员办公室的一台电脑上折腾半个小时后,计算机维护部门的技术员只觉得眼皮不停狂跳,因为从刚开始接手这个任务开始,他就一直在做无用功:他随身带的U盘里引以为豪的众多维护工具包在这台机器上全军覆没,无论他直接在U盘上运行还是随便复制到哪个目录里,系统都是报告“找不到文件”或者直接没有运行起来的反应,他第一次感受到了恐惧,文件分明就好好的在眼皮底下,可它们就是“找不到”或死活不肯执行,莫非是在这台机器上被病毒破坏了?他只好打开网页尝试重新下载,但是他很快就绝望了,刚下载的查杀工具同样也不能使用。

  无奈之下他只好在众多文员的期待下说出了大部分号称上门维护电脑的高手们常用的一句话,一般情况下这句话马上能让大部分用户接受残酷的现实,允许其重装系统,并为这次重装系统付出50元的价格,这句话就是:“系统文件严重损坏了,没法修了,只能重装。”

  装完系统和常用办公软件后,他像一个贼似的赶紧离开了办公室,生怕多呆一会儿就会惹来什么麻烦似的,而他却不知道,“麻烦”早已在他刚才使用的U盘上安家了。回到自己的电脑前,他刚右键点击U盘,就看见鼠标忙碌的状态比平时久了点,然后托盘区里的杀毒软件和网络防火墙都消失了,他心里一慌张,赶紧运行超级巡警,系统却报告“找不到文件”,他一下子呆在了电脑前:瘟神跟上门来了……

  古语云:道高一尺,魔高一丈。这句经典哲理在网络上得到了迅速的延伸应用。今年初,一种早已有之的系统调试功能被应用到病毒技术上,从而摇身一变成为恶魔的代言人,普通用户很快就面临了一场莫名其妙的病毒灾难,这就是“映像劫持”。

  二. 我本将心向明月,奈何明月照……

  “映像劫持”,也被称为“IFEO”(Image File Execution Options,其实应该称为“Image Hijack”,后面章节会详细提到,至少也应该称为IFEO Hijack而不是只有“IFEO”自身!),它的存在自然有它的理由,在WindowsNT架构的系统里,IFEO的本意是为一些在默认系统环境中运行时可能引发错误的程序执行体提供特殊的环境设定,系统厂商之所以会这么做,是有一定历史原因的,在Windows NT时代,系统使用一种早期的堆(Heap,由应用程序管理的内存区域)管理机制,使得一些程序的运行机制与现在的不同,而后随着系统更新换代,厂商修改了系统的堆管理机制,通过引入动态内存分配方案,让程序对内存的占用更为减少,在安全上也保护程序不容易被溢出,但是这些改动却导致了一些程序从此再也无法运作,为了兼顾这些出问题的程序,微软以“从长计议”的态度专门设计了“IFEO”技术,它的原意根本不是“劫持”,而是“映像文件执行参数”!

  IFEO设定了一些与堆分配有关的参数,当一个可执行程序位于IFEO的控制中时,它的内存分配则根据该程序的参数来设定,那么如何使一个可执行程序位于IFEO的控制中呢?答案很简单,Windows NT架构的系统为用户预留了一个交互接口,位于注册表的“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options”内,使用与可执行程序文件名匹配的项目作为程序载入时的控制依据,最终得以设定一个程序的堆管理机制和一些辅助机制等,大概微软考虑到加入路径控制会造成判断麻烦与操作不灵活的后果,也容易导致注册表冗余,于是IFEO使用忽略路径的方式来匹配它所要控制的程序文件名,例如IFEO指定了对一个名为“小金.EXE”的可执行程序文件进行控制,那么无论它在哪个目录下,只要它名字还叫“小金.EXE”,它就只能在IFEO的五指山里打滚了。

  说了半天都只是纯粹的概念,那么IFEO到底是怎么样发挥作用的呢?例如有一个程序文件名为“lk007.exe”,由于使用了旧的堆管理机制,它在新系统里无法正常运行甚至出现非法操作,为了让系统为其提供旧的堆管理机制,我们需要IFEO来介入,则需执行以下步骤:

  1. 确保在管理员状态下执行regedit.exe,定位到以下注册表项:

  
Quote:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options


  2. 在“Image File Execution Options”下建立一个子键,名为“lk007.exe”,不区分大小写。现在确保位于HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\lk007.exe\下,建立一个字符串类型的注册表项,名为“DisableHeapLookAside”,值为“1”

  3. 再次运行lk007.exe查看运行情况,如果真的是由于堆管理机制引发的问题,则程序得以正常运行,否则该程序问题不属于IFEO能够干涉的范围,或者需要尝试搭配其他的参数使用。

  目前已知的IFEO参数有:

    
Quote:
  ApplicationGoo 
  Debugger 
  PageHeapFlags 
  DisableHeapLookAside 
  DebugProcessHeapOnly 
  PageHeapSizeRangeStart 
  PageHeapSizeRangeEnd 
  PageHeapRandomProbability 
  PageHeapDllRangeStart 
  PageHeapDllRangeEnd 
  GlobalFlag 
  BreakOnDllLoad 
  ShutdownFlags 


相关文章

  • Web网络安全漏洞分析SQL注入原理详解

    Web网络安全漏洞分析SQL注入原理详解

    这篇文章主要为大家介绍了Web网络安全漏洞分析SQL注入的原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2021-11-11
  • 突破神奇的Cloudflare防火墙的网络安全学习

    突破神奇的Cloudflare防火墙的网络安全学习

    这篇文章主要为大家介绍了突破神奇的Cloudflare防火墙的网络安全学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 防护网站存在的sql注入攻击漏洞措施

    防护网站存在的sql注入攻击漏洞措施

    这篇文章主要为大家介绍了如何防护网站存在的sql注入攻击漏洞方法措施,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • 网络安全及防御之SQL注入原理介绍

    网络安全及防御之SQL注入原理介绍

    本文讲解了SQL注入的原理、特点、危害,SQL注入的攻击手法和MySQL注入的常用函数,讲解相关工具,如何去防御SQL注入,带大家了解了解SQL注入相关概念,掌握SQL注入攻击手法,了解SQL注入相关工具和防御方法
    2021-09-09
  • 网络安全流量分析工具蚁剑详细介绍

    网络安全流量分析工具蚁剑详细介绍

    蚁剑(AntSword)是一款开源的跨平台WebShell管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员,蚁剑推崇模块化的开发思想,遵循开源,就要开得漂亮的原则,致力于为不同层次的人群提供最简单易懂、方便直接的代码展示及其修改说明
    2022-09-09
  • 解析映像劫持技术

    解析映像劫持技术

    诡异的中毒现象
    2008-06-06
  • Web网络安全分析二次注入攻击原理详解

    Web网络安全分析二次注入攻击原理详解

    这篇文章主要为大家讲解介绍了Web网络安全分析二次注入攻击原理的详解,有需要相关学习的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • 关闭端口防止病毒与黑客入侵的设置方法

    关闭端口防止病毒与黑客入侵的设置方法

    关闭端口防止病毒与黑客入侵的设置方法...
    2007-04-04
  • 渗透测试信息收集查询真实IP过程

    渗透测试信息收集查询真实IP过程

    这篇文章主要为大家介绍了渗透测试信息收集查找真实IP过程步骤,有需要的朋友可以借鉴参考下希望能够有所帮助,祝大家,多多进步,早日升职加薪
    2021-11-11
  • SQL注入详细讲解(万字长文,全网最全!)

    SQL注入详细讲解(万字长文,全网最全!)

    SQL注入是比较常见的网络攻击方式之一,它不是利用操作系统的BUG来实现攻击,而是针对程序员编写时的疏忽,下面这篇文章主要给大家介绍了关于SQL注入详细讲解的相关资料,需要的朋友可以参考下
    2023-03-03

最新评论