通过一份完整的SREng报告就看以看出病毒所在进而杀灭病毒,我不喜欢说话,废话到此为止。
在做报告前还需要做一些事情,详细的看http://bbs.vc52.cn/thread-78528-1-1.html
一份完整的 SRE 报告,分为如下 13 部分:
1. 注册表启动项目
2. 启动文件夹
3. 系统服务项目
4. 系统驱动文件
5. 浏览器加载项
6. 正在运行的进程(包括进程模块信息)
7. 文件关联
8. Winsock 提供者
9. Autorun.inf
10.HOSTS 文件
11.进程特权扫描
12.API HOOK
13.隐藏进程
其中,判断一台电脑,是否存在异常,主要是查看:
1. 注册表启动项目
3. 系统服务项目
4. 系统驱动文件
6. 正在运行的进程
8. Winsock 提供者
9. Autorun.inf
10.进程特权扫描
这第一小节我主要讲注册表启动项目,
在任何的一份SREng报告中,注册表启动项目的结构都是一样,例如:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\cryptnet]
<WinlogonNotify: cryptnet><cryptnet.dll> [(Verified)Microsoft Windows Component Publisher]
其中:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\cryptnet]
代表这个启动项目在注册表中的详细位置
<WinlogonNotify: cryptnet>
这个代表启动项在注册表中的名称,当然,不是所有的启动项目的名称都是一样的。
<cryptnet.dll>
这里要分两种情况,
①如果是通过验证的系统关键文件,SREng会直接列出该项目的文件名称,并出相应的详细路径,并且在之后还会有标明“(Verified)”,这个东西是什么过一会再说
②如果没有通过验证,则会列出详细路径,如:D:\12315.exe
[(Verified)Microsoft Windows Component Publisher]
这项代表是否通过数字签名认证,SREng自带有对系统关键文件及常用软件的验证检测,只要是通过验证的都会标有(Verified)
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\cryptnet]
<WinlogonNotify: cryptnet><cryptnet.dll> [(Verified)Microsoft Windows Component Publisher]
注册表结构通常都是按照这种结构进行排列:
【启动项目的详细注册表位置】
【启动项目的名称】【启动项目对应的文件的详细路径】【公司签名】
那么通过这个注册表大家可以知道:
●此启动项目名称:<WinlogonNotify: cryptnet>
●此启动项目对应文件: cryptnet.dll
●此启动项目在注册表中对应的位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\cryptnet
●系统文件的版本信息中可见的公司名称:Microsoft Windows Component Publisher
●是否经过SRE“验证”:是 (因为有Verified)
这里给大家讲个特别的:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
<NvMediaCenter><RUNDLL32.EXE C:\WINNT\system32\NvMcTray.dll,NvTaskbarInit> [NVIDIA Corporation]第一行就是启动项目的详细注册表位置,第二行就是特别所在,是不是和上面的不一样?在Windows系统中dll是不能运行的,需要注入到一个exe模块然后由这个exe文件启动而启动,也就是说,这个dll文件要启动就必须先让这个exe文件启动,这也是目前的病毒常用的方法,像以前的灰鸽子2005等都是以exe文件运行,所以造成很多人以为看进程就能杀毒,这其实也没错,只是不适合现在了。那么这里的意思是什么呢?是NvMcTray.dll这个文件通过RUNDLL32.EXE启动。
在这里大家要注意一个注册表启动项目:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows]
<AppInit_DLLs><> [N/A]
这个注册表结构的<AppInit_DLLs><>的<>一般为空,不然就要100%注意了!(除了用美化软件就会被修改为<AppInit_DLLs><wbsys.sys>,但如果是其他的就要特别注意了!)
那么要怎么识别哪些是病毒哪些不是?我给大家几个注册表就是代表有毒的:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
<svchost><C:\windows\system32\drivers\svchost.exe> [N/A]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
<svhcost><C:\windows\svhcost.exe> []
这些都是绝对有问题的,
①大家应该慢慢了解(这里指有心钻里安全方面的,无心向学安全只是解决一般毒的掠过)Svchost.exe这个文件是在C:\windows\system32里面
②末尾是[]及[N/A]而不是(Verified)
这里我要说明的是一般没有(Verified)这个的都该是有问题,但大家也不要以为有了(Verified)就是绝对安全的!!像磁碟机、机器狗变种等等都会仿冒验证,所以大家绝对不要以为有了(Verified)就安全。
思考,以下的是否有问题?
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
<svchost><C:\windows\system32\taskmrer.exe> [(Verified)Microsoft Corporation]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
<svhcost><C:\windows\system32\svhcost.exe> [Microsoft Corporation]
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
<svhcost><C:\windows\system32\svchost.exe> [Microsoft Corporation] |