21.6.3. Secure Channel Setup
Each Windows NT server that is part of a Windows NT domain sets up a
secure channel to a domain controller when the computer starts up. In
addition, at startup time, each backup domain controller sets up a
secure channel to its primary domain controller. A secure channel is
also used for the communication between domains that have a trust
relationship. A secure channel is simply an authenticated connection
over Microsoft RPC where the two ends have a shared secret that can
be used to encrypt data. Depending on the service pack that is
installed and the configuration of the machine, some or all of the
information sent across the secure channel will be encrypted with the
shared secret.
The username and password information is passed across the secure
channel in a decryptable form. No challenge-response and no hashing
is used; the domain controller will decrypt the password and use it
in cleartext form. If the domain controller is compromised, the
intruder will be able to log passwords. (Note that a compromised
domain controller already gives the intruder control of the site; it
is a minor addition to the thousands of horrible things that somebody
can do when they control the domain.)
In some implementations, when a server initially joins a domain, it
uses a well-known password to set up the first secure channel. An
attacker who can eavesdrop on this initial conversation can decrypt
it and can read all the information in it, including the password
change to a new password that will be used for future secure
channels. At this point, the attacker can decrypt all information in
the secure channel, including passwords, until there is a password
change that they don't manage to eavesdrop on. It is critical
to protect this initial secure channel from eavesdroppers (for
instance, by putting the server and the domain controller on a
switched network where other machines cannot see the traffic); the
secure channel is believed to be reasonably secure as long as the
password is unknown and is changed with reasonable frequency, but
once a password is compromised, the channel is completely insecure.
Service Pack 6 for Windows NT 4 addresses this problem, which is also
fixed in Windows 2000.