作者KSfish (牧场里的蠢牛)
看板share
标题[资讯] TXT档潜在的危险
时间Mon Feb 28 17:00:01 2005
摘录自
http://www.hkitn.com/article.php/2742
--
TXT档潜在的危险
什麽,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 is configuring the
system。Plase do not interrupt this process。”这样一个对话方块来欺骗您。您看
随意打开附件中的.txt的危险够大了吧?
欺骗实现原理:当您双击这个伪装起来的.txt时候,由於真正档副档名是
.{3050F4D8-98B5-11CF-BB82-00AA00BDCE0B},也就是.html文件,於是就会以html文件
的形式运行,这是它能运行起来的先决条件。
档内容中的第2和第3行是它能够产生破坏作用的关键所在。其中第3行是破坏行
动的执行者,在其中可以载入带有破坏性质的命令。那麽第2行又是干什麽的呢?您可
能已经注意到了第2行里的“Ws cript”,对!就是它导演了全幕,它是幕後主谋!
Ws cript全称Windows s cripting Host,它是Win98中新加进的功能,是一种批次语
言/自动执行工具——它所对应的程式“Ws cript.exe”是一个脚本语言解释器,位於
c:\WINDOWS下,正是它使得脚本可以被执行,就象执行批次处理一样。在Windows
s cripting 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分钟就可以学会,也不需要编程知识(格
式化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之类的危险命令,那该有多麽的可怕!
下面让我们一起来看看这个“隐身杀手”的真正面目吧!
2. 技术原理
依照微软的解释,SHS档是一类特殊的OLE(Object Linking and Embedding,对
象连接和嵌入)物件,可以由Word文档或Excel试算表创建。通过选择文档中文本或
图像的一块区域,然後拖放该区域到桌面上的某处,就可以创建一个Windows碎片对
象,或称为SHS档(此档是不可读档)。但是你可以用任何其他你想要的档案名
重新命名SHS档,或者拖放SHS物件到另一个文档(同样地,你可以剪切和粘贴)。
也就是说,我们所输入的命令作为OLE物件嵌入到物件包装程式新建的档中了,
而微软为了能方便的将嵌入到档的物件进行复制,使用了一种技术Shell Scrap
Object(简称SHS),就是说,当你在不同档间复制物件时,Windows是将物件包装成一
个碎片对象来进行复制的。因此,一旦我们不是在档间进行复制粘贴,而是直接将碎
片物件粘贴到硬碟上,就会产生一个.SHS文件。这个碎片物件档保存了原来物件的所
具备的功能,原来物件包含的命令同样会被解析执行,这正是其可怕这处!
3. 防范方法
(1)“野蛮”法
SHS档既然不是可执行档,当然需要其他的程式来解析执行了,我们去掉解析
执行的关联就可以简单防止这种档中潜伏的威胁了。 运行注册表编辑器
regedit.exe,在HKEY_CLASSES_ROOT\.shs主键下,将预设值ShellScrap删除,现在双
击.SHS档,看,不会执行了吧?弹出了一个对话方块,让我们选择打开.SHS档需要的
程式,此时你选择“记事本”程式看就非常安全了。 更彻底一点的办法是将
HKEY_CLASSES_ROOT\ShellScrap\shell\open\command下的打开.SHS文件的关联完全去
掉,现在双击.SHS档,连选择运行程式的对话方块也不出现了,它会直接要求在控制面
板重建文件关联。
(2)“文明”法
?在注册表编辑器HEY_CLASSES_ROOT\ShellScrap键下,有一个键值
“NeverShowExt”,它是导致“.SHS”档副档名无法显示的罪魁祸首。删除这个键
值,你就可以看到“.SHS”副档名了。
?更换“碎片物件”档的默认图示。由於碎片物件档的默认图示与文字档案图
标非常相似,容易麻痹人,所以我们要更换它的图示。打开资源管理器,选中“查看”
功能表下的“档夹选框”,在弹出的对话方块中选择“档类型”标签,在“已注册的文
件类型”下找到“碎片对象”。单击右上角“编辑”按钮,在打开的“编辑档类型”
对话方块中单击上边的“更改图示”按钮。打开C:\WINDOWS\SYSTEM\Pifmgr.dll,从出现
的图示中选一个作为“.SHS”档的新图示即可。
(3)更多防治手段
?如果是病毒档隐藏了其真实副档名“SHS”,而你在反病毒软体中设置成扫描
指定程式档、而不是扫描所有档(如只扫描可执行档),那麽反病毒软体是无法
发现病毒的,所以请在反病毒软体的指定程式档中加入“.SHS”档的扫描。各种防
病毒软体的设置大同小异,比较简单,请大家自己进行设置。
?禁止“碎片物件”档及“指向文档的快捷方式”档。
三.改头换面的OutLook邮件附件
除了上面所说的两类危险的“TXT”档,还存在另一种危险的“TXT”档——改
头换面的OutLook邮件附件!即一个看起来是TXT的档其实是个EXE档!下面我以
OutLook2000简体中文版为例进行详细说明。
1. 开启OutLook2000,新建一个邮件,选择功能表栏中的“格式”→“带格式文
本”,在邮件正文点击一下滑鼠左键,选择功能表“插入”→“物件”,点击“由文件创
建”→“流览”,选择Windows目录下的notepad.exe,点击“确定”,在新邮件的主体
部分出现notepad.exe及其图示。
2. 在刚出现的notepad.exe及其图示上点击滑鼠右键,选择“编辑包”,打开物件
包装程式,选择“插入图示”按钮,选择“流览”,选择
WINDOWS\SYSTEM\SHELL32.DLL,在当前图示框中选择一个你想要的图示,比方说选择一
个文字档案的图示,然後按“确定”。然後选择功能表“编辑”→“标签”,任意定义一
个名字,比方说hello.txt,点击“确定”。
3. 退出物件包装程式,在提示是否更新时选择“是”。
4. OK,现在出现在面前的是hello.txt,一般人会认为它是一个地地道道的文本文
件附件,相信没有人怀疑它是别的东西。请你双击这个图表,看看会发生什麽?是不是
发现它打开的是notepad.exe!如果它是一个病毒档,结果可想而知!
事实上,当你用OutLook2000收到这样一个邮件时,它会显示这是一个带附件的邮
件,当你以为它是一个文字档案附件双击打开时,OutLook会提示:部分物件携带病
毒,可能对你的电脑造成危害,因此,请确保该物件来源可靠。是否相信该嵌入物件
?安全观念强的人一般会选择“NO”(这就对了),一般的人可能会选择YES(你惨了
!)。
识别方法:不要怕,尽管它的迷惑性极大,但是仍然会露出一些马脚:
1. 它其实是一个OLE物件,并不是附件,选择它时,选择框会不同於选择附件的选
择框。点滑鼠右键出现的功能表不同。
2. 双击打开它时,安全提示与附件的安全提示不同,这点非常重要。这时,因该
选择“NO”,然後点击滑鼠右键,选择“编辑包”,提示是否信任该物件时选择
“YES”,在物件包装程式的右边内容框中,将现出原形。在本例中,会显示
“NOTEPAD.EXE的备份”,档是否可执行,关键在这里。
3. 因为它不是附件,在选择“档”→“保存附件”时并无对话方块出现。
4. 由於并不是所有的邮件收发软体都支援物件嵌入,所以这类邮件的格式不一定
被某些软体识别,如OutLook Express。但是OutLook的使用面很广,尤其是在比较大
的、有自己MAIL伺服器的公司,所以还是有必要提醒大家小心嵌入物件,不光是
OutLook,其实WORD、EXCEL等支援嵌入物件的软体可以让嵌入物件改头换面以迷惑人。
对上面所说的三种TXT文件您了解其可怕之处了吧?其实只要你够小心,再加上按
本文所说的防范方法去做,就不会有危险了。
---
★互相尊重、为所慾为!☆
☆将心比己、惠及社群。★
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.81.193.46
1F:推 tranqulity:推218.174.251.129 02/28
2F:推 starbacks:推一个 61.223.140.195 02/28
3F:推 halb:推推~~ 140.112.243.44 02/28
4F:推 womi:推~~果然要小心!! 210.85.10.104 03/01