病毒究竟是怎么自动执行的(上)?

释放双眼,带上耳机,听听看~!

有的双活,真的就确保安全了吗?

今天,朋友圈很多人在转一篇文章(我也转了)《双活可能是条沟,由华为存储故障引发的思考》。 说的是去年5月份,华为的ST5600V3存储在“广州美的”发生严重故障,导致美的高压力关键业务系统停机一天,用户主要负责人被降级。事后分析日志:ST5600的一个控制


上一课,我们了解了病毒的传播技术和传播途径——《其实,预防勒索病毒没那么复杂!》。今天,我们来学习一下,病毒进入系统之后如何让自己自动执行起来。

病毒通过一次非授权的加载进入你的系统之后,一定会想办法让自己以后可以自动加载,而不是需要通过用户双击才可以执行。一个没有加载启动起来的病毒是没有什么危害的。

那我们今天来看一下病毒为了能让自己可以自动加载,一般都会利用哪些方法,知道了如何让自己自动启动,只需要反过来,就可以知道应该如何发现和清除病毒了。

一般来说病毒的自动加载技术主要是有两种方式:

1、跟随系统的启动而加载。

2、跟随程序的启动而加载。

我们详细来看一下:

一、跟随系统的启动而加载


恶意程序跟随系统自动启动的主要途径有:

1、autoexec.bat

可能很多人都不认识这个文件了。在DOS时代这可是系统启动最基本的三个文件之一(你们还知道另外两个是什么吗?答案见本文最后),这是系统启动的批命令文件,在Win9x时代,它仍然是重要的启动文件之一。从WINDOWS ME时代开始就基本没什么用了,在基于NT内核的现代Windows中,它仍然存在,但是只剩下了兼容意义已经没有作用,可以删除。

现在的恶意程序也不会通过这里自启动了,这一项可以忽略了。

2、win.ini

     win.ini,是Windows系统的一个基本系统配置文件。WIN.INI文件包含若干小节,每一节由一组相关的设定组成。文件配保存了诸如影响Windows操作环境的部分、控制系统界面显示形式及窗口和鼠标器的位置、联结特定的文件类型与相应的应用程序、列出有关HELP窗口及对话窗的默认尺寸、布局、文本颜色设置等等的选项。是系统配置不可缺少的文件。

这个文件从WINDOWS 3.X系统中出现的一个配置文件,从windows 95开始其功能慢慢转移到了注册表中。现在的系统中还有这个文件,默认在c:\windows目录下,但也仅限于同16位系统的兼容,基本没什么用了。

在原来的WIN.ini文件中,有一个windows字节:

[windows]

LOAD=

RUN=

如果需要开机启动,则在LOAD=和RUN=后面加上要启动的程序名即可。到注册表时代后,这两个位置都移到了注册表中。


3、LOAD

原来在win.ini中的LOAD键值在windows 9x后被移入注册表。

对应的注册表位置(win10以前版本):

HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\ CurrentVersion\Windows\load

如下图,病毒将自身加载到LOAD中自动启动:

进入WIN10之后,注册表中这一项也取消了。

隐藏程度:

应用程度:

4、RUN

原来在win.ini中的RUN键值在windows 9x后被移入注册表。

注册表中对应位置:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce


这是绝大多数恶意程序自启动常用的位置。


隐藏程度:

应用程度:


5、开机启动菜单。

     windows开始菜单——>启动。正常情况下,我们会把想要开机启动的程序放在这里。

在win10中启动菜单取消了,但并不代表没有这一项了。在运行中输入shell:startup,就可以直接打开启动菜单目录了。把想要启动的程序(如恶意程序)放入该目录,就会在开机时自动执行。


惊爆:更智能的勒索病毒来了!

前一段的铺天盖地的宣传让很多人知道了勒索病毒,最近几天,勒索病毒似乎风头过去了。很多人以为打了补丁了,关闭了端口了,就不会再中勒索病毒了。 勒索病毒过去了吗? 当然没有。 就在今天,我们又收到新的勒索病毒感染的报告。一个合作伙伴告诉我他的一个

但是这里过于明显,很容易被发现,并不是病毒最理想的藏身地,所以实际工作很少有病毒藏身在这里,但也是我们检查时候也必须要检查到。

隐藏程度:

应用程度:

6、system.ini

system.ini这个INI文件定义了有关WINDOWS系统所需的模块,相关的键盘、鼠标、显卡、多媒体的驱动程序、标准字体、和shell程序,这里定义的程序在启动WINDOWS时都要被加载,因此是不可缺少的。同win.ini文件一样,现在这个文件也基本上不用了,所有内容都转移到了注册表中,目前之所以还能看到,只是为了向下兼容,默认在c:\windows目录下。

该文件的[Boot]域中有一个值:

Shell=Explorer.exe

Shell外壳指的是可视化的用户资源管理界面,默认值Explorer.exe,即显示资源管理器、“我的电脑”、文件夹、桌面、开始菜单、任务栏、托盘的程序。恶意程序可能会修改该值或者在其后添加其他程序的路径,即使在安全模式也会启动。比如著名的尼姆达病毒,感染后该键值就会被改为:

Shell=explorer.exe admin.exe -double

自从2000和XP以后的操作版本中,该值被移入注册表

7、shell外壳程序

shell外壳程序设置原来在system.ini文件中,自从2000和XP以后的操作版本中,该值被移入注册表:

HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\ CurrentVersion\Winlogon\shell=

当我们从任务管理器结束Explorer.exe,或者使用杀毒软件扫描病毒后,可看到桌面只剩一张壁纸,文件夹界面全体消失,应用程序窗口仍在。如果开机进入桌面后出现这种情况,说明Explorer.exe程序被修改了或在注册表此项被阻止启动了。这时先可试着从资源管理器运行explorer,不行的话从别人电脑里拷贝explorer.exe到Windows文件夹覆盖,同时还要进入这里查看Shell的默认值Explorer.exe有没有被篡改,后面有没有被加上“尾巴”即病毒附着在Explorer.exe上面的加载项。

隐藏程度:

应用程度:

5、系统服务

系统服务(system services)是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。

系统服务一般在后台运行。与用户运行的程序相比,服务不会出现程序窗口或对话框,只有在任务管理器中才能观察到它们的身影,系统服务和普通的应用程序有一个根本的区别:Service程序可以在无用户登录和用户已经注销的情况下运行,而应用程序在没有用户注销的时候是会被终止的。

可以在计算机管理—>服务中查看系统服务,或者在运行中执行services.msc命令查看。

系统服务的级别较应用程序高,不容易被杀毒软件杀掉,所以病毒往往会通过注册为系统服务或者驱动的方式来达到自我保护的目的(后来讲到病毒的自我保护技术的时候会提到)。

隐藏程度:

应用程度:


6、userinit.exe

当“欢迎使用”或“正在加载个人配置”的窗口飘过后,我们打开任务管理器,可以看到这个Userinit.exe进程逗留了很久方才退出,它就是用户个人配置初始化程序。其默认值是C:\WINDOWS\system32\userinit.exe,如果这项被修改,加载个人配置时就会出现问题,比如出现反复注销进不去系统的情况;如果被改成病毒程序,后果不堪设想。


userinit.exe执行较早,用于启动services.exe(服务控制管理器)、lsass.exe(本地安全授权)、lsm.exe(本地会话管理器),对于一些以系统服务或驱动等方式进行加载的病毒,普通的杀毒软件是无法清除的。这个时候就要使用这种方式进行清除了。

跟这个文件相对应的还有一个INI文件:userinit.ini,这是一个比较奇怪的配置文件,他在系统中只存在一次,Windows 在重启时 ,将在 Windows 目录下搜索 Wininit.ini 文件,如果找到,就遵照该文件指 令删除、改名、更新文件,完成任务后 ,将删除 Wininit.ini 文件本身,继续启动。所以 Wininit.ini 文件中的指令只会被执行一次,列目录时也通常没有它的踪影 。

比如常见的一个例子是:假设你要为自己的软件编写一个卸载程序,这个卸载程序本身是不可能被自己删除的,因为它试图删除自身时,自身却正在运行。为了清除卸载程序本身,你就得借助于Wininit.ini文件。顺便提一句,在安装Windows的最后阶段,就是利用Wininit.ini文件来清除和更名被安装程序SETUP自身使用的文件。

当然,病毒也可以利用这个程序的原理感染或替换系统核心进程或服务。利用这种方式隐蔽程序高,而且难于清除,不过还好,目前发现的利用这种方式的病毒还不是太多。


隐藏程度:

应用程度:

7、任务计划

利用“任务计划”,可以将任何脚本、程序或文档安排在某个最方便的时间运行。当然也包括病毒。

打开“计算机管理”—>任务计划程序,可以看到当前正在运行的任务计划。计划时间可以灵活设置。只需要导入计划就可以达到让病毒按照计划好的时间自动运行。


实际操作中,当然并不是这么采用向导的方式进行一步一步进行,病毒只需要将配置好的任务计划文件导入就可以了。在LINUX系统中这也是病毒最常用的一种方式。如果你发现的系统总是莫名其妙的弹出一些窗口或者执行某个程序,你应该去这里检查一下。

隐藏程度:

应用程度:

  以上几种方式是病毒随操作系统启动时常用的几种方式,除了随系统启动之外,还有其他的自启动方式,比如跟随程序的启动而启动等,我们在下节进行介绍。敬请关注。。。


对了,还有一件事,关于DOS下系统启动的三个基本文件,如果我没有记错的话,应该是:command.com、autoexec.bat和config.sys。你答对了吗?


欢迎扫描二维码关注:大兵说安全

本文源自微信公众号:大兵说安全

关于勒索病毒,你需要知道的几个问题!

    注:不好意思,重新发布,增加了一个问题,修订了原来文章中的一点小错误。 这几天,朋友圈被”永恒之蓝”刷屏了。从央视到省台到市台,无不在关注这个勒索病毒,关于这个病毒的原理和预防方法已经有好多文章在写了,我这里就不做重复的工作了。这里将大家

人已赞赏
安全工具

(视频)看黑客如何在ATM上盗取现金

2019-10-14 17:33:51

安全工具

有的双活,真的就确保安全了吗?

2019-10-14 17:34:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索