1   1  /  1  页   跳转

【分享】一点心得

【分享】一点心得

朋友的机子老是中毒,找我帮一下。我查了一下,好多好多。一一删后,又对系统做了整理,这一段时间就没有再听他说过中病毒的事了。
以下是一点心得:
1、一定要及时地更新Windows系统补丁,可以用瑞星杀毒软件里面的漏洞扫描工具一一修复。
2、对杀毒软件,防火墙要及时地升级,一定要用正版的杀毒软件。
3、加强安全意识,特别是一些窃取密码的木马。我一般是把帐号和密码先写到一个写字本里面,然后采用复制的方法填写用户登陆信息。

下面的是我初学时收集的一些信息,给大家看一下,希望能有点帮助。(系统开机过程祥解),以后会慢慢加上一些浅薄的东西。(很多东西是从网上学到的,在些要谢谢各位网友)
最后编辑2007-03-13 21:59:42
分享到:
gototop
 

一、基本进程列表
进程名 svchost.exe 路径 c:\windows\system32\ 说明 服务启动辅助文件,若其他地方出                                    现,或者出现相似,则90%为病毒
进程名 ctfmon.exe 路径 c:\windows\system32\ 说明 输入法辅助文件。
进程名 winlogon.exe 路径 c:\windows\system32\ 说明 系统基础文件之一
进程名 csrss.exe 路径 c:\windows\system32\ 说明 系统基础文件之一
进程名 services.exe 路径 c:\windows\system32\ 说明 系统基础文件之一
进程名 smss.exe 路径 c:\windows\system32\ 说明 系统基础文件之一
进程名 lsass.exe 路径 c:\windows\system32\ 说明 系统基础文件之一
进程名 alg.exe 路径 c:\windows\system32\ 说明 系统基础文件之一
进程名 spoolsv.exe 路径 c:\windows\system32\ 说明 系统基础文件之一
进程名 explorer.exe 路径 c:\windows\ 说明 系统桌面文件,大部分DLL病毒会集中在这里

说明:以上是部分系统基本进程,一个完整的SP2按装后是18个进程左右(不同版本进程数量不同)。注意路径,若路径有问题,90% 是病毒
进程名 ccenter.exe    路径 瑞星所安装的文件夹  说明 瑞星

进程名 ravmon.exe  路径 瑞星所安装的文件夹    说明 瑞星,会被病毒利用

进程名 ravmond.exe  路径 瑞星所安装的文件夹    说明 瑞星

进程名 ravstub.exe  路径 瑞星所安装的文件夹    说明 瑞星

进程名 ravtask.exe  路径 瑞星所安装的文件夹    说明 瑞星
gototop
 

二、进程祥解
svchost.exe:
    svchost.exe是nt核心系统的非常重要的进程,对于2000、xp来说,不可或缺。很多病毒、木马也会调用它。windows中存在多个 “svchost”进程,为什么会这样呢?下面就来揭开它神秘的面纱。
    在基于nt内核的windows操作系统家族中,不同版本的windows系统,存在不同数量的“svchost”进程,用户使用“任务管理器”可查看其进程数目。一般来说,win2000有两个svchost进程,winxp中则有四个或四个以上的svchost进程,而win2003 server中则更多。这些svchost进程提供很多系统服务,如:rpcss服务(remote procedure call)、dmserver服务(logical disk manager)、dhcp服务(dhcp client)等。如果要了解每个svchost进程到底提供了多少系统服务,可以在win2000的命令提示符窗口中输入“tlist -s”命令来查看,该命令是win2000 support tools提供的。在winxp则使用“tasklist /svc”命令。
    windows系统进程分为独立进程和共享进程两种,“svchost.exe”文件存在于“%systemroot% \system32”目录下,它属于共享进程。随着windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由 svchost.exe进程来启动。但svchost进程只作为服务宿主,并不能实现任何服务功能,即它只能提供条件让其他服务在这里被启动,而它自己却不能给用户提供任何服务。那这些服务是如何实现的呢?
(%systemroot%是系统中的一个变量,表示的是windows系统启动文件夹位置。一般如果你在安装系统的时候没有手动设置安装位置的话,Windos 95,Windows98,Windows Me和Windows Xp的位置是C:\windows,也就是变量%systemroot%=C:\Windows,Windows Nt和Windows2000的位置是C:\Winnt也就是变量%systemroot%=C:\Winnt。如果你的系统是安装在D盘那就是D:\windows或D:\winnt,如果系统安装的别的盘依此类推。)
    原来这些系统服务是以动态链接库(dll)形式实现的,它们把可执行程序指向 svchost,由svchost调用相应服务的动态链接库来启动服务。那svchost又怎么知道某个系统服务该调用哪个动态链接库呢?这是通过系统服务在注册表中设置的参数来实现。下面就以rpcss(remote procedure call)服务为例,进行讲解。
    从启动参数中可见服务是靠svchost来启动的:
    以windows xp为例,点击“开始”/“运行”,输入“services.msc”命令,弹出服务对话框,然后打开“remote procedure call”属性对话框,可以看到rpcss服务的可执行文件的路径为“c:\windows\system32\svchost -k rpcss”,这说明rpcss服务是依靠svchost调用“rpcss”参数来实现的,而参数的内容则是存放在系统注册表中的。
    在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到[hkey_local_machine\ system\currentcontrolset\services\rpcss]项,找到类型为“reg_expand_sz”的键“magepath”,其键值为“%systemroot%\system32\svchost -k rpcss”(这就是在服务窗口中看到的服务启动命令),另外在“parameters”子项中有个名为“servicedll”的键,其值为“% systemroot%\system32\rpcss.dll”,其中“rpcss.dll”就是rpcss服务要使用的动态链接库文件。这样 svchost进程通过读取“rpcss”服务注册表信息,就能启动该服务了。
    因为svchost进程启动各种服务,所以病毒、木马也想尽办法来利用它,企图利用它的特性来迷惑用户,达到感染、入侵、破坏的目的(如冲击波变种病毒“w32.welchia.worm”)。但windows系统存在多个svchost进程是很正常的,在受感染的机器中到底哪个是病毒进程呢?这里仅举一例来说明。
    假设windows xp系统被“w32.welchia.worm”感染了。正常的svchost文件存在于“c:\windows\system32”目录下,如果发现该文件出现在其他目录下就要小心了。“w32.welchia.worm”病毒存在于“c:\windows\system32wins”目录中,因此使用进程管理器查看svchost进程的执行文件路径就很容易发现系统是否感染了病毒。windows系统自带的任务管理器不能够查看进程的路径,可以使用第三方进程管理软件,如“windows优化大师”进程管理器,通过这些工具就可很容易地查看到所有的svchost进程的执行文件路径,一旦发现其执行路径为不平常的位置就应该马上进行检测和处理。
    Svchost.exe文件存在于“%system root%\system32”(例如C:\Windows\system32)目录下,它是Windows NT核心的重要进程(Windows 9X没有该进程),专门为系统启动各种服务的。例如Svchost.exe调用rpcss.dll文件,就会启动rpcss服务(remote procedure call)。
    由于系统服务都是以动态链接库(DLL)形式实现的,它们把可执行程序指向Svchost,因此Svchost只要调用某个动态链接库,即可启动对应的服务。那么Svchost启动某服务时,又是如何知道应该调用哪个动态链接库?这是由于系统服务在注册表中都设置了相关参数,因此Svchost通过读取某服务在注册表中的信息,即可知道应该调用哪个动态链接库,从而启动该服务。
下面我们以Svchost启动helpsvc(Help and Support)服务为例,介绍其启动服务的方法。在Windows XP中点击“开始” “运行”,输入“services.msc”命令,弹出服务对话框,然后双击打开“Help and Support”服务属性对话框,可以看到helpsvc服务的可执行文件的路径为“C:\WINDOWS\System32\svchost.exe -k netsvcs” ,说明helpsvc服务是依靠SVCHOST调用“netsvcs”参数来实现的,而参数的内容则是存放在系统注册表中的。 在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\helpsvc]项,找到类型为“REG_EXPAND_SZ”的键“magePath”,其键值为“%SystemRoot%\System32\svchost.exe -k netsvcs”(这就是在服务窗口中看到的服务启动命令),另外在“Parameters”子项中有个名为“ServiceDll”的键,其值为“%WINDIR%\PCHealth\HelpCtr\Binaries\pchsvc.dll”,其中“pchsvc.dll”就是helpsvc服务要使用的动态链接库文件。这样SVCHOST进程通过读取“helpsvc”服务注册表信息,就能启动该服务了。
    如果你在Windows XP中,想得到所有进程的详细信息,可以打开“命令提示符”,键入 tasklist /svc>abc.txt 命令,于是在当前目录中,将会生成一个abc.txt文件,其内容就是当前正在运行的所有进程情况,例如进程名、PID号、该进程启动了哪些服务
    如果有些Svchost进程,你在任务管理器中无法关闭之,可以使用ntsd命令来杀掉它,方法如下:
    首先需要了解欲杀的Svchost进程,其PID是多少?在Windows XP下,按Ctrl+Alt+Del打开任务管理器,点击“进程选项卡” “查看” “选择列”,在弹出的窗口中,勾选“PID(进程标识符)”,然后回到任务管理器中,即可看见PID了(例如要杀的Svchost进程,其PID是844)。 接下来关闭该进程。点击“开始” “程序” “附件” “命令提示符”,在命令提示符下,输入命令ntsd -c q -p 844即可杀掉Svchost进程(PID是844)。
小提示:除了System、SMSS.EXE和CSRSS.EXE这三个进程,ntsd命令可以杀掉任何一个系统进程。从Windows 2000开始,微软就提供了ntsd工具,该命令执行后,可让你获得系统的debug权,因此能够用来关闭大部分的系统进程,如果你遇到无法关闭的进程,就可以使用该命令,其杀进程的命令格式为:ntsd -c q –p XXX
以上XXX为欲杀进程的PID;
    ntsd –p XXX 表示在调试器中打开某进程(PID为XXX);
    而-c q参数则表示退出调试器。由于调试器关闭之后,它打开的进程会随调试器一起退出,因此ntsd命令能够关闭进程。
winlogon.exe:
是windows域登陆管理器。它用于处理你登陆和退出系统过程。该进程在你系统的作用是非常重要的。注意:winlogon.exe也可能是w32.netsky.d@mm蠕虫病毒。该病毒通过email邮件传播,当你打开病毒发送的附件时,即会被感染。该病毒会创建smtp引擎在受害者的计算机上,群发邮件进行传播。该病毒允许攻击者访问你的计算机,窃取密码和个人数据。请注意此进程所在的文件夹,正常的进程应该是在windows的system32下面
csrss.exe:
Client/Server Runtime Server Subsystem,客户端服务子系统,用以控制Windows图形相关子系统。正常情况下系统中只有一个csrss.exe进程,正常路径在System32文件夹中
进程文件 services.exe :
进程名称 Windows Service Controller
    进程描述 services.exe是微软Windows操作系统的一部分。用于管理启动和停止服务。该进程也会处理在计算机启动和关机时运行的服务。这个程序对你系统的正常运行是非常重要的。注意:services也可能是W32.Randex.R(储存在%systemroot%\system32\目录)和Sober.P (储存在%systemroot%\Connection Wizard\Status\目录)木马。该木马允许攻击者访问你的计算机,窃取密码和个人数据。
smss.exe:
正常的话,这个进程也应该是小写的。
    Session Manager Subsystem,该进程为会话管理子系统,用以初始化系统变量,MS-DOS驱动名称类似LPT1以及COM,调用Win32壳子系统和运行在Windows登陆过程。它是一个会话管理子系统,负责启动用户会话。这个进程是通过系统进程初始化的并且对许多活动的,包括已经正在运行的Winlogon,Win32(Csrss.exe)线程和设定的系统变量作出反映。在它启动这些进程后,它等待Winlogon或者Csrss结束。如果这些过程时正常的,系统就关掉了。如果发生了什么不可预料的事情,smss.exe就会让系统停止响应(挂起)。要注意:如果系统中出现了不只一个smss.exe进程,而且有的smss.exe路径是"%WINDIR%\SMSS.EXE",那就是中了TrojanClicker.Nogard.a病毒,这是一种Windows下的PE病毒,它采用VB6编写 ,是一个自动访问某站点的木马病毒。该病毒会在注册表中多处添加自己的启动项,还会修改系统文件WIN.INI,并在[WINDOWS]项中加入"RUN" = "%WINDIR%\SMSS.EXE"。手工清除时请先结束病毒进程smss.exe,再删除%WINDIR%下的smss.exe文件,然后清除它在注册表和WIN.INI文件中的相关项即可。
进程文件: lsass or lsass.exe :
进程名称: 本地安全权限服务
描 述: 这个本地安全权限服务控制Windows安全机制。管理 IP 安全策略以及启动 ISAKMP/Oakley (IKE) 和 IP 安全驱动程序等。
介 绍:这是一个本地的安全授权服务,并且它会为使用winlogon服务的授权用户生成一个进程。这个进程是通过使用授权的包,例如默认的msgina.dll来执行的。如果授权是成功的,lsass就会产生用户的进入令牌,令牌别使用启动初始的shell。其他的由用户初始化的进程会继承这个令牌的。而windows活动目录远程堆栈溢出漏洞,正是利用LDAP 3搜索请求功能对用户提交请求缺少正确缓冲区边界检查,构建超过1000个"AND"的请求,并发送给服务器,导致触发堆栈溢出,使Lsass.exe服务崩溃,系统在30秒内重新启动。
alg.exe - alg - 进程管理信息
进程文件: alg or alg.exe
进程名称: Application Layer Gateway Service
进程类别:其他进程
描述: alg.exe是微软Windows操作系统自带的程序。它用于处理微软Windows网络连接共享和网络连接防火墙。这个程序对你系统的正常运行是非常重要的。
进程文件: spoolsv or spoolsv.exe
进程名称: Microsoft Printer Spooler Service
进程类别:其他进程
描述: spoolsv.exe用于将Windows打印机任务发送给本地打印机。注意spoolsv.exe也有可能是Backdoor.Ciadoor.B木马。该木马允许攻击者访问你的计算机,窃取密码和个人数据。该进程的安全级别是建议立即删除。
凡是Windows系列的操作系统,运行时都会启动一个名为Explorer.exe的进程。这个进程主要负责显示系统桌面上的图标以及任务栏,它在不同的系统中有不同的妙用,我们一起来看一看。
Explorer.exe:
浏览器的驱动程序文件,显示系统桌面上的图标以及任务栏 。
gototop
 

三、电脑开机全过程
  首先让我们来了解一些基本概念。第一个是大家非常熟悉的BIOS(基本输入输出系统),BIOS是直接与硬件打交道的底层代码,它为操作系统提供了控制硬件设备的基本功能。BIOS包括有系统BIOS(即常说的主板BIOS)、显卡BIOS和其它设备(例如IDE控制器、SCSI卡或网卡等)的BIOS,其中系统BIOS是本文要讨论的主角,因为计算机的启动过程正是在它的控制下进行的。BIOS一般被存放在ROM(只读存储芯片)之中,即使在关机或掉电以后,这些代码也不会消失。
  第二个基本概念是内存的地址,我们的机器中一般安装有32MB、64MB或128MB内存,这些内存的每一个字节都被赋予了一个地址,以便CPU访问内存。32MB的地址范围用十六进制数表示就是0~1FFFFFFH,其中0~FFFFFH的低端1MB内存非常特殊,因为最初的8086处理器能够访问的内存最大只有1MB,这1MB的低端640KB被称为基本内存,而A0000H~BFFFFH要保留给显示卡的显存使用,C0000H~FFFFFH则被保留给BIOS使用,其中系统BIOS一般占用了最后的64KB或更多一点的空间,显卡BIOS一般在C0000H~C7FFFH处,IDE控制器的BIOS在C8000H~CBFFFH处。
  好了,下面我们就来仔细看看计算机的启动过程吧。
  第一步: 当我们按下电源开关时,电源就开始向主板和其它设备供电,此时电压还不太稳定,主板上的控制芯片组会向CPU发出并保持一个RESET(重置)信号,让CPU内部自动恢复到初始状态,但CPU在此刻不会马上执行指令。当芯片组检测到电源已经开始稳定供电了(当然从不稳定到稳定的过程只是一瞬间的事情),它便撤去RESET信号(如果是手工按下计算机面板上的Reset按钮来重启机器,那么松开该按钮时芯片组就会撤去RESET信号),CPU马上就从地址FFFF0H处开始执行指令,从前面的介绍可知,这个地址实际上在系统BIOS的地址范围内,无论是Award BIOS还是AMI BIOS,放在这里的只是一条跳转指令,跳到系统BIOS中真正的启动代码处。
  第二步: 系统BIOS的启动代码首先要做的事情就是进行POST(Power-On Self Test,加电后自检),POST的主要任务是检测系统中一些关键设备是否存在和能否正常工作,例如内存和显卡等设备。由于POST是最早进行的检测过程,此时显卡还没有初始化,如果系统BIOS在进行POST的过程中发现了一些致命错误,例如没有找到内存或者内存有问题(此时只会检查640K常规内存),那么系统BIOS就会直接控制喇叭发声来报告错误,声音的长短和次数代表了错误的类型。在正常情况下,POST过程进行得非常快,我们几乎无法感觉到它的存在,POST结束之后就会调用其它代码来进行更完整的硬件检测。
  第三步: 接下来系统BIOS将查找显卡的BIOS,前面说过,存放显卡BIOS的ROM芯片的起始地址通常设在C0000H处,系统BIOS在这个地方找到显卡BIOS之后就调用它的初始化代码,由显卡BIOS来初始化显卡,此时多数显卡都会在屏幕上显示出一些初始化信息,介绍生产厂商、图形芯片类型等内容,不过这个画面几乎是一闪而过。系统BIOS接着会查找其它设备的BIOS程序,找到之后同样要调用这些BIOS内部的初始化代码来初始化相关的设备。
  第四步: 查找完所有其它设备的BIOS之后,系统BIOS将显示出它自己的启动画面,其中包括有系统BIOS的类型、序列号和版本号等内容。
  第五步: 接着系统BIOS将检测和显示CPU的类型和工作频率,然后开始测试所有的RAM,并同时在屏幕上显示内存测试的进度,我们可以在CMOS设置中自行决定使用简单耗时少或者详细耗时多的测试方式。
  第六步: 内存测试通过之后,系统BIOS将开始检测系统中安装的一些标准硬件设备,包括硬盘、CD-ROM、串口、并口、软驱等设备,另外绝大多数较新版本的系统BIOS在这一过程中还要自动检测和设置内存的定时参数、硬盘参数和访问模式等。
  第七步: 标准设备检测完毕后,系统BIOS内部的支持即插即用的代码将开始检测和配置系统中安装的即插即用设备,每找到一个设备之后,系统BIOS都会在屏幕上显示出设备的名称和型号等信息,同时为该设备分配中断、DMA通道和I/O端口等资源。
  第八步: 到这一步为止,所有硬件都已经检测配置完毕了,多数系统BIOS会重新清屏并在屏幕上方显示出一个表格,其中概略地列出了系统中安装的各种标准硬件设备,以及它们使用的资源和一些相关工作参数。
  第九步: 接下来系统BIOS将更新ESCD(Extended System Configuration Data,扩展系统配置数据)。ESCD是系统BIOS用来与操作系统交换硬件配置信息的一种手段,这些数据被存放在CMOS(一小块特殊的RAM,由主板上的电池来供电)之中。通常ESCD数据只在系统硬件配置发生改变后才会更新,所以不是每次启动机器时我们都能够看到“Update ESCD… Success”这样的信息,不过,某些主板的系统BIOS在保存ESCD数据时使用了与Windows 9x不相同的数据格式,于是Windows 9x在它自己的启动过程中会把ESCD数据修改成自己的格式,但在下一次启动机器时,即使硬件配置没有发生改变,系统BIOS也会把ESCD的数据格式改回来,如此循环,将会导致在每次启动机器时,系统BIOS都要更新一遍ESCD,这就是为什么有些机器在每次启动时都会显示出相关信息的原因。
  第十步: ESCD更新完毕后,系统BIOS的启动代码将进行它的最后一项工作,即根据用户指定的启动顺序从软盘、硬盘或光驱启动。以从C盘启动为例,系统BIOS将读取并执行硬盘上的主引导记录,主引导记录接着从分区表中找到第一个活动分区,然后读取并执行这个活动分区的分区引导记录,而分区引导记录将负责读取并执行IO.SYS,这是DOS和Windows 9x最基本的系统文件。Windows 9x的IO.SYS首先要初始化一些重要的系统数据,然后就显示出我们熟悉的蓝天白云,在这幅画面之下,Windows将继续进行DOS部分和GUI(图形用户界面)部分的引导和初始化工作。
gototop
 
1   1  /  1  页   跳转
页面顶部
Powered by Discuz!NT