Answers:
本地帐户存储在一个名为SAM数据库的文件中。它存在于域控制器上-如果您以还原模式启动域控制器,则用于执行此操作的帐户就是SAM数据库中的本地管理员帐户。但是,在Windows正常运行时,将禁用对SAM数据库的访问,并且无法使用其中的任何帐户。这意味着不可能使用域控制器上的本地帐户登录。
但是,如果您愿意从命令行工作并且不需要网络访问,则可以完成此操作。诀窍是使用本地系统帐户登录。Windows没有提供任何方法来执行此操作,但我通过编写一个简单的telnet服务器,然后使用本地系统帐户将其作为服务运行来完成此操作。当您连接到telnet服务器时,您将以系统帐户而非域帐户的身份登录。唯一的限制是仅命令行,并且系统帐户没有网络访问权限。如果您打算使用这种骇客,请务必非常小心安全性!
尽管所有这些听起来像是一个骇人听闻的骇客,但它确实有合法用途。例如,在工作中,我们使用称为N-able的管理工具,该工具允许远程访问服务器上的控制台,并且基本上使用我上面描述的技术来实现。如果在其中一个域控制器上打开控制台并使用whoami命令,我将得到:
脚注
Windows没有内置的方法来打开远程命令提示符,但是正如注释中提到的那样,SysInternals psexec实用程序可以执行此操作,并且SysInternals实用程序由Microsoft提供和支持,因此至少是半官方的。在我的一台服务器上使用psexec我得到:
D:\temp\psexec>psexec64 \\cheddar -s cmd.exe
PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com
Microsoft Windows [Version 10.0.17134.345]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Windows\system32>whoami
nt authority\system
C:\Windows\system32>exit
cmd.exe exited on cheddar with error code 0.
不,这是不可能的。域控制器没有自己的身份验证数据库。升级为域控制器后,将其替换为Active Directory。
Domain controllers don't have their own authentication database. It is replaced by Active Directory when promoted to a Domain Controller
是为什么。所以这确实回答了为什么。