什么,TXT文件也有危险?是的!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。那么直接打开这个文件为什么有危险呢?请看如果这个文件的内容如下:
您可能以为它会调用记事本来运行,可是如果您双击它,结果它却调用了HTML来运行,并且自动在后台开始格式化D盘,同时显示“Windows" onclick="tagshow(event)" class="t_tag">Windows is configuring the system。Plase do not interrupt this process。”这样一个对话框来欺骗您。您看随意打开附件中的.txt的危险够大了吧?
欺骗实现原理:当您双击这个伪装起来的.txt时候,由于真正文件扩展名是.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B},也就是.html文件,于是就会以html文件的形式运行,这是它能运行起来的先决条件。
文件内容中的第2和第3行是它能够产生破坏作用的关键所在。其中第3行是破坏行动的执行者,在其中可以加载带有破坏性质的命令。那么第2行又是干什么的呢?您可能已经注意到了第2行里的“WSCript”,对!就是它导演了全幕,它是幕后主谋!
WScript全称Windows Scripting Host,它是Win98中新加进的功能,是一种批次语言/自动执行工具——它所对应的程序“WScript.exe”是一个脚本语言解释器,位于c:\WINDOWS下,正是它使得脚本可以被执行,就象执行批处理一样。在Windows Scripting Host脚本环境里,预定义了一些对象,通过它自带的几个内置对象,可以实现获取环境变量、创建快捷方式、加载程序、读写注册表等功能。
识别及防范方法:
①这种带有欺骗性质的.txt文件显示出来的并不是文本文件的图标,它显示的是未定义文件类型的标志,这是区分它与正常TXT文件的最好方法。
②识别的另一个办法是在“按WEB页方式”查看时在“我的电脑”左面会显示出其文件名全称(如图1),此时可以看到它不是真正的TXT文件。问题是很多初学者经验不够,老手也可能因为没留意而打开它,在这里再次提醒您,注意您收到的邮件中附件的文件名,不仅要看显示出来的扩展名,还要注意其实际显示的图标是什么。
③对于附件中别人发来的看起来是TXT的文件,可以将它下载后用鼠标右键选择“用记事本打开”,这样看会很安全。
二. 恶意碎片文件
另一类可怕的TXT文件是一种在Windows中被称作“碎片对象”(扩展名为“SHS”)的文件,它一般被伪装成文本文件通过电子邮件附件来传播,比方说,这个样子:QQ号码放送.txt.shs,由于真正地后缀名“SHS”不会显示出来,如果在该文件中含有诸如“format”之类的命令将非常可怕!不仅如此,以下四点原因也是其有一定危害性的原因:
①碎片对象文件的缺省图标是一个和记事本文件图标相类似的图标,很容易会被误认为是一些文本的文档,用户对它的警惕心理准备不足。
②在Windows的默认状态下,“碎片对象”文件的扩展名(“.SHS”)是隐藏的,即使你在“资源管理器”→“工具”→“文件夹选项”→“查看”中,把“隐藏已知文件类型的扩展名”前面的“√”去掉,“.SHS”也还是隐藏的,这是因为Windows支持双重扩展名,如“QQ号码放送.txt.shs”显示出来的名称永远是“QQ号码放送.txt”。
③即使有疑心,你用任何杀毒软件都不会找到这个文件的一点问题,因为这个文件本身就没有病毒,也不是可执行的,而且还是系统文件。你会怀疑这样的文件吗?
④这种SHS附件病毒制造起来非常容易,5分钟就可以学会,也不需要编程知识(格式化C盘的命令:“Format c:”大家都知道吧^_^)。
1. 具体实例
那么,碎片对象到底对用户的计算机会造成什么威胁呢?我们一起来作个测试就明白了。以下测试环境是在Windows 2000 server中文版上进行的。我们先在硬盘上创建一个测试用的文件test.txt(我创建的位置是D:\test.txt),然后我们来制作一个能删除这个测试文件的碎片对象文件。
①先运行一个对象包装程序(packager.exe),我的Win2000 server安装在/winnt/system32下。
②新建一个文件后,打开菜单“文件”→“导入”,这时会弹出一个文件对话框,让你选择一个文件。不用考虑,随便选择一个文件就可以了。
③然后打开“编辑”→“命令行”,在弹出的命令行输入对话框中输入“cmd.exe /c del d:\test.txt”,点“确定”。
④然后,在菜单中选择“编辑”→“复制数据包”。
⑤接着,随便在硬盘上找个地方,我就直接在桌面上了。在桌面上点击鼠标右键,在弹出菜单中选择“粘贴”,这时我们可以看到在桌面创建了一个碎片对象文件。
现在我们可以双击一下这个文件,CMD窗口一闪而过后,再到D盘看看,测试文件D:\test.txt已经被删除了!现在你该知道了,当时在对象包装中输入地命令被执行了。好危险啊,如果这条命令是要删除系统中的一个重要文件,或者是格式化命令format之类的危险命令,那该有多么的可怕!
本文来源:来自网络 作者:佚名