从以下方面进行排查windows主机
1.是否有异常进程、用户
2.异常的服务、计划任务、启动项
3.注册表信息
4.端口开放情况
5.文件及文件共享
6.防火墙设置
7.异常会话
8.日志
9.其他
10.工具
获取系统上正在运行的所有进程列表,
可以根据以下内容查找可疑进程
CUP、内存占用率长时间过高的进程
没有签名或描述信息的进程
非法路径的进程 进程的属主
也可以使用某些软件,如D盾_web查杀工具,微软的Process Explorer工具等进行排查
##win+r
msinfo32
##软件环境————正在运行的任务
##管理员权限下的cmd
tasklist
##powershell
get-process
##WMIC
wmic process list full
##确定父进程ID、进程名称、进程id
wmic process get name,parentprocessid,processid
tasklist | findstr "572"
##获取进程路径
wmic process where "processid=4420" get commandline
1.查找是否存在可疑账号、新增账号,如有新增账号,立即删除过禁用此账号。
可能的话,开启用户账号的操作日志,从日志审计服务器账号信息
产看当前用户的方式:
##win+r
lusrmgr.msc
##管理员权限运行
##cmd
net user
##cmd中将本地或域用户添加、删除出组,创建新组、删除现有组
net localgroup administrators
##PowerShell
Get-LocalUser
2.查看服务器是否存在隐藏账号,克隆账号
有时候攻击者创建的用户被隐藏起来了,通过上述查询并不能查询到隐藏用户,所以我们通过注册表去查询是否具有隐藏账号
##win+r
regedit
注册表中项
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names
##使用D盾——web查杀工具,对克隆账号进行检测
3.结合日志,查看账户管理、登录事件(具体见下面的日志部分)
确定系统中是否有异常服务运行或某些服务运行不正常
##win+r
services.msc
##cmd
net start
#查看服务是否正在运行并获取更多详细信息,如服务名称、显示名称等
sc query | more
#正在运行的进程及相关服务
tasklist /svc
攻击者使用MSF权限位置模块Metsvc时,会在服务中生成meterpreter服务,类型为自动启动,所以如有这样的服务就可以断定被留后门了
windows中计划任务是指,在预定义时间或指定时间间隔后打开程序或执行脚本的任务,应急响应中查看具有高权限且看起来可疑的计划任务
##win+r
taskschd.msc
##控制面板——计划任务
##cmd
schtasks
当windows启动时,启动文件夹会自动运行应用程序,因此检查自启动中的启动项也是必要的
##任务管理器————启动项
##powershell查看启动项
wmic startup get caption,command
#查看启动项详细信息
Get-CimInstance Win32_StartupCommand | Select-Object Name, command, Location, User | Format-List
系统注册表排查
##系统启动时自动执行的程序
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\
##系统启动时自动执行的系统服务
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\
##系统启动时自动执行的程序,病毒最可能添加/修改的地方
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\ HKEY_CLASSES_ROOT\exefile\shell\open\command
HKEY_CLASSES_ROOT\txtfile\shell\open\command
HKEY_CLASSES_ROOT\comfile\shell\open\command
##病毒修改键值,防止用户查看和修改注册表
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools =
##病毒修改键值,显示一个内存访问错误窗口
HKCR\regfile\shell\open\command\(Default) = "cxsgrhcl.exe showerror"
通过注册表的运行键寻找恶意软件
位置:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
##win+r
regedit
##powershell
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
##powershell查看Run键的Current User注册表
reg query HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
查看敏感端口开放情况,比如攻击者喜欢的某些端口:3389、445、135、139、1433、1521、3306等,若这样的端口暴露,危害很大,如某0day CVE2019-0708,开启的就是3389端口
##cmd查看端口
netstat -ano
##定位PID、端口
tasklist | findstr "PID"
tasklist | findstr "PORT"
##powershell
Get-NetTCPConnection -LocalAddress | Sort-Object LocalPort
如对3389端口的排查
当我们知道攻击者通过3389入侵到服务器后,我们就去查看3389是否对外网进行了开放,问一下管理员开放的端口有没有设置地址白名单,密码是否是弱密码,审查日志,分析攻击者爆破密码,登录失败次数。然后和管理员及顾客进行沟通,在不影响业务的前提下封掉3389端口,修改口令强度,采取ip白名单设置,绑定MAC地址,设置登录失败次数等
注意有时候即使将敏感端口修改成了其他端口,攻击者使用端口扫描工具也能扫描出来
确保每个文件共享都是合理的,并没有不必要的文件共享
##cmd
net view \\127.0.0.1
##powershell
Get-SMBShare
使用”forfiles“查看恶意的或特定扩展名结尾的文件
##cmd,查看.exe文件及其路径
forfiles /D -10 /S /M *.exe /C "cmd /c echo @path"
##查看没有路径的.exe文件
forfiles /D -10 /S /M *.exe /C "cmd /c echo @ext @fname @fdate"
##检查过去10天内修改的文件
forfiles /p c: /S /D -10
应急响应中应该注意防火墙的配置和设置,并定期对其进行维护
##cmd,防火墙配置以及入站和出站流量
netsh firewalll show config
##查看当前防火墙配置文件
netsh advfirewall show currentprofile
##cmd
net use
查看系统开启的任何会话
net session
##win+r
eventvwr.msc
##cmd,查看某些特定日志
wevtutil qe security
##这种方式查看很不方便
##powershell
Get-EventLog -List
日志分析的前提是服务器开启了日志审核策略,记录用户失败、成功的事件
前期故障排查,查看客户提供的运维故障时间点日志。下载服务器应用日志、安全日志、程序日志,本地分析入侵者信息和故障信息
以下是windows日志中常见 EVENT ID 代表的含义
##用户事件管理
4720————新建用户————net user test /add
4722————启用新账户
4724————更改账户密码
4725————禁用用户账户————net user test /active:no
4726————删除用户————net user test /delete
4731————创建一个新组
4732————将用户添加到本地组————net localgroup 组名 test /add
4733————从组中删除用户
4734————删除启用的组————net localgroup 组名 /delete
4735————安全组更改
4738————更改用户账户
4798————枚举本地用户组
4727————启用安全性的组
4728————向安全的全局组中添加新成员
4729————从组中删除用户
4737————任何更改安全组的操作
4741————创建一个新的计算机账户
4742————任何更改计算机账户
4754————删除计算机账户
4755————在安全组中做任何修改时
4756————将用户添加到安全性的通用组
4799————枚举组中成员时
##用户登录事件
4624————登录成功
4625————登录失败
4634——从系统注销用户
4647——用户启动的注销,当用户远程登陆,并注销时,会发生此事件
4648——使用其他用户凭证登录或绕过登录凭证打开管理员权限进程时发生
4672——使用被分配管理员权限的账户进行登录
通过eventlog事件查看计算机开关机记录
常规事件ID
6005——信息Eventlog 事件日志服务已启动(开机)
6006——信息Eventlog 事件日志服务已停止(关机)
6009—信息Eventlog 按ctrl、alt、delete(非正常)关机
1.开始菜单——所有程序——管理工具——事件查看器 或 eventvwr.msc
2.事件查看器中,单击系统,查看系统日志
3.在系统日志右侧,点击”筛选当前日志“,输入事件ID进行筛选
查找中间件的web日志,可以下载到本地分析
利用工具Log Parser对日志进行分析
系统未打补丁造成的内核漏洞、低版本框架或组件的漏洞,如Strust2、jboss(弱口令)、weblogic、springboot泄露等。