Windows手工入侵排查思路
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”
检查方法
检查是否存在可疑的网络连接,如发现异常,可使用Wireshark网络抓包辅助分析。
(2)检查可疑的网络连接
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_USER\software\micorsoft\windows\currentversion\run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
检查右侧是否有启动异常的项目,如有请删除,并建议安装杀毒软件进行病毒查杀,清除残留病毒或木马。
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安全日志来获悉账号登录情况,比如成功/失败的次数。
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命令将会保存在固定位置:
appdata%\Microsoft\Windows\PowerShell\PSReadline\ConsoleHost_history.txt
查看PowerShell历史记录:
Get-Content (Get-PSReadlineOption).HistorySavePath
默认Powershell v5支持,Powershell v3和Powershell v4,需要安装Get-PSReadlineOption后才可以使用。