Sandstorm Enterprises® : NetIntercept® Case Studies
Sandstorm Enterprises®
NetIntercept® Case Studies

Transient Microsoft Passport Security Vulnerability


Sandstorm Enterprises develops and sells, among other security tools, an appliance for monitoring and analyzing network traffic. Several of our developers had expressed curiosity about exactly what Windows XP did when it "called home" on its first boot, so when a new Dell Inspiron 2650 laptop arrived last week with a sacrificial copy of Microsoft's Windows XP Home Edition installed on it, we took a moment to study its network traffic using our NetIntercept product.

NetIntercept (NI) is unique among network monitoring tools. Complete network traffic data from the monitored network is saved to a continuously-updated traffic archive and made available for analysis. NI can perform TCP and UDP stream reassembly and heuristic content analysis on selected traffic.

Figure 1. Traffic selected for reassembly on the Traffic tab

NetIntercept Traffic tab showing a time range selected

As the streams are analyzed, NetIntercept identifies distinguishing criteria and stores them in an SQL database. The user can then search for connections of interest. To find the network traffic we wanted to observe, we searched for traffic to (DST) and from (SRC) the laptop's MAC address (00:08:74:E9:5F:C8).

Figure 2. Query for network traffic involving the laptop

NetIntercept Forensics tab showing the logical OR of two hardware addresses selected

Our query found 71 sessions involving the laptop's MAC address. In Figure 3, they are sorted by time of the first packet in the session (START).

Figure 3. Query results

NetIntercept Session List window showing the selected connections

We can see WinXP begin by using BOOTP/DHCP over UDP to configure the network interface. Next it opens a connection to the local nameserver, and gets the time from a Microsoft site (time.windows.com). Attempts to locate resources via NetBIOS Nameservice (port 137), NetBIOS Datagram (port 138) and Simple Service Discovery Protocol (port 1900) go unanswered. Next, connection 174 uses HTTP to download Javascript from wpa.one.microsoft.com. Slightly more than two minutes later, connection 284 uses HTTP over SSL to contact reg.register.microsoft.akadns.net and (presumably) register this copy of the Windows XP operating system.

When the initial installation and selection of usernames is complete, Windows XP asks if the user wishes to create a .NET Passport account. We had agreed to this, and went through the dialog. After an initial exchange with host nexus.passport.com using HTTP over SSL, we were surprised to see that subsequent HTTP connections to login.passport.com, register.passport.net and register.msnia.passport.net used normal HTTP on port 80.

The most revealing component of the web traffic was the sequence of POST commands to register.msnia.passport.net (207.46.188.249 in this case) in connections 477 through 551. The bulk of the URL-encoded object POSTed was a hashed or coded value tagged "PPTProf=", but this value was preceded by the plaintext answers to the previous screen's questions. Each object sent in response by the server contained HTML and Javascript to display the next screen in the sequence.

From this set of connections, anyone observing the network traffic between the new .NET Passport user and Microsoft's server farm could have determined a number of personally-revealing facts (easily readable in plaintext, highlighted in the figures below):

Figure 4. Sign-in name and email address revealed in plaintext

NetIntercept Session View window showing the Traffic Session stream display

In this example, we see the sign-in name and email address. In the subsequent connections, we saw the following information about the person registering:

The last 40 connections selected were generated by our experimenting with Microsoft Messenger. Connections of interest included:

  • A protocol on UDP port 1863 which sends the MSN email address in the clear
  • Another use of SSDP
  • Several uses of UDP port 7001, which is assigned to Andrew File System cache management
  • HTTP over SSL to login.passport.com and msnialogin.passport.com
The unencrypted web connections all made use of a Passport-related cookie, and didn't contain any confidential user information.

Security Considerations

We found the insecurity at about 11:30 AM EST on Friday, March 14, 2003. Microsoft was informed as soon as we made our way through the obfuscation protecting the proper channels. The tests we performed on the morning of Monday, March 17th led us to believe that the problem had been fixed, and towards the end of the day, we received formal notification of that fix. Microsoft indicated that the problem had been introduced earlier in the week during routine engineering work, and that since it was in the Passport server itself, they wouldn't be issuing a security bulletin.

We aren't representing this as anything earthshaking. Hundreds if not thousands of people have inspected more or less the same sequence of operations since .NET Passport was rolled out, without encountering information leakage. We found a transient problem, probably introduced by an error during routine web site maintenance. Microsoft fixed it promptly, and even consented to inform us roughly how long it was in effect.

Looking a little further, one can speculate on two underlying causes for the problem we found: First, routine web site development is often done without encryption, so the exchanges on the wire can be studied with common monitoring tools. In this scenario, adding security is the last step, and in this case it was omitted. Second, not all monitoring tools provide traffic reassembly, and those that do usually require a separate step to reassemble and view each individual connection. Doing an independent verification of proper behavior after an update can be inconvenient or time-consuming.

I consider it likely that similar problems happen fairly often, and that maintainers of most large web sites may be aware of such instances. Our NetIntercept tool can help in two ways. First, NI makes it very simple to identify a web transaction or set of transactions and view them. Second, if web developers make use of our SSL decryption feature, and configure their NI system with keys from their test servers, they can do their work with encryption in place.

It's a truism that security won't happen without ceaseless vigilance. This problem did not demonstrate Microsoft's lack of concern or vigilance. Instead, I believe we (and not Microsoft's web maintainers) found this problem because we happened to be working with a tool that makes this kind of vigilance more convenient.

James Van Bokkelen
Sandstorm Enterprises
www.sandstorm.net

"NetIntercept", "Sandstorm Enterprises", "Dell", "Inspiron", ".NET Passport", "Windows XP Home Edition", "Microsoft Messenger", and "Microsoft" are all trademarked, I'm sure.


Download the demo
and discover: The Truth is on the Wire.


Sandstorm's Products
Order / Get a Quote
Contact Us
Back to top
Sandstorm Enterprises develops
tools with sharp edges®
for information security professionals.
Site materials © 1998 - 2008 Sandstorm Enterprises, Inc. The Sandstorm logo®, LANWatch®, NetIntercept®, PhoneSweep®, Sandtrap®, TCP.demux™, Single Call Detect™, Tools with sharp edges®, Rapid Event Analysis™, and Sandstorm Enterprises® are all trademarks or registered trademarks of Sandstorm Enterprises, Inc.