Windows应急响应一般思路(一)
用户信息排查
在服务器被入侵后,攻击者可能会建立相关账户(有时是隐藏或克隆账户),方便进行远程控制
攻击者会采用的方法主要有如下几种
- 直接建立一个新的账户(有时是为了混淆视听,账户名称与系统常用名称相似)
- 激活一个系统中的默认账户,但这个账户是不经常使用的
- 建立一个隐藏账户(在Windows系统中,一般在账户名称最后加$)
无论攻击者采用哪种方法,都会在获取账户后,使用工具或是利用相关漏洞将这个账户提升到管理员权限(提权),然后通过这个账户任意控制计算机
Windows账户排查
命令行方法
net命令
- 获取本机用户列表:
net user
,可直接收集用户账户信息
注意:此命令看不到隐藏用户
- 若需查看某个账户的详细信息,可在命令行中输入【net user username】命令
- 本机管理员:
net localgroup administrators
net其他可用命令
- 查看当前会话:
net session
- 远程连接:
net use
- 查看当前用户下的共享目录:
net share
- 添加正常用户
net user test Admin@123 /add
- 添加隐藏用户
net user test1$ Admin@123 /add
- 删除用户
net user test /del
wmic命令
- 在命令行中输入【
wmic useraccount get name,SID
】命令,也可以查看系统中的用户信息
此命令可以看到隐藏用户和克隆用户
本地用户和组
- 打开【计算机管理】窗口,单击【本地用户和组】中的【用户】选项,可查看隐藏账户,名称以$结尾的为隐藏账户
- 在命令行中输入【lusrmgr.msc】命令,直接打开图形界面,查看是否有新增/可疑的账户
注册表
- 打开【注册表编辑器】窗口,选择【HKEY_LOCAL_MACHINE】下的【SAM】选项,为该项添加【使用可从此对象继承的权限项目替换所有子对象的权限项目】权限,使当前用户拥有SAM的读取权限
- 添加权限完成后按【F5】键,刷新后即可访问子项并查看用户信息,然后继续选择【SAM】一一【Domains】一一【Account】一一【Users】一一【Names】查看是否有异常的账户
计划任务与启动项排查
由于很多计算机都会自动加载“任务计划”,“任务计划”也是恶意病毒实现持久化驻留的一种常用手段,因此在应急响应事件排查时需要进行排查
Windows计划任务排查
计划任务
任务计划是Windows系统的一个预置实现某些操作的功能,利用这个功能还可实现自启动的目的
图形化界面
打开【计算机管理】窗口,选择【系统工具】中【任务计划程序】中的【任务计划程序库】选项,可以查看任务计划的名称、状态、触发器等详细信息
命令行查看
在命令行中输入【schtasks】命令,可获取任务计划的信息,该命令是一个功能更为强大的超级命令行计划工具,它含有【at】(在较旧的系统中才可以用) 命令行工具中的所有功能,获取任务计划时要求必须是本地Administrators组的成员
异常启动项检测
msinfo32
msinfo32
查看启动程序
msconfig
msconfig
查看启动程序
查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项,并到命令中显示的路径删除文件
注册表
cmd运行regedit打开注册表,查看开机启动项是否正常
注意一下三个表检查右侧是否有启动异常的项目:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
组策略
本地组策略看看有没有启动脚本gpedit.msc