MSN Chat

Last updated

MSN Chat was the Microsoft Network version of IRCX (Internet Relay Chat extensions by Microsoft), which replaced Microsoft Chat, a set of Exchange-based IRCX servers first available in the Microsoft Comic Chat client, although Comic Chat was not required to connect.[ citation needed ]

Contents

History

Client Compatibility

According to the MSN Chat website, the following were required to use the MSN Chat Service:

The Microsoft Network Chat Control was developed as an ActiveX Component Object Model (COM) Object. ActiveX, being a Microsoft technology provided limited compatibility for other products. The other major platforms beside Internet Explorer that MSN Chat was supported on, was Netscape Navigator and MSNTV (formerly known as WebTV). To ensure the MSN Chat network was only being connected to by authorized clients, Microsoft created and implemented a SASL based Security Service Provider authentication package known as GateKeeper. This used a randomized session key to authorize users not using the Microsoft Passport (now Microsoft account) system. Microsoft used another SSP known as GateKeeperPassport, that worked from the same method but required certain attributes related to the user's account.

Defeating the "Authentication Challenge"

There have been various methods through the use of mIRC to access the MSN Chat Network. Most of the methods were through the use of the MSN Chat Control itself, yet others were more complicated.

In the beginning, shortly after the move from Microsoft Chat, the MSN Chat Network could be directly connected to through any IRC Client to irc.msn.com on port 6667. Perhaps because of abuse or other factors, such as the desire to authenticate users based on their Microsoft Passport, Microsoft implemented GateKeeper and GateKeeperPassport, and integrated both into their chat control. The weakness of GateKeeper and the fact the early MSN Chat Controls (1.0−3.0) had public functions for doing GateKeeper authentication seemed to indicate Microsoft wanted third parties to be able to access their network as before, but they wanted to be able to control automated abuse. In any event, these public functions allowed normal IRC clients to authorize themselves.

With the release of the MSN Chat Control 4.0, the public functions were removed. Users found a way to authorize by a "Proxy Method", forcing the Chat Control to bridge connections between mIRC and the Chat Network.

With the release of the MSN Chat Control 4.2 and later, they blocked this proxy method by having the chat control hash the IP address of the server to which it was instructed to connect into the response to the challenge in authentication. If the control was instructed to connect to any address other than the server, it would not match the server's hash and thus authentication would fail. A few later third party clients could authenticate without the control and were adjusted to compensate for this change.

Versions

The versions of MSN Chat were designed from IRC3 through to IRC8, Even with the newer versions, MSN Chat still had the possibility to replicate older MSN Chat versions by issuing the IRCVERS command.

It is believed that IRC referred to the original IRC Daemon, and IRC2 referred to IRCX.

Third-party applications

The use of third-party applications on the MSN Chat Network was not prohibited, although it was unsupported. Third-party applications were required to use the same Authentication Methods as the MSN Chat Control.

The second change was the major part, allowing the Chat Control to bridge the connections between the Client and MSN Chat Service.

The most popular third-party applications were mIRC, IRC Dominator and Viperbot.

Scripts were often downloaded from sites such as TechGear007.

Notable features

Authentication

GateKeeper

The GateKeeper (and closely related GateKeeperPassport) authentication mechanisms are SASL authentication mechanisms as defined in the IRCX Drafts.

After the introduction of authentication on MSN Chat, Gatekeeper was the only authentication method that the public could use. During the initial handshake, the client would send a packet only containing the 16 byte header to the server, and the server would reply with a header, coupled with a 128 bit Cryptographic nonce. Finally, the client would create a 128 bit cryptographic hash of the nonce received from the server using a secret key, sending this as a subsequent authentication reply after the header, and immediately before a 16 byte GUID. The cryptographic hash function used was hmac-md5, and the secret key was "SRFMKSJANDRESKKC" (case sensitive).

Defeating GateKeeper

Early implementations of the GateKeeper authentication mechanism did not create a barrier to entry, as the authentication API that Microsoft had created was available to other program developers. After some time, Microsoft removed the ability for developers to use/see the API that had been embedded in the MSN Chat Control, and it can be safely assumed from this time that Microsoft wanted access to be from the official chat control only.

The GateKeeper authentication made an appearance in the WebTV/MSNTV client.

It was quickly realised that it was also possible to connect by creating a proxy that would load the MSN Chat Control temporarily as required, relaying nonce and hashes between the server and control, before closing the chat control. The difficulty with this method is that it was often slow, didn't work, or could crash applications due to requiring the ActiveX control to be used in Microsoft Internet Explorer, or MSIE based web controls. It is likely possibly that an alternative browser (such as Netscape Navigator, Firefox, etc) could have been used to host the MSN Chat Control, as there was a NPAPI version available from Microsoft. In July 2002, a user named zmic reverse engineered the MSN Chat Control, and produced a python script that was able to login without the use of the MSN Chat Control. The python script was buggy, but was later re-written in multiple programming languages by various authors. The user eXonyte had written some code which could be used (via WINE) on Linux. It's believed that this was the first time MSN Chat had been used outside of Windows.

When GateKeeper version 3 was introduced, it was a very minor change that had added the string of the server name (as defined in the Chat Control parameter "Server") to the hash. The additional string would not include a colon or port if they were present. This appeared to be an effort to defeat the proxy method of accessing the service, but was quickly overcome as users shared the information that the IP had been added to the hash. This information was likely leaked from someone in Microsoft, as there were rumours of the upcoming change before the new GateKeeper version was released.

It wasn't until around 2018 that the user JD noticed that the various keys from zmic's reverse engineering were likely derivatives of another key, and he was able to find the plain text key - before finding the algorithm used. Upon sharing this information with Sky, they quickly discovered the underlying cryptographic hash function was HMAC-MD5.

There are still just two bytes that are unknown in the GateKeeper authentication header, however it was tested against the MSN Chat Server many times, and the server didn't appear to differentiate between the values of those two bytes. There's a possibility that the two bytes are random bytes of memory.

NTLM

Like GateKeeper, NTLM and NTLMPassport were implemented as SASL authentication mechanisms as defined in the IRCX protocol.

NTLM Authentication was not available to be used by the MSN Chat Control, and the only known client implementation is in the MSN Chat Admin Client, which is a very basic client that was created to be used by MSN Chat staff, based on the publicly available MS Chat version 2.5. NTLM credentials were not available to normal users. It is believed that MSN Chat staff used NTLM to authenticate, and that they authenticated through Microsoft's Active Directory. It is possible that MSN Chat staff were connected directly to Microsoft's network, or connected via a virtual private network (VPN).

MSN Chat staff also had the ability to login via the less secure USER/PASS method documented in RFC 1459. This was used heavily with the official chat bots, as it required no knowledge of SASL authentication mechanisms.

Passport

GateKeeperPassport and NTLMPassport were extensions to the GateKeeper and NTLM authentication mechanisms. The Passport extensions allowed the user to identify with a '.net Passport' (later known as a Windows Live Passport, now known as a Microsoft Passport).

When a client attempted to register using a passport authentication extension, instead of receiving the usual asterisks to indicate that authentication is successful (as noted in IRCX drafts), they would be presented with a further subsequent authentication command, with only the string 'OK' as a parameter. The user would then send back an authentication command without the header, using two variables known as PassportTicket and PassportProfile (taken from the browser cookies MSPAuth and MSPProf) to identify themselves. Both variables were preceded by a string representation of an 8 digit hex number indicating the length of the variable, and must be presented in the correct order. When using GateKeeperPassport, the GUID specified after the GateKeeper hash should be a null GUID - Literally \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0.

Example PassportTicket and PassportProfile being sent: AUTH GateKeeperPassport S :0000000EPassportTicket0000000FPassportProfile\r\n

Whilst it is assumed the same format is used with NTLMPassport, it can not be confirmed as NTLMPassport usage has not been witnessed. Active MSN Chat staff were using NTLM and were considered Guests, although the Guest prefix ">" was not enforced, instead a "'" prefix was used, which is noted to be a Unicode nickname prefix in the IRCX Drafts.

User levels

MSN Chat had the following user levels:

Staff:

Users:

Similar services

There are many chat networks attempting to simulate the service that was provided by the Microsoft Network, which use the "MSN Chat Control". These simulation chat networks are often referred to as "MSN Chat Clones". These are generally small chat networks, which often rely on home-made IRC servers, or IRCX servers. Many of the "MSN Chat Clones" are non-compliant and do not follow the RFC 1459 (IRC) or the "eXtensions to Internet Relay Chat" (IRCX) standards and often contain many bugs/exploits that may cause a denial of service with the MSN Chat Control.

Many of the MSN Chat Clones started up directly after MSN closed its services (2006), and additional networks have continued to spring up since then. There is speculation that these chat networks may have pulled potential subscribers away from MSN Chat, ultimately bringing on the demise of MSN Subscription Chat Services.

While the majority of MSN Clone Chat sites are free, most of them rely on adverts to provide a small income. In addition, some of the clones have begun to charge, or allow for donations.

The legality of sites offering the MSN Chat Control has been in question for some time due to many "Clone Sites" hosting the Chat Control. The Chat Control download is publicly available by Microsoft to download at .

Problems with MSN Chat

There were many documented problems from users about the MSN chat function. Most were directed to the “chat host.” This was a person who would enter the chat room under the name “host”, and act accordingly regulating the room. This service was useful for controlling the room, making sure that everyone was behaving accordingly, answering users’ questions about the rooms, and other assorted tasks. While the idea of a supervisor would put a lot of users at ease, there were reported disagreements between the two with what was considered appropriate.

A claim was that there were a multitude of rules which the host didn’t make clear to the users, so many people were booted out of the room for breaking a rule they weren’t aware of. Any content that was viewed as offensive or sexually explicit was immediately removed and the person who wrote it was expelled from the room. Asking other chatters to press certain keys, displaying any kind of URL, or displaying what location you were from were all offenses punishable by temporary banishment. The convenience of an automated system for MSN led to problems for its users, problems solvable by a person able to interpret positive and negative content.

A significant reason for MSN Chat shutting down was that it provided another opportunity for pedophiles and other sex-offenders to have access to youth through the chat rooms. [1] The MSNBC program, "To Catch a Predator", a show about catching child predators, showed children meeting up with online "friends" which they assumed were being truthful about their identity but, on the show, were revealed to be pedophiles.

Closure

In 2001, Microsoft closed access via IRC clients (including Comic Chat), asking users to exclusively use their browser client instead. In 2003, Microsoft announced that it would close "unregulated" MSN Chat rooms in 28 countries, including "most of Asia" due to problems with spam and concerns about child sexual abuse material, with plans to convert to a subscription model for "better accountability." [2] [3] Messenger chat services remained open. [4] MSN Chat became a subscription service for $20/year. [5]

On August 31, 2006 Microsoft announced that MSN Chat would no longer be provided. On October 16, 2006 MSN Chat shut down their servers [6] at about 11:30 a.m. EST. The service closed as allegedly MSN no longer deemed it profitable to run as a subscription service.

See also

Related Research Articles

<span class="mw-page-title-main">IRC</span> Protocol for real-time Internet chat and messaging

Internet Relay Chat (IRC) is a text-based chat system for instant messaging. IRC is designed for group communication in discussion forums, called channels, but also allows one-on-one communication via private messages as well as chat and data transfer, including file sharing.

Kerberos is a computer-network authentication protocol that works on the basis of tickets to allow nodes communicating over a non-secure network to prove their identity to one another in a secure manner. Its designers aimed it primarily at a client–server model, and it provides mutual authentication—both the user and the server verify each other's identity. Kerberos protocol messages are protected against eavesdropping and replay attacks.

Telnet is a client/server application protocol that provides access to virtual terminals of remote systems on local area networks or the Internet. It is a protocol for bidirectional 8-bit communications. Its main goal was to connect terminal devices and terminal-oriented processes.

Trillian is a proprietary multiprotocol instant messaging application created by Cerulean Studios. It is currently available for Microsoft Windows, Mac OS X, Linux, Android, iOS, BlackBerry OS, and the Web. It can connect to multiple IM services, such as AIM, Bonjour, Facebook Messenger, Google Talk (Hangouts), IRC, XMPP (Jabber), VZ, and Yahoo! Messenger networks; as well as social networking sites, such as Facebook, Foursquare, LinkedIn, and Twitter; and email services, such as POP3 and IMAP.

Remote Authentication Dial-In User Service (RADIUS) is a networking protocol that provides centralized authentication, authorization, and accounting (AAA) management for users who connect and use a network service. RADIUS was developed by Livingston Enterprises in 1991 as an access server authentication and accounting protocol. It was later brought into IEEE 802 and IETF standards.

<span class="mw-page-title-main">XMPP</span> Communications protocol for message-oriented middleware

Extensible Messaging and Presence Protocol is an open communication protocol designed for instant messaging (IM), presence information, and contact list maintenance. Based on XML, it enables the near-real-time exchange of structured data between two or more network entities. Designed to be extensible, the protocol offers a multitude of applications beyond traditional IM in the broader realm of message-oriented middleware, including signalling for VoIP, video, file transfer, gaming and other uses.

SOCKS is an Internet protocol that exchanges network packets between a client and server through a proxy server. SOCKS5 optionally provides authentication so only authorized users may access a server. Practically, a SOCKS server proxies TCP connections to an arbitrary IP address, and provides a means for UDP packets to be forwarded. A SOCKS server accepts incoming client connection on TCP port 1080, as defined in RFC 1928.

Direct Client-to-Client (DCC) is an IRC-related sub-protocol enabling peers to interconnect using an IRC server for handshaking in order to exchange files or perform non-relayed chats. Once established, a typical DCC session runs independently from the IRC server. Originally designed to be used with ircII it is now supported by many IRC clients. Some peer-to-peer clients on napster-protocol servers also have DCC send/get capability, including TekNap, SunshineUN and Lopster. A variation of the DCC protocol called SDCC, also known as DCC SCHAT supports encrypted connections. An RFC specification on the use of DCC does not exist.

<span class="mw-page-title-main">Microsoft Comic Chat</span> Graphic IRC client by Microsoft

Microsoft Comic Chat is a graphical IRC client created by Microsoft, first released with Internet Explorer 3.0 in 1996. Comic Chat was developed by Microsoft Researcher David Kurlander, with Microsoft Research's Virtual Worlds Group and later a group he managed in Microsoft's Internet Division.

An authentication protocol is a type of computer communications protocol or cryptographic protocol specifically designed for transfer of authentication data between two entities. It allows the receiving entity to authenticate the connecting entity as well as authenticate itself to the connecting entity by declaring the type of information needed for authentication as well as syntax. It is the most important layer of protection needed for secure communication within computer networks.

Simple Authentication and Security Layer (SASL) is a framework for authentication and data security in Internet protocols. It decouples authentication mechanisms from application protocols, in theory allowing any authentication mechanism supported by SASL to be used in any application protocol that uses SASL. Authentication mechanisms can also support proxy authorization, a facility allowing one user to assume the identity of another. They can also provide a data security layer offering data integrity and data confidentiality services. DIGEST-MD5 provides an example of mechanisms which can provide a data-security layer. Application protocols that support SASL typically also support Transport Layer Security (TLS) to complement the services offered by SASL.

Integrated Windows Authentication (IWA) is a term associated with Microsoft products that refers to the SPNEGO, Kerberos, and NTLMSSP authentication protocols with respect to SSPI functionality introduced with Microsoft Windows 2000 and included with later Windows NT-based operating systems. The term is used more commonly for the automatically authenticated connections between Microsoft Internet Information Services, Internet Explorer, and other Active Directory aware applications.

An IRCd, short for Internet Relay Chat daemon, is server software that implements the IRC protocol, enabling people to talk to each other via the Internet. It is distinct from an IRC bot that connects outbound to an IRC channel.

LAN Manager is a discontinued network operating system (NOS) available from multiple vendors and developed by Microsoft in cooperation with 3Com Corporation. It was designed to succeed 3Com's 3+Share network server software which ran atop a heavily modified version of MS-DOS.

Microsoft Notification Protocol is an instant messaging protocol developed by Microsoft for use by the Microsoft Messenger service and the instant messaging clients that connect to it, such as Skype since 2014, and the earlier Windows Live Messenger, MSN Messenger, Windows Messenger, and Microsoft Messenger for Mac. Third-party clients such as Pidgin and Trillian can also communicate using the protocol. MSNP was first used in a publicly available product with the first release of MSN Messenger in 1999.

In cryptography, CRAM-MD5 is a challenge–response authentication mechanism (CRAM) based on the HMAC-MD5 algorithm. As one of the mechanisms supported by the Simple Authentication and Security Layer (SASL), it is often used in email software as part of SMTP Authentication and for the authentication of POP and IMAP users, as well as in applications implementing LDAP, XMPP, BEEP, and other protocols.

In a Windows network, NT LAN Manager (NTLM) is a suite of Microsoft security protocols intended to provide authentication, integrity, and confidentiality to users. NTLM is the successor to the authentication protocol in Microsoft LAN Manager (LANMAN), an older Microsoft product. The NTLM protocol suite is implemented in a Security Support Provider, which combines the LAN Manager authentication protocol, NTLMv1, NTLMv2 and NTLM2 Session protocols in a single package. Whether these protocols are used or can be used on a system which is governed by Group Policy settings, for which different versions of Windows have different default settings.

Security Support Provider Interface (SSPI) is a component of Windows API that performs security-related operations such as authentication.

In computer security, pass the hash is a hacking technique that allows an attacker to authenticate to a remote server or service by using the underlying NTLM or LanMan hash of a user's password, instead of requiring the associated plaintext password as is normally the case. It replaces the need for stealing the plaintext password to gain access with stealing the hash.

In cryptography, the Salted Challenge Response Authentication Mechanism (SCRAM) is a family of modern, password-based challenge–response authentication mechanisms providing authentication of a user to a server. As it is specified for Simple Authentication and Security Layer (SASL), it can be used for password-based logins to services like LDAP, HTTP, SMTP, POP3, IMAP and JMAP (e-mail), XMPP (chat), or MongoDB and PostgreSQL (databases). For XMPP, supporting it is mandatory.

References

  1. Whittingham, Matt (24 September 2003). "MSN shuts down its chatrooms". MSN UK. BBC. Retrieved 29 April 2011.
  2. Gray, Patrick (September 24, 2003). "MSN to close chat rooms around world". ZDNet Australia.
  3. "MSN chatroom closures: Your views". BBC.co.uk. September 29, 2003.
  4. Hartley, Sarah (October 14, 2003). "Chatting after MSN" . Manchester Evening News .
  5. Pogue, David; Biersdorfer, J. D. (2006). The Internet: The Missing Manual. O'Reilly Media, Inc. p. 308. ISBN   9780596553241.
  6. "IMPORTANT NOTICE". MSN Groups. Microsoft. Archived from the original on 2006-10-09.