Windows IT Pro
Windows IT Library
  - Advertise        
Windows IT Pro Logo

  Home  |   Books  |   Chapters  |   Topics  |   Authors  |   Book Reviews  |   Whitepapers  |   About Us  |   Contact Us

search for  on    power search   help
 






Windows NT Security: A Collection of Topics
View the book table of contents
Author: John Enck
Published: June 1998
Copyright: 1998
Publisher: 29th Street Press
 


WINDOWS NT LOGONS

by Mark Minasi

Ever since Windows NT was called OS/2 3.0, we’ve heard about its C2 security design. Of course, security has many aspects, but most of us think of logons when we think about security: How do the computer and the network use my username and password? What’s involved in the process of logging on to a domain and then accessing a network share? For the answers, I closely examined some Network Monitor logs.

So here’s the scenario: A user (call her Amy) has an NT workstation (call it NTW) attached to an NT domain (call the Primary Domain Controller NTPDC). An NT server machine, S1, is in the domain, and Amy wants to access a share on S1. (I’ll assume that she has a valid username and password for the domain and that she has permissions on S1’s share.)

Logging the Workstation on to the Domain
First, Amy turns on NTW. Then she enters a username and password, right? Wrong. Before NT machines even pay attention to us meat-based computing devices, the NT workstation logs on to the domain. When an NT workstation joins a domain, the Primary Domain Controller (PDC) creates a machine account on the PDC similar to a user account. When the PDC creates an NT workstation machine account in the domain, it makes up a password for the NT machine and tells the password to the NT machine, which remembers it. The NT machine then uses that password to log on to the domain. The PDC creates the password, but any domain controller can log a machine on.

More specifically, suppose our three NT machines (NTW, NTPDC, and S1) are members of a domain named REALM. Workstation NTW wakes up and tries to find a domain controller, any domain controller, to log NTW on to the domain. (Domain controllers are sometimes called logon servers because that’s largely what they do — logons.) To discover a domain controller, NTW takes the domain name, REALM, and adds the NetBIOS suffix <1C>, to designate a domain group name. All domain controllers in the domain, both backup and primary, share the domain group name REALM<1C>. The NTW machine broadcasts, “Hey! Is anybody here named REALM<1C>?” (If you’re using Windows Internet Name Service — WINS — or have an LMHOSTS file, your system can directly look up the information at the WINS server or the LMHOSTS file and avoid the broadcasts.)

NTPDC hears the request and responds, “Here! I’m a domain controller. What do you want?” NTW responds, “I’m NT workstation NTW with password xyzzy. NTPDC, please convince yourself that I’m a member of REALM, and set up a secure channel between us.” NTPDC then verifies NTW’s password, and NTW and NTPDC have a secure channel. In other words, NTW is now logged on to REALM. The NetLogon service (you’ll hear about NetLogon again) oversaw the machine-to-machine logon.

Logging a User on to a Domain
So Amy sits down at the machine and presses Ctrl+Alt+Del or, as it’s known in NT techie parlance, the Secure Command Sequence (SCS). Amy is now communicating with a program called WINLOGON. Amy then logs on as “Amy” from domain REALM with password “swordfish.”

The machine takes Amy’s password and runs it through a one-way hash function, a mathematical operation that’s easy to do but hard to undo. NT treats whatever string of characters you choose for a password as one very large binary number and performs the hash function on that number. Here’s a simple example of a hash function: Take a number and divide it by 273. Keep the remainder; throw away the quotient. That operation is easy to do, but very hard to undo. Merely telling you that my original number had a remainder of 151 doesn’t tell you much.

How do you store passwords in memory or on disk without compromising them? The answer is: You don’t. Instead, when a user chooses a password, NT hashes it and saves the hashed result (the one-way function — OWF — password). A domain controller doesn’t contain a list of passwords; it contains OWF passwords. With this system, a domain administrator cannot see a user’s password, no matter how clever the domain administrator is — the passwords aren’t there. (By the way, hash functions are a lot more complex than just division and remainder operations.)

So now WINLOGON at NTW, which Amy’s sitting at, contains a copy of Amy’s OWF password; NTW has already forgotten “swordfish.” From this point on, WINLOGON doesn’t perform the authentication; for that function, WINLOGON looks to the Local Security Authority (LSA). LSA notices that although Amy’s sitting at NTW, she has asked to log on as Amy from REALM, her domain account, rather than from any local accounts on NTW. LSA on NTW doesn’t contain a list of domain user account names and passwords, so LSA must go back out on the network and find an LSA on a machine to verify Amy. NetLogon handles this LSA-to-LSA conversation; therefore, the next order of business is for NTW to discover a domain controller. NTW looks for any machine responding to the name REALM<1C>. A domain controller (NTPDC in my example, because it’s the only domain controller around) responds to the request to log on Amy, saying in effect, “What’s Amy’s password?”

Now we have a problem. We’re not going to send Amy’s password over the wire. Sure, we have a secure channel between NTW and NTPDC, but not between NTPDC and, say, a DOS machine. Besides, security folks like to be really sure that they’re not handing passwords across a network cable. So how do we prove to NTPDC that Amy really knows the correct password? The answer is a challenge, similar to the Internet Challenge Handshake Authentication Protocol (CHAP) that you might know of (Remote Access Service — RAS — supports it). The logon server (NTPDC, in this case) says to NTW something like, “Okay, take the OWF version of Amy’s password; again, treat it like a big number. Multiply it by 725, take the cosine of that value, square it, and take the logarithm of the result. What is the third digit to the right of the decimal point?” The workstation performs the operations, and sends the result — suppose it’s 7 — to the logon server, NTPDC. NTPDC then does the same set of operations to the OWF password for Amy and also derives 7. NTPDC then knows that Amy is sitting at NTW. The multiplier, 725, will vary from challenge to challenge to ensure anyone listening on the wire won’t get useful information. The next challenge NTPDC issues will be based on a different number, so the results will be different. LSA on NTPDC then packages up what it knows about Amy — the Security IDs (SIDs) of her domain user account and any global groups that she’s a member of — and passes them to LSA on NTW, Amy’s workstation.

LSA on NTW then takes Amy’s information and uses it to build a security access token for Amy that’s good only on NTW. In addition to the domain account information that the logon server’s LSA sent along, the local LSA figures out what Amy can do on the local system. For example, suppose NTW has a local group named Power Users, the local Power Users group contains the global group Domain Admins on REALM, and Amy is a member of the Domain Admins group on REALM. NTW’s LSA has the SID proving that Amy is a member of REALM\Domain Admins. NTW’s LSA will build Amy’s security access token to include not only the SID of REALM\Domain Admins but also the SID of the local Power Users group.

At this point, Amy is logged on to the domain and her local workstation.


NT Version: NT 3.51/4.0 Server



Page: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16

next page



ADS BY GOOGLE SPONSORED LINKS FEATURED LINKS

Critical Challenges of ESI & Email Retention
Are you storing too much electronic information? Get expert legal advice and better understanding of what you are required to do as an IT professional.

Become a fan of Windows IT Pro on Facebook!
Join us on Facebook and be a fan of Windows IT Pro!

Sustainable Compliance: Are You Having a Resource Crisis?
Read this white paper to examine trends in compliance and security management and review approaches to reducing the cost and operational burden of compliance.

Rev Up Your IT Know-How with Our Recharged Magazine!
The improved Windows IT Pro provides trusted IT content with an enhanced new look and functionality! Get comprehensive coverage of industry topics, expert advice, and real-world solutions—PLUS access to over 10,000 articles online. Order today!

Get It All with Windows IT Pro VIP
Stock your IT toolbox with every solution ever printed in Windows IT Pro and SQL Server Magazine plus bonus Web-exclusive content on hot topics. Subscribe to receive the VIP CD and a subscription to your choice of Windows IT Pro or SQL Server Magazine!



Order Your Fundamentals CD Today!
Gain an introduction to Exchange, learn server security requirements, and understand how unified communications can play a role in your messaging strategies with this free Exchange CD.
Windows IT Pro Home Register About Us Affiliates / Licensing Media Kit Contact Us/Customer Service  
SQL Connected Home IT Library SuperSite FAQ Wininfo News
Europe Edition Office & SharePoint Pro Windows Dev Pro Windows Excavator 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2008 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing