Windows系统被入侵后,通常会导致系统资源占用过高、异常端口和进程、可疑的账号或文件等,给业务系统带来不稳定等诸多问题。一些病毒木马会随着计算机启动而启动并获取一定的控制权,启动方式多种多样,比如注册表、服务、计划任务等,这些都是需要重点排查的地方。另外,需要重点关注服务器日志信息,并从里面挖掘有价值的信息。
基于以上,我们总结了Windows服务器入侵排查的思路,从Windows入侵现象、启动方式、安全日志等方面,对服务器最容易出现安全问题的地方进行入手排查。
01、检查系统账号
(1)检查远程管理端口是否对公网开放,服务器是否存在弱口令。
(2)查看服务器是否存在可疑账号、新增账号。
(3)查看服务器是否存在隐藏账号、克隆账号。
(4)结合Windows安全日志,查看管理员登录时间、用户名是否存在异常。
02、检查异常端口
(1)检查端口连接情况
03、检查异常进程
(1)检查是否存在可疑的进程
检查方法:
a、开始—运行—输入msinfo32,依次点击“软件环境→正在运行任务”就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期、启动时间等。
b、打开D盾_web查杀工具,进程查看,关注没有签名信息的进程。
c、通过微软官方提供的 Process Explorer 等工具进行排查 。
d、查看可疑的进程及其子进程。可以通过观察以下内容:
没有签名验证信息的进程
没有描述信息的进程
进程的属主
进程的路径是否合法
CPU或内存资源占用长时间过高的进程
(2)如何找到进程对应的程序位置
任务管理器—选择对应进程—右键打开文件位置
运行输入 wmic,cmd界面 输入 process
04、检查启动项
(1)检查服务器是否有异常的启动项。
检查方法:
a、登录服务器,单击【开始】>【所有程序】>【启动】,默认情况下此目录在是一个空目录,确认是否有非业务程序在该目录下。
b、单击开始菜单 >【运行】,输入 msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。
c、单击【开始】>【运行】,输入 regedit,打开注册表,查看开机启动项是否正常,
特别注意如下三个注册表项:
检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。
d、利用安全软件查看启动项、开机时间管理等。
e、组策略,运行gpedit.msc。
05、检查计划任务
(1)检查计划任务里是否有可疑的脚本执行
06、检查服务
(1)检查系统服务名称、描述和路径,确认是否异常
07、检查可疑文件
(1)检查新建文件、最近访问文件和相关下载目录等
检查方法:
a、 查看用户目录,新建账号会在这个目录生成一个用户目录,查看是否有新建用户目录。
Window 2003 C:\Documents and Settings
Window 2008R2 C:\Users\
b、单击【开始】>【运行】,输入%UserProfile%\Recent,分析最近打开分析可疑文件。
c、在服务器各个目录,可根据文件夹内文件列表时间进行排序,查找可疑文件。
d、回收站、浏览器下载目录、浏览器历史记录
e、修改时间在创建时间之前的为可疑文件
(2)发现一个WEBSHELL或远控木马的创建时间,如何找出同一时间范围内创建的文件?
08、检查系统日志
(1)检查系统安全日志
一般来说,可以通过检查Windows安全日志来获悉账号登录情况,比如成功/失败的次数。
LogParser.exe -i:EVT –o:DATAGRID "SELECT EXTRACT_TOKEN(Strings,10,'|') as EventType, EXTRACT_TOKEN(Strings,5,'|') asuser, count(EXTRACT_TOKEN(Strings,19,'|')) as Times,EXTRACT_TOKEN(Strings,19,'|') as LoginIp FROM F:\security.evtx where EventID=4625GROUPBY Strings"
(2)历史命令记录
高版本Powershell会记录PowerShell的命令,所有的PowerShell命令将会保存在固定位置:
%appdata%\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
查看PowerShell历史记录:
Get-Content (Get-PSReadlineOption).HistorySavePath
默认Powershell v5支持,Powershell v3和Powershell v4,需要安装Get-PSReadlineOption后才可以使用。