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行里的“WSCript”,对!就是它导演了全幕,它是幕后主谋!

  WScript全称Windows Scripting Host,它是Win98中新加进的功能,是一种批次语言/自动执行工具——它所对应的程序“WScript.exe”是一个脚本语言解释器,位于c:\WINDOWS下,正是它使得脚本可以被执行,就象执行批处理一样。在Windows Scripting 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文件,连选择运行程序的对话框也不出现了,它会直接要求在控制面板重建文件关联。

②更换“碎片对象”文件的默认图标。由于碎片对象文件的默认图标与文本文件图标非常相似,容易麻痹人,所以我们要更换它的图标。打开资源管理器,选中“查看”菜单下的“文件夹选框”,在弹出的对话框中选择“文件类型”标签,在“已注册的文件类型”下找到“碎片对象”。单击右上角“编辑”按钮,在打开的“编辑文件类型”对话框中单击上边的“更改图标”按钮。打开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文件您了解其可怕之处了吧?其实只要你够小心,再加上按本文所说的防范方法去做,就不会有危险了。

  (2)“文明”法

  ①在注册表编辑器HEY_CLASSES_ROOT\ShellScrap键下,有一个键值“NeverShowExt”,它是导致“.SHS”文件扩展名无法显示的罪魁祸首。删除这个键值,你就可以看到“.SHS”扩展名了。

原文地址:https://www.cnblogs.com/ggw626/p/12214995.html

时间: 2024-10-31 13:59:44

TXT文件也能挂木马的相关文章

Dede cms文章内容管理系统安全漏洞!如何有效防止DEDE织梦系统被挂木马安全设置

第一.安装Dede的时候数据库的表前缀,最好改一下,不要用dedecms默认的前缀dede_,可以改成ljs_,随便一个无规律的.难猜到的前缀即可. 第二.后台登录一定要开启验证码功能,将默认管理员admin删除,改成一个自己专用的,复杂点的账号,管理员密码一定要长,至少8位,而且字母与数字混合. 第三.装好程序后务必删除install目录!!! 第四.将dedecms后台管理默认目录名dede改掉,随便改个不好猜的没规律的. 第五.用不到的功能一概关闭,比如会员.评论等,如果没有必要通通在后台

如何有效防止DEDE织梦系统被挂木马安全设置(仅供参考)

尊敬的客户,您好!     感谢广大客户对我司工作的信任和支持!      我司在最近的一个多月内陆续发现多起因 DedeCMS 安全漏洞造成网站被上传恶意脚本的事件,入侵者可利用恶意脚本对外发送大量数据包,严重占用CPU资源与服务器带宽,影响极为恶劣.为保证服务稳定,即日起一旦发现网站存在此类恶意脚本,我们将立即暂停该网站的服务直到问题修复.如果您正在使用 DedeCMS,请立即检查是否已经存在恶意脚本,并更新程序到最新版本或应用相关补丁.     迄今为止,我们发现的恶意脚本文件有    

Linux 如何防止被挂木马

Linux 如何防止被挂木马 linux 系统如何防止被×××挂×××程序,可以从多个角度进行思考,×××怎么会到linux服务器上,肯定是有入口被上传过去的,因此我们要从入口切断,我们要在web站点通过程序代码设置关卡,让可执行程序禁止上传.如果×××被上传成功了,但是×××怎么可以执行它的功能呢?? Linux 如何防止被挂木马 1. ×××程序思考,如何上服务器,如何执行. 2. 预防操作步骤如下: 2.1 从用户访问网站的角度操作 2.2 从内部管理人员角度:防止被提权 Linux 如何

OpenVpn的ipp.txt文件

ipp=ip pool我猜得,呵呵 ipp.txt文件中存放上一次连接时,客户端分配的ip地址. ipp.txt用来保存上次的连接状态的,并不能为客户端设置固定ip地址. 该文件的格式为:用户名,ip 例如:litifeng,10.8.0.6 如果想要为客户端设置固定ip地址,需要使用ifconfig-push语句,以及设置ccd目录.

Selenium+Python参数化:读取TXT文件

概述 从Selenium模块化一文中,可以看出参数化的必要性,本文来介绍下读取外部txt文件的方法. 如何打开文件 打开文件有以下两个函数可以应用: 1.open(file_name,access_mode) file_name: 文件路径及名称: access_mode :访问方式,具体参数如下,,未提供参数,则默认为r: r:表示读取: w:表示写入: a:表示添加: +: 表示读写: b:表示2进制访问; 2.file函数 file()内建函数它的功能等于open(),如下根据文档说明可知

Linux打开txt文件乱码的解决方法

Linux显示在Windows编辑过的中文就会显示乱码是由于两个操作系统使用的编码不同所致.Linux下使用的编码是utf8,而Windows使用的是gb18030.因此,解决Linux打开txt文件中文乱码可有如下两种方法. 方法一: 在附件终端中,进入到txt文件所在目录,使用命令符"iconv-f gb18030  -t utf8 1.txt -o 2.txt"把gb18030编码的1.txt转换成utf8的2.txt.这样2.txt就成为Linux支持的编码. 方法二: 在附件

ubuntu gedit 打开 windows 分区中txt 文件乱码

http://blog.csdn.net/pipisorry/article/details/39482861 ubuntu 12.04 gedit 打开 windows 分区中的txt 文件乱码,是因为 ubuntu 和 windows 两个系统的编码不同. 解决办法1:(推荐) 终端里依次输入以下 2 条命令即可: gsettings setorg.gnome.gedit.preferences.encodings auto-detected "['GB18030','GB2312', 'G

老男孩教育每日一题-2017年5月4日-有一个oldboy.txt文件,把里面所有字母都转换成大写

老男孩教育每日一题-2017年5月4日-有一个oldboy.txt文件,把里面所有字母都转换成大写 文件内容如下: [[email protected] oldboy]# cat oldboy.txt  oldboy.blog.51cto.com www.oldboyedu.com 方法一:sed [[email protected] oldboy]# sed 's#[a-z]#\u&#g' oldboy.txt OLDBOY.BLOG.51CTO.COM WWW.OLDBOYEDU.COM 方

已知s.txt文件中有一个这样的字符串 请编写程序读取数据内容,把数据排序后写入 ss.txt文件

package cn.idcast5; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import java.util.Arrays; /* * 需求:已知s.txt文件中有一个这样