当 Windows 机器是 Active Directory 域的一部分时,Kerberos用于管理身份验证。使用 Kerberos,域控制器就是游戏主机:每个人都信任它,而且没有其他人信任它。这意味着当网站连接到数据库时,包含网站的机器(我们称之为“WWW”)与域控制器(“DC”)对话并使用存储在 WWW 内脏中的秘密值,让DC相信它正是那台机器,精神和身体的健全和健全:只有万维网中最特权的进程才能访问秘密值。
一旦 DC 被说服,它就会尊重 WWW 的请求,即:“给我一张票,我可以向数据库展示,证明我是用户 'SomeDomain\SomeAccount' 试图以该名称连接到数据库”。该票证是数据库服务器 (DB) 将通过与 DC 交谈来验证的加密计算的结果(“这张票证现在有效吗?”)。票证嵌入了超时并且是短暂的。
这对我们的问题意味着什么?这意味着获得 WWW 硬盘的完整副本的攻击者会了解 WWW 用于向 DC 进行身份验证的秘密值。这并没有给他任何足以直接连接到数据库的秘密。实际上,数据库只信任 DC。因此,为了真正连接到 DB,攻击者必须伪装成 WWW,即在同一网络上启动一台机器,它会利用它对 WWW 硬盘内容的了解来说服 DC 它是合法的 WWW,并获得一个让 DB 满意的连接票。此外,为了实现这一点,必须关闭真正的 WWW 机器或至少断开与网络的连接,因为如果 DC 同时看到两台机器,它们都声称是 WWW,并且知道 WWW 特定的秘密。 ,那么 DC 很可能会生气并停止与双方交谈。
简介:在您的场景中,只有在攻击者运行假机器代替真正的 Web 服务器的主动攻击的情况下,盗窃 Web 服务器完整磁盘的副本才允许恶意连接到数据库。这相当于对 Web 服务器进行管理员级别的控制(攻击者是否切换硬件实际上是无关紧要的)。要成功连接到数据库,域控制器仍必须参与。