一、账号,服务,端口
注意:溯源取证和维权对抗是相互的,本次只是从蓝队和溯源方向总结。比如ETW的篡改方法很多,后续会不断从rt角度更新补充。
-
查看服务器,主机是否存在可疑账号、新增账号。
本地用户组查看Cmd 打开 lusrmgr.msc:
查看是否有新增/可疑的账号,如有管理员群组的(Administrators)里的新增账户,如有,请立即禁用或删除掉。
Net user查看
2. 影子用户对抗
影子用户顾名思义就是一个隐藏用户,只能通过注册表查看这个用户,其它方式是找不到这个用户的信息的
在用户名后面加一个$可以创建一个匿名用户,创建完毕后我们再把这个用户添加到administrator组
创建一个测试的匿名账号:
net user malware$ malware /add
添加到用户组:
net localgroup administrators malware$ /add、
此时使用net user 看不到用户,但是本地用户组还是可以看到:
Regedit打开注册表:HKEY_LOCAL_MACHINE\SAM\SAM,修改权限
重启注册表就能看到下面目录:
把管理员f值对应的数据到处保存:
把管理员的F值赋值到 malware账号:
把创建的账号删掉:
这样用户组和命令行都看不到了:
对抗方法就是取证不能过于依赖本地用户组信息,还要去查看注册表用户信息。
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users
3.寻找可疑端口,进程和服务
先用netstat -a 罗列当前活跃端口 -ano 命令:
可以根据pid定位进程名:
获取全部路径:
wmic process where processid=2208 get processid,executablepath,name
可以借助第三方工具查看进程信息,活跃端口等:(pchunter,火绒剑等)
也可以使用系统自带的msinfo32
寻找可疑服务:services.msc
或者
注意:可疑服务的对抗方式还需要单独详细整理一篇。比如通信流量解密审查等。
二、事件查看器,日志分析
控制面板->管理工具:
日志保存路径
- 系统日志
记录操作系统组件产生的事件,主要包括驱动程序、系统组件和应用软件的崩溃以及数据丢失错误等。系统日志中记录的时间类型由Windows NT/2000操作系统预先定义。
默认位置: %SystemRoot%\System32\Winevt\Logs\System.evtx
- 应用程序日志
包含由应用程序或系统程序记录的事件,主要记录程序运行方面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人员可以自行决定监视哪些事件。如果某个应用程序出现崩溃情况,那么我们可以从程序事件日志中找到相应的记录,也许会有助于你解决问题。
默认位置:%SystemRoot%\System32\Winevt\Logs\Application.evtx
- 安全日志
记录系统的安全审计事件,包含各种类型的登录日志、对象访问日志、进程追踪日志、特权使用、帐号管理、策略变更、系统事件。安全日志也是调查取证中最常用到的日志。默认设置下,安全性日志是关闭的,管理员可以使用组策略来启动安全性日志,或者在注册表中设置审核策略,以便当安全性日志满后使系统停止响应。
默认位置:%SystemRoot%\System32\Winevt\Logs\Security.evtx
系统和应用程序日志存储着故障排除信息,对于系统管理员更为有用。 安全日志记录着事件审计信息,包括用户验证(登录、远程访问等)和特定用户在认证后对系统做了什么,对于调查人员而言,更有帮助。
也可以使用微软官方的LogParser进行分析,因为日志的存储是关系型数据库:
https://www.microsoft.com/en-us/download/details.aspx?id=24659
详细信息窗格
打开事件查看器时,“详细信息”窗格将显示“概述”和“摘要”。我们将讨论摘要视图之后。从导航窗格中选择一个项目以查看事件列表
默认情况下,事件条目按时间顺序列出,最新事件位于顶部。单击任何列标题以按该字段以升序或降序对事件进行排序。在同一列标题中再次单击会反转排序顺序。例如,单击级别按严重程度排序。插入符号^符号或反向插入符号表示排序字段和排序方向。
每个事件都有一个严重级别:
| 信息消息表明操作成功。 |
| 警告消息表明发生的事件可能会成为问题。 |
| 错误消息表明发生了重大问题。 |
| 严重消息表明发生了严重问题。 |
| 审计成功与安全事件相关联。 |
| 审计失败与安全事件相关。 |
显示错误和警告的事件查看器详细信息窗格:
三、自启动项、计划任务
对于攻击者后渗透阶段的提权和维持阶段,方法有很多,在实际应急中无法排查所有情况,有些也需要根据具体样本分析判断其维持方法,比如CLR劫持,office拦截,白利用侧加载启动等。但是基本的维持手段要排查到,其他的windows提权和维持见另一篇整理的文章。
可以根据任务管理器,或者msconfig查看非微软启动项:
注册表排查一般启动项目录:
%HOMEPATH%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
对应的注册表位置:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellFolders] Startup=\”%Directory%\”
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders] Startup=\”%Directory%\”
其中“%Directory%”为启动文件夹位置。
RunServicesOnce注册键用来启动服务程序,启动时间在用户登录之前,而且先于其他通过注册键启动的程序。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce,
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce。
RunServices注册键指定的程序紧接RunServicesOnce指定的程序之后运行,但两者都在用户登录之前。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices
RunOnce注册键
安装程序通常用RunOnce键自动运行程序。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce。
Run是自动运行程序最常用的注册键。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run。
Windows目录下system.dat和user.dat里存储的是注册表信息。
排查所有计划可疑计划任务:
四、系统相关信息(补丁)
通过systeminfo查看系统版本和补丁信息:
参考链接:
- https://www.loggly.com/ultimate-guide/windows-logging-basics/
- https://bu1.github.io/2021/10/30/Windows%E5%9F%BA%E7%A1%80(%E4%B8%89)%EF%BC%9A%E6%B3%A8%E5%86%8C%E8%A1%A8%E4%B8%8E%E8%87%AA%E5%90%AF%E5%8A%A8/
- https://bypass007.github.io/Emergency-Response-Notes/Summary/%E7%AC%AC1%E7%AF%87%EF%BC%9AWindow%E5%85%A5%E4%BE%B5%E6%8E%92%E6%9F%A5.html
- https://xz.aliyun.com/t/6461#toc-14
- http://www.4k8k.xyz/article/qq_38684504/103152214
关注作者
后期文章不定时更新并同步分享到公众号: