本期分享专家:五贤,搞过开发,玩过小机、AIX,目前在阿里云从事云产品技术支持,专注于云计算相关的系统运维。奉行“上天给了人两只手,两只眼,而只有一张嘴。就是要让我们多动手,多观察,少耍嘴皮。”
对于云上业务,Windows 服务器中毒或被入侵的案例很多。Windows 系统中毒或被入侵后,可能会导致系统报错、系统进程 CPU 或内存使用异常、无法远程等诸多问题。遇到这类问题后往往都比较急躁,不知如何下手,所以今天技术专家五贤来教大家如何诊断你的服务器是否有病毒?
一张图教你如何理清处理思路。
从上图可以看到,判断系统是否有中毒或被入侵迹象,是此类问题处理的关键。本文对简单快速诊断方法给大家进行说明,希望读者看完能对此类问题进行快速判断和处理,不要慌乱。下面给大家介绍常见的诊断方法。
说明:根据系统可控程度,问题可以分为两类来处理:
能进入系统: 出现问题时,可以通过远程桌面或 管理终端,通过重置密码等手段正常进入系统。
无法进入系统:密码无效、黑屏等原因导致无法进入系统。此时,需要 提交工单,反馈阿里云工程师,通过 WinPE 盘引导系统后做相应排查分析。
如何诊断我的服务器是否被病毒感染?
通常我们可以通过以下 3 种常见的快速诊断方法来做诊断,当然还有更多方法可以用于诊断,就不在这里一一介绍了。
可疑文件诊断(4W1H)
无论是正常系统环境还是 WinPE 环境,都可以通过 4W1H (可不是病毒哦)来对可疑文件诊断。:
注:下述操作之前,先设置 显示所有文件(包括受保护的系统文件)和 显示文件后缀,方法本文不再详述。
病毒或木马文件一般都为可执行文件。所以,排查的时候,重点关注如下后缀类型文件:
exe: Windows可执行文件
bat: 批处理文件
com: DOS可执行文件
vbs: Windows脚本
通常系统中毒或被入侵后,会在系统目录生成病毒或木马文件。诊断时,可依次到如下目录排查可疑文件(再次提醒,注意显示隐藏文件)。
C 盘根目录
C:\Windows 目录
C:\Windows\System32 目录
C:\Windows\Temp 目录
C:\Users\<用户名>\AppData\Local\Temp 目录(用户缓存目录)
可疑文件一般都是在系统创建之后修改或生成的。可以通过对比文件的【修改时间】来甄别。
如下图所示,进入前述系统目录后,点击【修改时间】列,按时间进行倒序排序。然后通过对比正常系统文件的修改时间来甄别:
常见病毒或木马文件的文件名可能具有如下特征。可以据此进行可疑文件甄别:
随机字母和/或数字组成的文件名 :病毒或木马通常会自动复制,然后在系统目录使用随机字母和/或数字生成副本。比如:2gpjNw.exe,kuUYjp.exe,zJ5NQD.exe …
与系统文件相似的文件名:可疑文件为了伪装,可能会将文件命名为与系统文件类似,让用户因错觉而忽略。比如:exp1orer.exe,svch0st.exe …
最终,综合前述几个因素,在系统目录根据文件类型、文件属性(是否隐藏)、文件修改日期、文件名称等因素,共同分析判定可疑文件。
注:如果无法确认相关文件是否是正常的系统文件,可以使用一台正常的服务器做对比分析。
可疑启动项诊断
通过 Windows 系统自带的 msconfig 实用程序的【启动】选项卡,可以查看当前用户系统启动项。
用法:开始菜单 > 运行 > msconfig ,如下图所示,重点关注 制造商 和 命令 列,如果文件路径或文件名具有前述可疑文件特征,则需要进一步判断是否是正常业务进程。然后,取消勾选相应启动项后重启系统复查。
-
使用 Sysinternals 工具包中的 autoruns 工具查看启动项
微软官方免费提供的 Sysinternals 工具包 中的 autoruns 工具能查看更完整启动信息,包括当前用户启动项、系统启动项、计划任务及浏览器挂载插件等。如果问题系统还能上传文件,可以使用 autoruns 做更详细的排查分析。
用法: 运行软件后,如下图所示,切换到 Logon 选项卡查看启动项。
如果上述程序无法正常运行,则可以尝试直接通过注册表查看查看是否有相应的可疑启动项。
用法: 开始菜单 > 运行 > regedit,打开注册表编辑器,然后定位到如下路径查看是否有可疑信息。常见的启动项配置说明如下:
注意: 请勿对注册表做随意调整,否则可能会导致系统无法启动甚至崩溃等严重问题。
键值说明
|
注册表路径
|
Run注册键
|
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
|
64位系统Run注册键
|
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
|
Userinit注册键(默认值为userinit.exe)
|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon 键:Userinit
|
Explorer\Run注册键
|
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
|
RunServicesOnce注册键
|
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce
|
RunServices注册键
|
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
|
RunOnce注册键
|
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
|
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
|
Load注册键
|
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\load
|
注: HKEY_LOCAL_MACHINE 简称为 HKLM,HKEY_CURRENT_USER 简称为 HKCU,HKEY_CLASSES_ROOT 简称为 HKCR。
可疑进程及服务诊断
如果系统能正常登录,则可以通过如下手段来排查可疑进程或服务。
和可疑文件的判断类似,也可以使用类似规则对系统进程或系统服务进行甄别。
---以随机字母和/或数字命名
---与系统进程或服务名称
如果 msconfig 实用程序能正常运行,则可以通过它剔除系统自带服务,以便更快速的排查分析。如下图所示,勾选 隐藏所有Microsoft服务 复选框即可。
对以上的诊断方法来个小结:
通过前述方式诊断分析后,如果确认系统有中毒或被入侵迹象。则可以先通过如下方式进行简单处理,尝试恢复系统的远程访问、桌面显示等基础功能,以便用户更好的进行数据备份。
1、创建备份目录,将可疑文件移动到备份目录。
2、取消可疑启动项。
3、重启验证。
如果经上述处理后仍无效,而且对业务无影响,则建议用户先创建一个最新 快照 进行备份后,再通过 回滚历史快照 的方式进行系统恢复。
注意:回滚快照后,快照时间点之后的数据将会丢失
在此小编不得不提醒下大家 ,病毒入侵无处不在,快过年了,要防火防盗防病毒,保护好自己的数据,做好快照备份,保证自己网站数据的安全哦,最后送上一张图总结下这次的诊断方法,也欢迎大家留言讨论,我们下期见!