揭密木马病毒的六种启动方式

2024-01-21 14:32

本文主要是介绍揭密木马病毒的六种启动方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

马是随计算机或Windows的启动而启动并掌握一定的控制权的,其启动方式可谓多种多样,通过注册表启动、通过System.ini启动、通过某些特定程序启动等,真是防不胜防。其实只要能够遏制住不让它启动,木马就没什么用了,这里就简单说说木马的启动方式,知己知彼百战不殆嘛。

  一、通过"开始/程序/启动"

  隐蔽性:★★

  应用程度:较低

  这也是一种很常见的方式,很多正常的程序都用它,大家常用的QQ就是用这种方式实现自启动的,但木马却很少用它。因为启动组的每人都会出现在“系统配置实用程序”(msconfig.exe,以下简称msconfig)中。事实上,出现在“开始”菜单的“程序/启动”中足以引起菜鸟的注意,所以,相信不会有木马用这种启动方式。

  二、通过Win.ini文件

  隐蔽性:★★★

  应用程度:较低

  应用案例:Asylum

  同启动组一样,这也是从Windows3.2开始就可以使用的方法,是从Win16遗传到Win32的。在Windows3.2中,Win.ini就相当于Windows9x中的注册表,在该文件中的[Windows]域中的load和run项会在Windows启动时运行,这两个项目也会出现在msconfig中。而且,在Windows98安装完成后这两项就会被Windows的程序使用了,也不很适合木马使用。

  三、通过注册表启动

  1、通过HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Run

   HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/Run和

    HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunServices

   隐蔽性:★★★☆

   应用程度:极高

   应用案例:BO2000,GOP,NetSpy,IEthief,冰河…
这是很多Windows程序都采用的方法,也是木马最常用的。使用非常方便,但也容易被人发现,由于其应用太广,所以几乎提到木马,就会让人想到这几个注册表中的主键,通常木马会使用最后一个。使用Windows自带的程序:msconfig或注册表编辑器(regedit.exe,以下简称regedit)都可以将它轻易的删除,所以这种方法并不十分可靠。但可以在木马程序中加一个时间控件,以便实时监视注册表中自身的启动键值是否存在,一旦发现被删除,则立即重新写入,以保证下次Windows启动时自己能被运行。这样木马程序和注册表中的启动键值之间形成了一种互相保护的状态。木马程序未中止,启动键值就无法删除(手工删除后,木马程序又自动添加上了),相反的,不删除启动键值,下次启动Windows还会启动木马。怎么办呢?其实破解它并不难,即使在没有任何工具软件的情况下也能轻易解除这种互相保护。

  破解方法:首先,以安全模式启动Windows,这时,Windows不会加载注册表中的项目,因此木马不会被启动,相互保护的状况也就不攻自破了;然后,你就可以删除注册表中的键值和相应的木马程序了。

  2、通过HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunOnce

   HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/RunOnce和

    HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/CurrentVersion/RunServicesOnce

   隐蔽性:★★★★

    应用程度:较低

    应用案例:Happy99月

  这种方法好像用的人不是很多,但隐蔽性比上一种方法好,它的内容不会出现在msconfig中。在这个键值下的项目和上一种相似,会在启动时启动,但Windows启动后,该键值下的项目会被清空,因而不易被发现,但是只能启动一次,木马如何能发挥效果呢?

  其实很简单,不是只能启动一次吗?那木马启动成功后再在这里添加一次不就行了吗?在Delphi中这不过3、5行程序。虽说这些项目不会出现在msconfig中,但是在Regedit中却可以直接将它删除,那么木马也就从此失效了。

  还有一种方法,不是在启动的时候加而是在退出Windows的时候加,这要求木马程序本身要截获WIndows的消息,当发现关闭Windows消息时,暂停关闭过程,添加注册表项目,然后才开始关闭Windows,这样用Regedit也找不到它的踪迹了。这种方法也有个缺点,就是一旦Windows异 常中止(对于Windows9x这是经常的),木马也就失效了。

  破解他们的方法也可以用安全模式。

  另外使用这三个键值并不完全一样,通常木马会选择第一个,因为在第二个键值下的项目会在Windows启动完成前运行,并等待程序结束后才继续启动Windows。
 

这篇关于揭密木马病毒的六种启动方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/629838

相关文章

JAVA封装多线程实现的方式及原理

《JAVA封装多线程实现的方式及原理》:本文主要介绍Java中封装多线程的原理和常见方式,通过封装可以简化多线程的使用,提高安全性,并增强代码的可维护性和可扩展性,需要的朋友可以参考下... 目录前言一、封装的目标二、常见的封装方式及原理总结前言在 Java 中,封装多线程的原理主要围绕着将多线程相关的操

Golang中拼接字符串的6种方式性能对比

《Golang中拼接字符串的6种方式性能对比》golang的string类型是不可修改的,对于拼接字符串来说,本质上还是创建一个新的对象将数据放进去,主要有6种拼接方式,下面小编就来为大家详细讲讲吧... 目录拼接方式介绍性能对比测试代码测试结果源码分析golang的string类型是不可修改的,对于拼接字

Linux下修改hostname的三种实现方式

《Linux下修改hostname的三种实现方式》:本文主要介绍Linux下修改hostname的三种实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux下修改ho编程stname三种方式方法1:修改配置文件方法2:hFvEWEostnamectl命

SpringBoot接收JSON类型的参数方式

《SpringBoot接收JSON类型的参数方式》:本文主要介绍SpringBoot接收JSON类型的参数方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、jsON二、代码准备三、Apifox操作总结一、JSON在学习前端技术时,我们有讲到过JSON,而在

Spring Security注解方式权限控制过程

《SpringSecurity注解方式权限控制过程》:本文主要介绍SpringSecurity注解方式权限控制过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、摘要二、实现步骤2.1 在配置类中添加权限注解的支持2.2 创建Controller类2.3 Us

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

SpringBoot操作MaxComputer方式(保姆级教程)

《SpringBoot操作MaxComputer方式(保姆级教程)》:本文主要介绍SpringBoot操作MaxComputer方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录引言uqNqjoe一、引入依赖二、配置文件 application.properties(信息用自己

Java中数组转换为列表的两种实现方式(超简单)

《Java中数组转换为列表的两种实现方式(超简单)》本文介绍了在Java中将数组转换为列表的两种常见方法使用Arrays.asList和Java8的StreamAPI,Arrays.asList方法简... 目录1. 使用Java Collections框架(Arrays.asList)1.1 示例代码1.

java两个List的交集,并集方式

《java两个List的交集,并集方式》文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章... 目录Java两个List的交集,并集方法一方法二方法三总结java两个List的交集,并集方法一

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用