病毒木马查杀实战第022篇:txt病毒研究

本文介绍了一种名为“txt病毒”的恶意程序,它通过修改文件名和利用特殊字符达到混淆目的,即使是在Ring3层也能发挥巨大危害。文章还探讨了如何通过图标更改和特殊字符使这些病毒更具迷惑性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

       反病毒爱好者们非常喜欢讨论的一个问题就是,现在什么样的病毒才算得上是主流,或者说什么样的病毒才是厉害的病毒呢?我们之前的课程所解说的都是Ring3层的病毒。所以有些朋友可能会觉得。那么Ring0层的病毒事实上才是最厉害的,也是病毒发展的主流;或者有朋友可能觉得,採取了五花八门的隐藏技术的病毒才是最难对付的。

诚然,大家的观点都非常有道理。病毒编写者往往也会用复杂高深的技术来武装自己的恶意程序,使其难以被发现难以被清除。那么是不是说Ring3层的病毒就没有“市场”了呢?我觉得不是。比方前段时间出现的“比特币敲竹杠”病毒。就是一个基于Ring3层的病毒,其特色就在于採用了一定的算法来加密目标计算机中的相应文件。而假设没有password,那么是不可能实现解密操作的。这就体现出了病毒作者的“创意”。说明即便没有高深的技术,但仅仅要有想法。那么Ring3层的病毒依然是非常可怕的。而我们这次所讨论的txt病毒,所走的也正是创意的路线。

 

一个奇怪的“txt”文件

       在之前的课程中,我以前讨论过一种U盘病毒。当时在U盘中发现它的时候。我之所以没中圈套。正是由于我发现了它的.exe小尾巴:


图1

       这也就说明,虽然它的图标是文件夹的图标,可是它本质上事实上就是一个可执行程序。利用图标的更换来将自己伪装成一个文件夹,这种手段还是比較古老的,也是非常easy被发现的。

相信大家通过那次的课程。也建立起了防范意识。

可是假设大家看到了一个这种文件。会作何感想?


图2

       我相信,绝大部分的朋友是不会对这个文件起疑心的。会觉得这就是一个文本文档文件。会毫不犹豫地对其双击。可是双击执行后,那么也就中了陷阱,事实上这是一个经过伪装的Setup.exe,也就是我们之前讨论过的“熊猫烧香”病毒样本。

 

“txt病毒”原理

       可能大家会有疑惑,为什么一个exe程序的“扩展名”会显示为txt呢?事实上,说它是一个“txt病毒”并不准确,严格来讲,它是一种混淆视听的手段。由于对于一个exe程序来说,我们不单单能够把它伪装成txt格式。还能够伪装成诸如jpg、doc、ppt等格式。事实上现原理就是採用了“反转字符串”的方法。

       我们就拿“熊猫烧香”病毒样本为例:


图3

       首先能够使用Resource Hacker将该程序的图标改动为文本文档的图标:


图4

       然后我们将这个程序重命名为“readtxt.exe”,此时保持重命名的状态别确定。将光标移到“read”与“txt”的中间,单击鼠标右键。选择“插入Unicode控制字符”中的“RLO”:


图5

       这个“RLO”是一个转义字符。仅仅要在一行字符前面加上它,就能够实现文本的反向排列。它是Unicode为了兼容某些文字的阅读习惯而设计的一个转义字符。当我们增加这个字符后。从而也就实现了图2中的效果。

       那么利用这个原理,我们就能够实现非常多有创意的,而且颇具迷惑性的文件名称称。再将文件的图标改动为相应的假的后缀名的图标。那么我相信,即便是资深反病毒爱好者。也非常可能会落入陷阱的。

 

“RLO”与注冊表

       事实上我们上面所讲的这个“RLO”的原理,还能够运用于其他的方面,比方注冊表:


图6

     在上图中我们发现了两个名为“Microsoft”的项。而注冊表是不同意同名的项存在的。

事实上第二个“Microsoft”正是我利用转义字符原理生成的。

某些病毒程序就有可能利用这一点,来将自己伪装成正常的程序。这是须要大家格外留意的。

 

其他的字符陷阱

       既然讲到了关于字符的陷阱。那么我这里再讲一个样例。

有些病毒为了实现站点的劫持。会把想要劫持的站点重定向到自己指定的地址。

为了实现这一目的。病毒作者通常的做法是改动Windows系统里位于%SystemRoot%\system32\drivers\etc文件夹下的hosts文件。

而病毒作者是不希望我们找到真实的hosts文件,以进行进一步的解析的,于是病毒作者能够将真实的hosts文件设置为隐藏,再伪造一个hosts文件出来。而伪造的方式,能够使用上述转义字符的方法,或者採用将原始的文件名称中的英文字符替换为其他的。easy造成混淆的字符。关于这个最为经典的样例就是     将“kernel32.dll”中“32”前面的“l”改为“1”,从而变成“kerne132.dll”,而后者正是一个恶意的动态链接库程序。

而详细到hosts这个样例。我们应当怎样达到混淆的效果呢?也非常简单,首先我们能够在“记事本”中输入“hosts”这几个字符,然后保存为Unicode的形式。接着使用十六进制编辑工具打开这个文本文档,查看其十六进制代码:


图7

       上图红框中的“6f 00”(注意这里是小端显示),也就是Unicode码的0x006f,表示的就是小写英文字母的“o”,那么这里我们将其改动为“3e 04”。也就是Unicode码的0x043e,它表示的是俄文字符的“o”:


图8

       保存后,再使用“记事本”打开,能够发现原来的“o”变成了一个怪怪的俄文字符:


图9

       只是没关系。我们将上述字符复制粘贴。使其成为一个文件的名称。并复制到真实的hosts文件文件夹中:


图10

       能够发现。此时出现了两个“hosts”文件,而事实上第二个是我们伪造的。从而也就达到了混淆的效果。

 

小结

       假设我们光凭肉眼,是非常难阻止这类在字符上做手脚的病毒的,因此我在此也呼吁大家,一定要在计算机中安装杀毒软件,由于杀软并不会根据程序的名称进行杀毒,而是依靠病毒体内的特征码检測等方式来识别病毒的。

而对于我们伪装的“熊猫烧香”病毒样本。即便是我们之前所编写的简陋的主动防御系统,也是能够将其制止住的。这也就凸显了杀软的重要性。

@echo off @echo 本程式专杀copy.exe. host.exe. rose.exe和RavMonE.exe病毒,在杀毒之前请确认wf.reg文件与本程式在同一个目录下。 @ECHO. @echo 本程式能够查杀所有盘符内的病毒,包括软驱。 @ECHO. @Pause @ECHO. @ECHO. @ECHO. @echo ------------正在停止病毒进程...------------ @taskkill /im temp1.exe /f /t @taskkill /im temp2.exe /t /f @echo ------------停止病毒进程成功!------------ @ECHO. @echo ---------正在删除关键性病毒文件--------- @ del c:\windows\xcopy.exe /a /f @ del c:\windows\svchost.exe /a /f @ del c:\windows\systen32\temp1.exe /a /f @ del c:\windows\systen32\temp2.exe /a /f @ del d:\windows\xcopy.exe /a /f @ del d:\windows\svchost.exe /a /f @ del d:\windows\systen32\temp1.exe /a /f @ del d:\windows\systen32\temp2.exe /a /f @ del e:\windows\xcopy.exe /a /f @ del e:\windows\svchost.exe /a /f @ del e:\windows\systen32\temp1.exe /a /f @ del e:\windows\systen32\temp2.exe /a /f @ del f:\windows\xcopy.exe /a /f @ del f:\windows\svchost.exe /a /f @ del f:\windows\systen32\temp1.exe /a /f @ del f:\windows\systen32\temp2.exe /a /f @ del g:\windows\xcopy.exe /a /f @ del g:\windows\svchost.exe /a /f @ del g:\windows\systen32\temp1.exe /a /f @ del g:\windows\systen32\temp2.exe /a /f @echo -------关键性病毒文件删除成功!--------- @echo. @echo ---------正在删除病毒文件...------------- @ del a:\autorun.inf /a /f @ del a:\copy.exe /a /f @ del a:\host.exe /a /f @ del a:\rose.exe /a /f @ del b:\autorun.inf /a /f @ del b:\copy.exe /a /f @ del b:\host.exe /a /f @ del b:\rose.exe /a /f @ del c:\autorun.inf /a /f @ del c:\copy.exe /a /f @ del c:\host.exe /a /f @ del c:\rose.exe /a /f @ del d:\autorun.inf /a /f @ del d:\copy.exe /a /f @ del d:\host.exe /a /f @ del d:\rose.exe /a /f @ del e:\autorun.inf /a /f @ del e:\copy.exe /a /f @ del e:\host.exe /a /f @ del e:\rose.exe /a /f @ del f:\autorun.inf /a /f @ del f:\copy.exe /a /f @ del f:\host.exe /a /f @ del f:\rose.exe /a /f @ del g:\autorun.inf /a /f @ del g:\copy.exe /a /f @ del g:\host.exe /a /f @ del g:\rose.exe /a /f @ del h:\autorun.inf /a /f @ del h:\copy.exe /a /f @ del h:\host.exe /a /f @ del h:\rose.exe /a /f @ del i:\autorun.inf /a /f @ del i:\copy.exe /a /f @ del i:\host.exe /a /f @ del i:\rose.exe /a /f @ del j:\autorun.inf /a /f @ del j:\copy.exe /a /f @ del j:\host.exe /a /f @ del j:\rose.exe /a /f @ del k:\autorun.inf /a /f @ del k:\copy.exe /a /f @ del k:\host.exe /a /f @ del k:\rose.exe /a /f @ del l:\autorun.inf /a /f @ del l:\copy.exe /a /f @ del l:\host.exe /a /f @ del l:\rose.exe /a /f @ del m:\autorun.inf /a /f @ del m:\copy.exe /a /f @ del m:\host.exe /a /f @ del m:\rose.exe /a /f @ del n:\autorun.inf /a /f @ del n:\copy.exe /a /f @ del n:\host.exe /a /f @ del n:\rose.exe /a /f @ del \autorun.inf /a /f @ del \copy.exe /a /f @ del \host.exe /a /f @ del \rose.exe /a /f @ del p:\autorun.inf /a /f @ del p:\copy.exe /a /f @ del p:\host.exe /a /f @ del p:\rose.exe /a /f @ del q:\autorun.inf /a /f @ del q:\copy.exe /a /f @ del q:\host.exe /a /f @ del q:\rose.exe /a /f @ del r:\autorun.inf /a /f @ del r:\copy.exe /a /f @ del r:\host.exe /a /f @ del r:\rose.exe /a /f @ del s:\autorun.inf /a /f @ del s:\copy.exe /a /f @ del s:\host.exe /a /f @ del s:\rose.exe /a /f @ del t:\autorun.inf /a /f @ del t:\copy.exe /a /f @ del t:\host.exe /a /f @ del t:\rose.exe /a /f @ del u:\autorun.inf /a /f @ del u:\copy.exe /a /f @ del u:\host.exe /a /f @ del u:\rose.exe /a /f @ del v:\autorun.inf /a /f @ del v:\copy.exe /a /f @ del v:\host.exe /a /f @ del v:\rose.exe /a /f @ del w:\autorun.inf /a /f @ del w:\copy.exe /a /f @ del w:\host.exe /a /f @ del w:\rose.exe /a /f @ del x:\autorun.inf /a /f @ del x:\copy.exe /a /f @ del x:\host.exe /a /f @ del x:\rose.exe /a /f @ del y:\autorun.inf /a /f @ del y:\copy.exe /a /f @ del y:\host.exe /a /f @ del y:\rose.exe /a /f @ del z:\autorun.inf /a /f @ del z:\copy.exe /a /f @ del z:\host.exe /a /f @ del z:\rose.exe /a /f @echo -----------病毒文件删除成功!------------- @ECHO. @echo -------------正在修复注册表...------------ @regedit /s wf.reg @echo -------------注册表修复成功! ------------ @ECHO. SET /p c=重新启动计算机后才会生效, 是否重新启动? [y,n] if "%c%"=="y" shutdown /r /t 0 if "%c%"=="Y" shutdown /r /t 0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值