走进数码网--数码时代的电脑应用专家首页·新闻·数码·硬件·摄友·产品·网络·术语·技巧·下载·卖场·答疑·笑话·读编·RSS·博客·论坛·繁體版
网络时空频道首页频道首页·硬碰硬·黑客攻防·站长之家·网络学堂·网络技巧·小怪诊所·术语·下载·论坛
网络新品导购黑客入门黑客教程攻防实战QQ攻防黑客编程黑人黑事网络编程网页陶吧数据库网站架设网站推广升知堂
宽带无线LANASPPHPJSP.NETXMLCGIJavaHTML/CSSDreamweaverFrontpageAccessMSSQLMySQLDB2OracleSybase
 您现在的位置: 走进数码网 >> 网络时空 >> 站长之家 >> 安全防范 >> 安全初步 >> 网络正文
来自碎片对象文件的威胁

发表日期:2005-8-4 来源:互联网 作者:佚名 阅读:
收藏至:新浪ViVi | 天天网摘 | 人人网摘 | 加加文摘 | YouNote书签 | 我摘网摘 | 博采中心 | 和讯网摘

  很多人都应该都见过Windows产生的碎片文件,Windows中有一种被称为碎片对象的文件(.shs文件)。如果你在邮件附件中收倒一份这样的文件,你敢不敢打开它呢。估计很多人都不会觉得这种文件是一个威胁。原因有几点:

  1.碎片对象文件的缺省图标是一个和记事本文件图标相类似的图标,很容易会被误认为是一些文本的文档,用户对他的警惕心理也比较小。

  2..shs是一个无条件隐藏扩展名的文件。即使是在“资源管理器\工具\文件夹选项\查看”属性中将隐藏已知文件扩展名属性设为不隐藏,.shs文件仍然是隐藏。很多人都喜欢将文件扩展名显示出来(包括我),这样对文件的情况了解的更清楚些。可是一个test.txt.shs文件在浏览器中显示依然是test.txt.在你已经习惯了看到文件扩展名的情况下,你会对这样一个文件起疑心吗?

  3.即使有疑心,你用任何杀毒软件都不会找到这个文件的一点问题,因为这个文件本身就没有病毒,也不是可执行的,而且还是系统文件。你会怀疑这样的文件吗?

  一、测试方法

  那么,碎片对象到底对用户的计算机会造成什么威胁呢?我们一起来作个测试就明白了。(测试环境是在Windows 2000 Server中文版上进行的)。我们先在硬盘上创建一个测试用的文件test.txt(我创建的位置是e:\test.txt),然后我们来制作一个能删除这个测试文件的碎片对象文件。

  1.先运行一个对象包装程序(packager.exe),我的win2000server是在/winnt/system32下。

  2.新建一个文件后,打开菜单文件->导入,这时会弹出一个文件对话框,让你选择一个文件。不用考虑,随便选择一个文件就可以了。

  3.然后打开编辑->命令行,在弹出的命令行输入对话框中输入cmd.exe/cdele:\test.txt,确定。

  4.选然后在菜单中选择编辑->复制数据包。

  5.然后随便在硬盘上找个地,我就直接在桌面上了。在桌面上点击鼠标右键,在弹出菜单中选择粘贴,这时可以看到桌面创建了一个碎片对象文件。现在我们可以双击一下这个文件,一闪而过地cmd窗口之后,在到e盘看看,测试文件e:\test.txt已经被删除了。现在知道了,当时在对象包装中输入地命令被执行了。好危险啊,要是这命令是删除系统中一个重要文件,或者是format什么的。不要告诉我你想用这方法去format别人的硬盘吧。

  二、技术原理

  试验完了,我们来讲讲原理吧。懒的写了基础知识,到网上找了一段关于OLE的简单介绍,作者看见别骂我啊,多多原谅。

  OLE(ObjectLinkingAndEmbedding,对象链接与嵌入),OLE允许你通过使用来自两个或多个WINDOWS应用程序的资源来创造复杂的文本,OLE提供了方便的技术用来将文字和来自不同程序的数字表、图象和其他类型的数据组合起来。为此,OLE定义了将对象附属于宿主文本的两个基本方法,链接与嵌入:

  嵌入:一个嵌入对象包含在宿主文本中。要创建或编辑一个嵌入对象的数据时,你可以在不离开宿主文本的情况下激活源应用程序。此结果对象将保存在宿主文本中,而不是另外其它的文件。例如,你创建了一个字处理文本,其中包含嵌入Excel工作表。为了执行在此工作表上的操作,你可以在此文本内部激活Excel。在保存了此字处理文件后,你同时也将嵌入的工作表数据保存了下来。

  链接:相比之下,一个链接对象却保存在外部文件中。宿主文本包含了对数据的引用以及对链接对象的映象,而不保存数据本身。在修订对象数据时,所做的改变显示在宿主文本中但却保存在外部文件中。例如,包含一个链接Excel工作表对象的字处理文本提供给你对用于编辑工作表数据的Excel资源的完整访问能力。此文本包含了对分立工作表文件的引用。如果此工作表恰好被链接入任何其它文本中则可以从任何一个它的宿主文本中编辑其数据。Windows在需要时可以更新此链接关系(简称链),这样便可以给每一个宿主文本提供数据的最新版本。也就是说,我们所输入的命令作为OLE对象嵌入到对象包装程序新建的文件中了,而微软为了能方便的将嵌入到文件的对象进行复制,使用了一种技术ShellScrapObject(简称SHS),就是说,当你在不同文件间复制对象时,Windows是将对象包装成一个碎片对象来进行复制的。因此,一旦我们不是在文件间进行复制粘贴,而是直接将碎片对象粘贴到硬盘上,就会产生一个.shs文件。这个碎片对象文件保存了原来对象的所具备的功能,原来对象包含的命令同样会被解析执行。

  三、解决方法

  既然这种文件可能会带来危险,那么我们该如何防止来自这种文件的威胁呢?shs文件既然不是可执行文件,当然需要其他的程序来解析执行了,我们去掉解析执行的关联就可以简单防止这种文件中潜伏的威胁了。打开注册表编辑器:regedit.exe在[HKEY_CLASSES_ROOT\.shs]主键下,将默认值ShellScrap删除,然后在双击.shs文件,这回不会去执行了,弹出让我们选择打开.shs文件需要的程序的对话框。跟彻底一点的办法是将[HKEY_CLASSES_ROOT\ShellScrap\shell\open\command]下的打开.shs文件的关联完全去掉,现在即使双击.shs文件,连选择运行的程序也对话框也不打开了,直接要求在控制面板重建文件关联。

  四、题外的话

  在Windows系统中,还存在其他一些类似的的文件后缀名,如.shb、.lnk等等,例如攻击者可以在快捷方式文件属性指向中同样嵌入恶意命令,对系统造成危害。



【责任编辑:怪鸭兽】

发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
发表评论(评论内容只代表网友观点,与本站立场无关。)

姓名: * QQ:
性别:MSN:
E-mail: ICQ:
主页:评分:1分2分3分4分5分
内容:
·请遵守《互联网电子公告服务管理规定》《全国人大常委会关于维护互联网安全的决定》及中华人民共和国其他法律法规。
·用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
用户登录
站内搜索


文章资讯软件下载
摄友部落i 论 坛
相关文章
  • 菜鸟如何查找清除线程插入式木马程序

  • 防黑主要是日常维护

  • SQL Server 2000的安全配置

  • Linux安全之防火墙配置过程

  • 断网之后:基础网络安全不容忽视

  • 用Windows 2000安全审核让入侵者显形

  • 木马各种隐藏技术全方位大披露

  • 当前网络漏洞扫描产品市场初探

  • 对于网络过载攻击的解析

  • 大众版网络银行安全隐患大 安全还靠客户自己

  • 图片文章
    热点文章
    关于我们 | 广告服务 | 投稿指南 | 人才招聘 | 隐私条款 | 会员注册 | 友情链接 | 意见反馈 | 网站地图
    走进数码网 走进宠物网 走进广告网 轻松网址导航
    Copyright © 2002-2005 走进宠物网 所有文章和图片版权所有
    未经授权禁止一切非法转载、摘编、复制或建立镜像,否则将追究其法律责任。
    京ICP备05055013号 68互联提供网络带宽