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