Windows系统案例排查实战(一)- 域用户登录后立即注销

简介: 在接下来的这个系列中我们会以实例来说明Windows系统案例一般如何进行排查,包括一些常见工具的使用以及排查问题的思路。 这次我们遇到的一个有意思的的问题是这样的:用户在云上自建了Windows活动目录(AD),包括一台域控和几台域成员,当用户采用本地账户登录域成员时没有问题,但是当用户使用域账号登录时,登录进行到最后一步显示桌面时,突然自动注销了。

在接下来的这个系列中我们会以实例来说明Windows系统案例一般如何进行排查,包括一些常见工具的使用以及排查问题的思路。

这次我们遇到的一个有意思的的问题是这样的:用户在云上自建了Windows活动目录(AD),包括一台域控和几台域成员,当用户采用本地账户登录域成员时没有问题,但是当用户使用域账号登录时,登录进行到最后一步显示桌面时,突然自动注销了。于是导致用户一直无法登录域。

image.png

当然如果你非常熟悉Windows AD的话,可能会首先主动去查组策略,但是往往用户可能会设置众多的策略导致排查起来并不轻松,甚至在用户自建的域中可能会有各种各样的问题,比如组策略刷新问题从而扰乱了我们的视线。那么在这篇文章中,我们来介绍一下如何在Windows系统如果步步跟踪最后找出问题的原因。

首先,我们要下载一个Windows系统排查中经常会用到的一个工具 process monitor,该工具能够记录系统内对于文件和注册表的所有操作,不仅包括类似进程名字和ID,也包括了一些调试级别的信息如堆栈,其原理是通过向Windows Filter Manager注册filter driver在实现对所有文件和注册表操作的感知,并可以在其回调函数中实现信息记录。

由于出问题的用户是无法登录的,因此我们必须使用本地管理员账号来登录该机器并且运行process monitor工具,并抓取整个复现的过程。

然后我们就可以开始分析process monitor日志了,首先我们来看一下整个进程的运行情况 - 点击Tools->Process Tree...以后我们可以看到整个登录过程的进程运行情况:

image.png

我们注意到在userinit这个父进程下面运行了logoff.exe。我们通过点击该进程可以来看一下该进程可执行文件的位置:


他是存放在c:\windows\system32下的一个文件,因此我们可以确定其实Windows自带的命令行注销工具。但是为什么会出现在登录时候调用呢?我们如果此时去遍查所有的登录策略脚本并不会发现有脚本运行了这样一个程序,于是我们回过头来在观察一下日志:

image.png

我们可以发现该程序是由userinit.exe调用起来的,同时我们可以看看调用时的堆栈情况:

image.png

通过堆栈可以确认在程序是由userinit.exe进程通过函数ProcesRemoteSessionInitialCommand()调用起来的,而从该函数的名字判断应该是一种只会从terminal session中启动相关进程的行为。

此时我们可以来了解一下userinit.exe进程的信息:userinit是有Windows登录主进程winlogon.exe创建的,该程序主要负责运行登录脚本和启动shell UI程序 - explorer.exe。

研究到这里为止,我们几乎可以确定是某一个terminal登录相关的配置导致的问题,而Windows的绝大多数的此类配置是在注册表里,而注意process monitor同样抓取注册表的访问。于是我们可以耐心地在process monitor中寻找这方面的信息:


而访问该注册表的恰恰是运行在宿主进程svchost.exe中gpsvc(组策略服务)

image.png

通过该注册表我们可以查询到其对应如下组策略:

image.png

通过以上的实例我们可以知道,有时候process monitor这类工具一样可以提供一些调试信息,所以并不一定需要打开调试器才能进行调试。

目录
相关文章
|
18天前
|
Java 开发工具
鸿蒙Flutter实战:02-Windows环境搭建踩坑指南
本指南介绍如何搭建鸿蒙Flutter开发环境,包括下载Flutter SDK、配置环境变量(如FLUTTER_STORAGE_BASE_URL、PUB_HOSTED_URL、DEVECO_SDK_HOME等)和检查工具版本。还提到避免项目路径过深、与SDK同盘存放等注意事项,以及解决VsCode无法识别设备的方法。
35 0
|
19天前
|
安全 Windows
永久关闭 Windows 11 系统更新
永久关闭 Windows 11 系统更新
91 0
|
3天前
|
存储 负载均衡 Java
如何配置Windows主机MPIO多路径访问存储系统
Windows主机多路径(MPIO)是一种技术,用于在客户端计算机上配置多个路径到存储设备,以提高数据访问的可靠性和性能。本文以Windows2012 R2版本为例介绍如何在客户端主机和存储系统配置多路径访问。
34 13
如何配置Windows主机MPIO多路径访问存储系统
|
15天前
|
人工智能 监控 安全
掌握Windows管理利器:WMI命令实战
本文介绍了Windows Management Instrumentation (WMI) 的基本概念和用途,通过多个实用的`wmic`命令示例,如获取CPU信息、查看操作系统详情、管理服务、检查磁盘空间等,展示了WMI在系统维护中的强大功能。适合IT专业人士学习和参考。
|
18天前
|
Windows
.NET 隐藏/自定义windows系统光标
【10月更文挑战第20天】在.NET中,可以使用`Cursor`类来控制光标。要隐藏光标,可将光标设置为`Cursors.None`。此外,还可以通过从文件或资源加载自定义光标来更改光标的样式。例如,在表单加载时设置`this.Cursor = Cursors.None`隐藏光标,或使用`Cursor.FromFile`方法加载自定义光标文件,也可以将光标文件添加到项目资源中并通过资源管理器加载。这些方法适用于整个表单或特定控件。
|
18天前
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
|
18天前
|
域名解析 缓存 网络协议
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
Windows系统云服务器自定义域名解析导致网站无法访问怎么解决?
|
19天前
|
Windows
安装Windows XP系统
安装Windows XP系统
|
26天前
|
边缘计算 安全 网络安全
|
19天前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019