核心在于结合日志分析、进程行为监控和账户配置审计三方面交叉验证,需比对get-localuser与net user结果、sam修改时间、security日志id 4720/4722/4732,并通过process explorer、accesschk、handle.exe等工具关联权限与进程上下文。

发现系统隐藏账户与关联非法进程,核心在于结合日志分析、进程行为监控和账户配置审计三方面交叉验证。单纯依赖单一工具或命令容易遗漏伪装成系统服务的恶意实体。
检查异常用户账户与登录痕迹
隐藏账户常通过禁用交互式登录(如设置UserCannotChangePassword、PasswordExpired)或修改sAMAccountName绕过常规查询。应重点比对以下数据源:
- 使用Get-LocalUser与net user结果是否一致,不一致说明存在PowerShell隐藏账户(如通过WMI或注册表直接添加)
- 检查C:\Windows\System32\config\SAM的最后修改时间是否与域控同步时间明显偏离,可能为离线注入
- 审计Security事件日志(ID 4720/4722/4732)中无对应管理员操作记录的新账户创建行为
- 排查LSASS内存中缓存的SID列表(需用mimikatz sekurlsa::logonpasswords或procdump -ma lsass.exe离线分析)是否存在未登记账户的登录会话
识别伪装进程与异常父进程链
非法进程常利用合法进程做掩护,例如以svchost.exe、dllhost.exe或rundll32.exe为父进程加载恶意DLL。关键动作包括:
- 用Get-Process -IncludeUserName筛选非SYSTEM/NETWORK SERVICE但归属系统路径的进程,再比对其StartInfo.FileName是否真实指向该路径
- 通过Sysinternals Process Explorer查看进程的“Image Path Name”与“Command Line”字段差异——攻击者常伪造前者而暴露后者中的临时路径或Base64参数
- 检查进程的integrity level(完整性级别):正常系统进程为High或System,若发现Medium级lsass.exe或winlogon.exe,极可能被注入
- 导出所有进程的Loaded Modules列表,搜索非常见DLL(如xll.dll、svcutil.dll)及硬编码IP/域名字符串
关联账户与进程的权限映射漏洞
隐藏账户的价值在于执行权限,因此需定位其实际可操控的进程上下文:
- 运行PsExec -i -s cmd.exe模拟SYSTEM上下文,再执行whoami /all,比对结果中Group SIDs是否包含隐藏账户所属组(如自定义BUILTIN\Remote Management Users)
- 用AccessChk.exe -uwcqv "Users" *扫描服务注册表项(HKLM\SYSTEM\CurrentControlSet\Services),查找ObjectName含隐藏账户名且Type=Service的服务
- 检查WMI Namespace root\cimv2下Win32_Service实例的StartName字段,注意空格填充、Unicode同形字(如admin)等混淆手法
- 对高可疑进程执行handle.exe -p [PID] -a,观察是否持有SAM key、LSA secrets或HKLM\SECURITY句柄
固化证据与规避反审计机制
攻击者常部署反调试、日志清除或进程守护逻辑,审计时需主动压制干扰:
- 在安全模式或WinPE环境下挂载系统盘,直接读取C:\Windows\System32\winevt\Logs\Security.evtx原始文件,避免wevtutil被hook后返回过滤结果
- 禁用Windows Event Log服务前先用reg save HKLM\SYSTEM\CurrentControlSet\Services\EventLog C:\temp\eventlog.hiv备份注册表状态
- 对疑似恶意进程,优先用ProcDump -ma -e 1 -w [PID]捕获异常退出时的内存快照,而非直接终止——许多后门在进程关闭时触发擦除逻辑
- 启用ETW(Event Tracing for Windows)持久跟踪,采集Microsoft-Windows-Security-Auditing与Microsoft-Windows-Kernel-Process双通道日志,避免依赖易被篡改的Sysmon配置










