首页/系统/Windows 运维速查/场景:发现可疑新服务/驱动

场景:发现可疑新服务/驱动

巡检组合:7045 新服务 + 4697 审计 + 服务签名与路径核查;路径在用户目录、Temp、缺引号的优先跟进。

Windows 运维速查系统更新于 2026-10-13

发现可疑新服务是什么

攻击者落地持久化最常用的手段之一就是注册服务,因为服务能以 LocalSystem 权限开机自启、且常被运维忽略。排查思路是一套固定组合:先用系统日志的 7045(服务安装)与安全日志的 4697(审计的服务安装)找出最近新增的服务,再看可执行文件路径、运行账户与签名,最后确认这是已知的补丁、监控 agent,还是没人认领的东西。

基本信息

数据来源系统日志 7045;启用审核策略后还有安全日志 4697
优先关注ImagePath 落在用户目录、Temp、Public 等非常规位置
账户关注以 LocalSystem 运行的新服务权限最大
补充证据服务二进制的签名状态与哈希
基线手段维护一份已知服务清单,新出现的自然浮出水面
相关事件7040 服务启动类型变更、4697 服务安装审计

排查步骤

  • 列出近期 7045 与 4697,按时间排序
  • 看 ImagePath:系统目录之外的位置优先跟进
  • 看运行账户:LocalSystem 高于普通服务账户的风险
  • 查二进制:签名状态、哈希是否与官方发布一致
  • 确认来源:补丁更新、监控 agent,还是无主安装
  • 做处置决策:先隔离与验证,再考虑删除服务

常用示例

常用示例
Get-WinEvent -FilterHashtable @{LogName='System'; Id=7045; StartTime=(Get-Date).AddDays(-7)} | Select-Object TimeCreated, @{n='服务名';e={$_.Properties[0].Value}}, @{n='路径';e={$_.Properties[1].Value}}, @{n='账户';e={$_.Properties[4].Value}} | Format-Table -AutoSize
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4697} -MaxEvents 20 | Select-Object TimeCreated, Message   # 审计侧补充
Get-AuthenticodeSignature 'C:\可疑路径\svc.exe' | Select-Object Status, SignerCertificate   # 签名状态
Get-FileHash 'C:\可疑路径\svc.exe' -Algorithm SHA256 | Select-Object Hash   # 记录哈希便于比对
Get-CimInstance Win32_Service | Where-Object { $_.PathName -notlike 'C:\Windows\*' } | Select-Object Name, PathName, StartName   # 盘点非常规路径服务

风险信号读法

观察点高风险表现说明
路径用户目录、Temp、Public正常服务极少装在这些位置
账户LocalSystem权限最高,被滥用时危害最大
签名未签名或签名无效可能被篡改或为自编译工具
名称随机字符串或伪装系统名常见于恶意程序逃避识别
创建时间与异常登录时间接近提示为同一批入侵行为
未签名不等于恶意:内部工具、自研代理往往没有代码签名,判断要结合路径、来源、账户与业务方的确认,别只凭签名状态下结论。
确认可疑后先隔离机器与保留证据(服务配置、二进制、日志),不要直接删服务:删掉会破坏现场,也可能影响仍在运行的业务组件。

易错点

  • 只看服务名不看 ImagePath,恶意服务常伪装成系统风格的名字
  • 发现可疑就立刻删除,破坏证据且可能打断业务,应先隔离、留存、再处置
  • 没有已知服务基线,面对一长串服务列表无从判断哪个是新出现的
  • 只查系统日志 7045 而不启用 4697 审核,漏掉部分安装路径的记录

数据来源与参考

  • Microsoft Learn:7045 事件
  • Microsoft Learn:Get-AuthenticodeSignature

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌