以下恶意代码中属于脚本病毒的是(以下恶意代码中属于脚本病毒的

http://www.itjxue.com  2023-02-18 09:19  来源:未知  点击次数: 

什么是脚本病毒啊?

脚本病毒通常是JavaScript代码编写的恶意代码,

一般带有广告性质,会修改您的IE首页、修改注册表等信息,造成用户使用计算机不方便。

至于你说的那个,只要是杀毒查出来的,不管他,杀了!

什么是脚本病毒?WINDOWS下的PE病毒 ?

脚本病毒通常是JavaScript代码编写的恶意代码,

一般带有广告性质,会修改您的IE首页、修改注册表等信息,造成用户使用计算机不方便。

PE病毒是指所有感染Windows下PE文件格式文件的病毒.

PE病毒大多数采用Win32汇编编写.

PE病毒对于一个热衷于病毒技术的人来说,是必须掌握的.

只有在PE病毒中,我们才能真正感受到高超的病毒技术.

编写Win32病毒的几个关键

Api函数的获取

不能直接引用动态链接库

需要自己寻找api函数的地址,然后直接调用该地址

一点背景:在PE Loader装入我们的程序启动后堆栈顶的地址是是程序的返回地址,肯定在Kernel中! 因此我们可以得到这个地址,然后向低地址缩减验证一直到找到模块的起始地址,验证条件为PE头不能大于4096bytes,PE header的ImageBase值应该和当前指针相等.

病毒没有.data段,变量和数据全部放在.code段

编写Win32病毒的几个关键

偏移地址的重定位

Call delta

delta: pop ebp

sub ebp,offset delta

那么变量var1的真正偏移地址为:var1+ebp

对PE文件格式的了解

编写Win32病毒的几个关键

病毒如何感染其他文件

在文件中添加一个新节

该新节中添加病毒代码和病毒执行后的返回Host程序的代吗

修改文件头中代码开始执行位置(AddressOfEntryPoint)指向新添加的节,以便程序运行后先执行病毒代码.

PE病毒感染其他文件的方法还有很多,譬如PE病毒还可以将自己分散插入到每个节的空隙中等等,这里不在一一叙述.

PE文件格式一览

Section n

Section ...

Section 2

Section 1

Section table

PE header

DOS stub

DOS MZ header

PE header

Pe header 由三部分组成

字串 "PE\0\0"(Signature)

映像文件头(FileHeader)

可选映像头(OptionalHeader)

字串 "PE\0\0"

Signature 一dword类型,值为50h, 45h, 00h, 00h(PE\0\0). 本域为PE标记,我们可以此识别给定文件是否为有效PE文件.

这个字串在文件中的位置(e_lfanew),可以在DOS程序头中找到它的指针,它占用四个字节,位于文件开始偏移3CH字节中.

映像文件头

该结构域包含了关于PE文件物理分布的信息, 比如节数目,文件执行机器等.

它实际上是结构IMAGE_FILE_HEADER的简称.

映像文件头结构

IMAGE_FILE_HEADER STRUCT

___ Machine WORD

___ NumberOfSections WORD

___ TimeDateStamp dd

___ PointerToSymbolTable dd

___ NumberOfSymbols dd

___ SizeOfOptionalHeader WORD

___ Characteristics WORD

IMAGE_FILE_HEADER ENDS

映像文件头的基本信息

关于文件信息的标记,比如文件是exe还是dll

2

Characteristics *

7

可选头的大小

2

SizeOfOptionalHeader

6

符号数目

4

NumberOfSymbols

5

COFF符号表的偏移

4

PointerToSymbleTable

4

生成该文件的时间

4

TimeDataStamp

3

文件中节的个数

2

NumberOfSection **

2

机器类型,x86为14ch

2

Machine *

1

描述

大小(字节)

名字

顺序

可选映像头

optional header 结构是 IMAGE_NT_HEADERS 中的最后成员.包含了PE文件的逻辑分布信息.该结构共有31个域,一些是很关键,另一些不太常用.这里只介绍那些真正有用的域.

这儿有个关于PE文件格式的常用术语: RVA

RVA 代表相对虚拟地址.它是相对虚拟空间里的一个地址 .

举例说明,如果PE文件装入虚拟地址(VA)空间的400000h处,且进程从虚址401000h开始执行,我们可以说进程执行起始地址在RVA 1000h.每个RVA都是相对于模块的起始VA的.

可选映像头

文件中节对齐的粒度.

FileAlignment

内存中节对齐的粒度.

SectionAlignment

PE文件的优先装载地址.比如,如果该值是400000h,PE装载器将尝试把文件装到虚拟地址空间的400000h处.若该地址区域已被其他模块占用,那PE装载器会选用其他空闲地址.

ImageBase

PE装载器准备运行的PE文件的第一个指令的RVA.若要改变整个执行的流程,可以将该值指定到新的RVA,这样新RVA处的指令首先被执行.

AddressOfEntryPoint *

描述

名字

可选映像头

NT用来识别PE文件属于哪个子系统.

Subsystem

一IMAGE_DATA_DIRECTORY 结构数组.每个结构给出一个重要数据结构的RVA,比如引入地址表等.

DataDirectory

所有头+节表的大小,也就等于文件尺寸减去文件中所有节的尺寸.可以以此值作为PE文件第一节的文件偏移量.

SizeOfHeaders

内存中整个PE映像体的尺寸.

SizeOfImage

win32子系统版本.若PE文件是专门为Win32设计的,该子系统版本必定是4.0否则对话框不会有3维立体感.

MajorSubsystemVersion

MinorSubsystemVersion

描述

名字

DataDirectory数据目录

一个IMAGE_DATA_DIRECTORY数组,里面放的是这个可执行文件的一些重要部分的RVA和尺寸,目的是使可执行文件的装入更快,数组的项数由上一个域给出.IMAGE_DATA_DIRECTORY包含有两个域,如下:

IMAGE_DATA_DIRECTORY

VitualAddress DD

Size DD

IMAGE_DATA_DIRECTORY ENDS

节表

节表其实就是紧挨着 PE header 的一结构数组.该数组成员的数目由 file header (IMAGE_FILE_HEADER) 结构中 NumberOfSections 域的域值来决定.节表结构又命名为 IMAGE_SECTION_HEADER.

结构中放的是一个节的信息,如名字,地址,长度,属性等.

IMAGE_SECTION_HEADER

本节原始数据在文件中的位置

4

PointerToRawData *

5

本节的原始尺寸

4

SizeOfRawData *

4

这个值+映像基地址=本节在内存中的真正地址.OBJ中无意义.

4

Virtual *

3

OBJ文件用作表示本节物理地址EXE文件中表示节的真实尺寸

4

PhysicalAddress或VirtualSize

2

节名

8

Name *

1

描述

大小(字节)

名字

顺序

IMAGE_SECTION_HEADER

节属性

4

Characteristics *

10

本节在行号表中的行号数目

2

NumberOfLinenumbers

9

本节要重定位的数目

2

NumberOfRelocations

8

行号偏移

4

PointerToLinenumbers

7

OBJ中表示该节重定位信息的偏移EXE文件中无意义

4

PointerToRelocations

6

描述

大小(字节)

名字

顺序

"节(Section)"跟在节表之后,一般PE文件都有几个"节".比较常见的有:

代码节

已初始化的数据节

未初始化的数据节

资源节

引入函数节

引出函数节

代码节

代码节一般名为.text或CODE,该节含有程序的可执行代码.

每个PE文件都有代码节

在代码节中,还有一些特别的数据,是作为调用映入函数之用.如:

Call MessageBoxA的调用,反汇编后该指令被换为call 0040101A,而地址0040101A仍在.text中,它放有一个跳转指令jmp dword ptr[0040304c],即这条跳转指令的目的地址处于.idata节中的0040304C处,其中放的才是MessageBoxA的真正地址,如下图:

已初始化的数据节

这个节一般取名为.data或DATA

已初始化的数据节中放的是在编译时刻就已确定的数据.如Hello World 中的字符串"Hello World!".

未初始化的数据节

这个节的名称一般叫.bbs.

这个节里放有未初始化的全局变量和静态变量.

资源节

资源节一般名为.rsrc

这个节放有如图标,对话框等程序要用到的资源.

资源节是树形结构的,它有一个主目录,主目录下又有子目录,子目录下可以是子目录或数据.

都是一个IMAGE_RESOURCE_DIRECTORY结构.结构如下:

IMAGE_RESOURCE_DIRECTORY 结构

以ID标识的资源数

2

NumberOfldEntries

6

以名字标识的资源数

2

NumberOfNamedEntries

5

次版本号

2

MinorVersion

4

主版本号

2

MajorVersion

3

资源生成时间

4

TimeDateStamp

2

通常为0

4

Characteritics

1

描述

大小(字节)

名字

顺序

引入函数节

一个引入函数是被某模块调用的但又不在调用者模块中的函数

这个节一般名为.idata,也叫引入表.

它包含从其它(系统或第三方写的)DLL中引入的函数,例如user32.dll,gdi32.dll等.

它的开始是一个IMAGE_IMPORT_DESCRIPTOR数组.这个数组的长度不定,但他的最后一项是全0,可以以此判断数组的结束.

引出函数节

什么是引出函数节

引出函数节是用来向系统提供导出函数的名称,序号和入口地址等信息,以便Windows装载器通过这些信息来完成动态链接的过程.

了解引出函数节对于学习病毒来说,是极为重要的.

Api函数地址的获取与引出函数节息息相关.

引出函数节

通过Api函数名查找其地址

(1)定位到PE文件头

(2)从PE文件头中的课选文件头中取出数剧目录表的第一个数据目录,得到导出表的地址.

(3)从导出表的NumberOfNames字段得到以命名函数的总数,并以这个数字做微循环的次数来构造一个循环.

(4)从AddressOfNames字段指向的函数名称地址表的第一项开始,在循环中将每一项定义的函数名与要查找的函数名比较,如果没有任何一个函数名符合,说明文件中没有指定名称的函数.

(5)如果某一项定义的函数名与要查找的函数名符合,那么记住这个函数名在字符串地址表中的索引值,然后在AddressOfNameOrdinals指向的数组中以同样的索引值去除数组项的值,假如该值为m.

(6)以m值作为索引值,在AddressOfFunctions字段指向的函数入口地址表中获取的RVA就是函数的入口地址,当函数被装入内存后,这个RVA值加上模块实际装入的基址(ImageBase),就得到了函数真正的入口地址.

什么是脚本病毒?

网络的流行,让我们的世界变得更加美好,但它也有让人不愉快的时候。当您收到一封主题为“I Love You”的邮件,用兴奋得几乎快发抖的鼠标去点击附件的时候;当您浏览一个信任的网站之后,发现打开每个文件夹的速度非常慢的时候,您是否察觉病毒已经闯进了您的世界呢?2000年5月4日欧美爆发的“爱虫”网络蠕虫病毒。由于通过电子邮件系统传播,爱虫病毒在短短几天内狂袭全球数百万计的电脑。微软、Intel等在内的众多大型企业网络系统瘫痪,全球经济损失达几十亿美元。而去年爆发的新欢乐时光病毒至今都让广大电脑用户更是苦不堪言。

上面提及的两个病毒最大的一个共同特点是:使用VBScript编写。以爱虫和新欢乐时光病毒为典型代表的VBS脚本病毒十分的猖獗,很重要的一个原因就是其编写简单。下面我们就来逐一对VBS脚本病毒的各个方面加以分析:

一、Vbs脚本病毒的特点及发展现状

VBS病毒是用VB Script编写而成,该脚本语言功能非常强大,它们利用Windows系统的开放性特点,通过调用一些现成的Windows对象、组件,可以直接对文件系统、注册表等进行控制,功能非常强大。应该说病毒就是一种思想,但是这种思想在用VBS实现时变得极其容易。VBS脚本病毒具有如下几个特点:

1.编写简单,一个以前对病毒一无所知的病毒爱好者可以在很短的时间里编出一个新型病毒来。

2.破坏力大。其破坏力不仅表现在对用户系统文件及性能的破坏。他还可以使邮件服务器崩溃,网络发生严重阻塞。

3.感染力强。由于脚本是直接解释执行,并且它不需要像PE病毒那样,需要做复杂的PE文件格式处理,因此这类病毒可以直接通过自我复制的方式感染其他同类文件,并且自我的异常处理变得非常容易。

4.传播范围大。这类病毒通过htm文档,Email附件或其它方式,可以在很短时间内传遍世界各地。

5.病毒源码容易被获取,变种多。由于VBS病毒解释执行,其源代码可读性非常强,即使病毒源码经过加密处理后,其源代码的获取还是比较简单。因此,这类病毒变种比较多,稍微改变一下病毒的结构,或者修改一下特征值,很多杀毒软件可能就无能为力。

6.欺骗性强。脚本病毒为了得到运行机会,往往会采用各种让用户不大注意的手段,譬如,邮件的附件名采用双后缀,如.jpg.vbs,由于系统默认不显示后缀,这样,用户看到这个文件的时候,就会认为它是一个jpg图片文件。

7.使得病毒生产机实现起来非常容易。所谓病毒生产机,就是可以按照用户的意愿,生产病毒的机器(当然,这里指的是程序),目前的病毒生产机,之所以大多数都为脚本病毒生产机,其中最重要的一点还是因为脚本是解释执行的,实现起来非常容易,具体将在我们后面谈及。

正因为以上几个特点,脚本病毒发展异常迅猛,特别是病毒生产机的出现,使得生成新型脚本病毒变得非常容易。

常见的恶意代码有哪些

最常见的恶意代码有计算机病毒(简称病毒)、特洛伊木马(简称木马)、计算机蠕虫(简称蠕虫)、后门、逻辑炸弹等。

恶意代码又称恶意软件。是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵犯用户合法权益的软件。与病毒或蠕虫不同,这些软件很多不是小团体或者个人秘密地编写和散播,反而有很多知名企业和团体涉嫌此类软件。有时也称作流氓软件。

恶意代码编写者一般利用三类手段来传播恶意代码:软件漏洞、用户本身或者两者的混合。有些恶意代码是自启动的蠕虫和嵌入脚本,本身就是软件,这类恶意代码对人的活动没有要求。

恶意代码的传播方式在迅速地演化,从引导区传播,到某种类型文件传播,到宏病毒传播,到邮件传播,到网络传播,发作和流行的时间越来越短。

脚本病毒是什么?

脚本病毒的前缀是:Script。脚本病毒的公有特性是使用脚本语言编写,通过网页进行的传播的病毒,如红色代码(Script.Redlof)。脚本病毒还会有如下前缀:VBS、JS(表明是何种脚本编写的),如欢乐时光(VBS.Happytime)、十四日(Js.Fortnight.c.s)等。

Trojan.script.473328是什么病毒

trojan这个表示木马病毒,会感染系统敏感区域,并且修改相应的注册表信息。。。script是脚本类的意思,会执行一些恶意代码。。

具体怎样识别病毒,看看这个文章:

怎样识别各类各样的病毒

病毒前缀是指一个病毒的种类,他是用来区别病毒的种族分类的。不同的种类的病毒,其前缀也是不同的。比如我们常见的木马病毒的前缀Trojan,蠕虫病毒的前缀是Worm等等还有其他的。

病毒名是指一个病毒的家族特征,是用来区别和标识病毒家族的,如以前著名的CIH病毒的家族名都是统一的“CIH”,还有近期闹得正欢的振荡波蠕虫病毒的家族名是“Sasser”。

病毒后缀是指一个病毒的变种特征,是用来区别具体某个家族病毒的某个变种的。一般都采用英文中的26个字母来表示,如Worm.Sasser.b就是指振荡波蠕虫病毒的变种B,因此一般称为 “振荡波B变种”或者“振荡波变种B”。如果该病毒变种非常多(也表明该病毒生命力顽强),可以采用数字与字母混合表示变种标识。

综上所述,一个病毒的前缀对我们快速的判断该病毒属于哪种类型的病毒是有非常大的帮助的。通过判断病毒的类型,就可以对这个病毒有个大概的评估(当然这需要积累一些常见病毒类型的相关知识,这不在本文讨论范围)。而通过病毒名我们可以利用查找资料等方式进一步了解该病毒的详细特征。病毒后缀能让我们知道现在在你机子里呆着的病毒是哪个变种。

下面附带一些常见的病毒前缀的解释(针对我们用得最多的Windows操作系统):

1、系统病毒

系统病毒的前缀为:Win32、PE、Win95、W32、W95等。这些病毒的一般公有的特性是可以感染Windows操作系统的 *.exe 和 *.dll 文件,并通过这些文件进行传播。如CIH病毒。

2、蠕虫病毒

蠕虫病毒的前缀是:Worm。这种病毒的公有特性是通过网络或者系统漏洞进行传播,很大部分的蠕虫病毒都有向外发送带毒邮件,阻塞网络的特性。比如冲击波(阻塞网络),小邮差(发带毒邮件)等。

3、木马病毒、黑客病毒

木马病毒其前缀是:Trojan,黑客病毒前缀名一般为Hack.木马病毒的公有特性是通过网络或者系统漏洞进入用户的系统并隐藏,然后向外界泄露用户的信息。而黑客病毒则有一个可视的界面,能对用户的电脑进行远程控制。木马、黑客病毒往往是成对出现的,即木马病毒负责侵入用户的电脑,而黑客病毒则会通过该木马病毒来进行控制。现在这两种类型都越来越趋向于整合了。一般的木马如QQ消息尾巴木马Trojan.QQ3344,还有大家可能遇见比较多的针对网络游戏的木马病毒如Trojan.LMir.PSW.60。这里补充一点,病毒名中有PSW或者什么PWD之类的一般都表示这个病毒有盗取密码的功能(这些字母一般都为“密码”的英文“password”的缩写)一些黑客程序如:网络枭雄(Hack.Nether.Client)等。

4、脚本病毒

脚本病毒的前缀是:脚本病毒的公有特性是使用脚本语言编写,通过网页进行的传播的病毒,如红色代码(.Redlof)。脚本病毒还会有如下前缀:VBS、JS(表明是何种脚本编写的),如欢乐时光(VBS.Happytime)、十四日(Js.Fortnight.c.s)等。

5、宏病毒

其实宏病毒是也是脚本病毒的一种,由于它的特殊性,因此在这里单独算成一类。宏病毒的前缀是:Macro,第二前缀是:Word、Word97、Excel、Excel97(也许还有别的)其中之一。凡是只感染WORD97及以前版本WORD文档的病毒采用Word97做为第二前缀,格式是:Macro.Word97;凡是只感染WORD97以后版本WORD文档的病毒采用Word做为第二前缀,格式是:Macro.Word;凡是只感染EXCEL97及以前版本EXCEL文档的病毒采用Excel97做为第二前缀,格式是:Macro.Excel97;凡是只感染EXCEL97以后版本EXCEL文档的病毒采用Excel做为第二前缀,格式是:Macro.Excel,依此类推。该类病毒的公有特性是能感染OFFICE系列文档,然后通过OFFICE通用模板进行传播,如:著名的美丽莎(Macro.Melissa)。

6、后门病毒

后门病毒的前缀是:Backdoor.该类病毒的公有特性是通过网络传播,给系统开后门,给用户电脑带来安全隐患。如54很多朋友遇到过的IRC后门Backdoor.IRCBot。

7、病毒种植程序病毒

这类病毒的公有特性是运行时会从体内释放出一个或几个新的病毒到系统目录下,由释放出来的新病毒产生破坏。如:冰河播种者(Dropper.BingHe2.2C)、MSN射手(Dropper.Worm.Smibag)等。

8.破坏性程序病毒

破坏性程序病毒的前缀是:Harm。这类病毒的公有特性是本身具有好看的图标来诱惑用户点击,当用户点击这类病毒时,病毒便会直接对用户计算机产生破坏。如:格式化C盘(Harm.formatC.f)、杀手命令(Harm.Command.Killer)等。

9.玩笑病毒

玩笑病毒的前缀是:Joke.也称恶作剧病毒。这类病毒的公有特性是本身具有好看的图标来诱惑用户点击,当用户点击这类病毒时,病毒会做出各种破坏操作来吓唬用户,其实病毒并没有对用户电脑进行任何破坏。如:女鬼(Joke.Girlghost)病毒。

10.捆绑机病毒

捆绑机病毒的前缀是:Binder.这类病毒的公有特性是病毒作者会使用特定的捆绑程序将病毒与一些应用程序如QQ、IE捆绑起来,表面上看是一个正常的文件,当用户运行这些捆绑病毒时,会表面上运行这些应用程序,然后隐藏运行捆绑在一起的病毒,从而给用户造成危害。如:捆绑QQ(Binder.QQPass.QQBin)、系统杀手(Binder.killsys)等。以上为比较常见的病毒前缀,有时候我们还会看到一些其他的,但比较少见,这里简单提一下:

DoS:会针对某台主机或者服务器进行DoS攻击;

Exploit:会自动通过溢出对方或者自己的系统漏洞来传播自身,或者他本身就是一个用于Hacking的溢出工具;

HackTool:黑客工具,也许本身并不破坏你的机子,但是会被别人加以利用来用你做替身去破坏别人。

希望能给你帮助~~~

(责任编辑:IT教学网)

更多

推荐编程综合文章