The recent update to one of our oldest tools, Elcomsoft System Recovery, brought long-overdue compatibility with Windows systems that sign in with online authentication via Microsoft Account. While the tool can reset Microsoft Account passwords to allow instant logins to otherwise locked accounts, this is not the point. The point is that we have finally laid our hands on something that can help us break into a major online authentication service, the Microsoft Account.
For that to happen, Elcomsoft System Recovery can export the locally cached hash to the user’s Microsoft Account password for offline recovery. Running a GPU-assisted attack on the password (using Elcomsoft Distributed Password Recovery or similar tool) allows quickly enumerating the passwords with a combination of dictionary and brute-force attacks, in many cases resulting in the recovery of the original plain-text password. This isn’t exactly new, since the same thing could be done to local Windows accounts a decade ago. What DOES change though is the types and amounts of information can be accessed with the Microsoft Account password we’ve just recovered. This is one of those cases where a seemingly small change brings a plethora of new possibilities to digital forensics.
Microsoft Account: What’s Inside
Microsoft Account (previously known as Windows Live ID) is a single sign-on solution provided by Microsoft that covers a wide range of services. Since Windows 8, users are urged to enhance their Windows sign-on experience by adding Microsoft Account credentials to their local account. Once a Windows 8, 8.1 or Windows 10 user uses their Microsoft Account credentials to sign into Windows, they automatically gain access to a range of cloud backup and synchronization options via Microsoft OneDrive.
Logging in with Microsoft Account requires using email and password (as opposed to username and password used for local Windows accounts). email@example.com, firstname.lastname@example.org and email@example.com can be used as Microsoft Account logins. Importantly, Microsoft Account is used as a single sign-on solution for a number of Microsoft services such as Hotmail, OneDrive, Skype, and employed by many third-party service providers authenticating via Microsoft Account.
So let’s see what all this means in practice.
BitLocker Recovery Keys
BitLocker encryption is secure. Full-disk encryption is activated automatically on devices equipped with TPM once the administrative user logs in with their Microsoft Account (yes, logging in with a Microsoft Account is a required pre-requisite for triggering automatic full-disk encryption on many tablets and ultrabooks). Breaking into a system like that would be extremely hard. Even running a cold-boot attack is not feasible as tablets have soldered memory chips that do not allow for this type of attacks.
However, Windows automatically creates BitLocker escrow keys, and automatically deposits them into the user’s Microsoft Account. Once you know the account password, you can access all BitLocker Recovery Keys from that account.
First, let’s visit https://www.bing.com/account/personalization
We’re greeted with a notice that “When you’re signed into your Microsoft account, Microsoft services like Bing, MSN, and Cortana personalize your experience.” Which means that Microsoft collects some data, and that we could possibly access that data by logging in with the correct authentication credentials.
Using Microsoft Account on a Windows 8, 8.1 and Windows 10 PC allows users to access one of the best cloud backup systems for personal computers. Microsoft OneDrive is pre-installed with those versions of Windows, and is automatically authenticated with Microsoft Account credentials once the user signs in.
OneDrive automatically backs up any files (such as Office documents, pictures etc.) that are saved into its folder. Moreover, since Office 2013, users are encouraged to save their files to the cloud. Finally, it is possible to configure OneDrive to replace the default Documents location, in which case ANY file or document saved to that location will be automatically backed into the user’s OneDrive account.
OneDrive is extremely convenient. All that’s needed to gain access to the most recent copies of work documents on a new computer (running Windows 8, 8.1 or 10) is simply signing in with a Microsoft Account. Windows will automatically configure the desktop and sync everything stored in the user’s OneDrive account, including documents, settings etc.
OneDrive is not limited to just Windows computers. Android and iOS users can install OneDrive to enable automatic photo backup, while Windows Phone and Windows 10 Mobile have OneDrive pre-installed and pre-configured. Accessing OneDrive also gives access to synced information from other devices.
OneDrive is accessible at www.onedrive.com
In an attempt to compete with Google, Microsoft introduced Bing, its very own search engine. In the US, Microsoft pays users for searching with Bing (via the Bing Rewards program). Bing is the default search engine in Internet Explorer (Windows 8, 8.1) and Edge (Windows 10) Web browsers. Obviously, Bing is also the default on Windows Phone and Windows 10 Mobile devices.
According to CNN, Bing is used for about 20% of all search requests (the rest are served by Google and Yahoo). The use of Bing on desktop platforms is on the rise:
If a user has Bing as their search engine, we can then access their entire search history by visiting https://www.bing.com/profile/history and logging in with their Microsoft Account credentials:
Hotmail and Outlook.com
No, not that Outlook. Outlook.com (used to be Hotmail) is Microsoft’s competitor to Gmail. Users with firstname.lastname@example.org, email@example.com and firstname.lastname@example.org accounts can access their mail by visiting www.outlook.com (also www.hotmail.com). By knowing the correct password, experts can have access to that email address as well:
Reset Protection and Find My Device
One more thing that experts can do with Microsoft Account credentials is disabling Find My Phone and Reset Protection (account.microsoft.com/devices) functions of a Windows 10 Mobile device (that may come handy to help prevent suspects from remotely wiping seized smartphones).
One can also use “Find My Device” to discover the last location of the device.
Accessing user’s Skype communications timeline is possible via Skype for Web (web.skype.com)
Windows Phone and Windows 10 Mobile Backups
Windows smartphones (as well as Windows PCs since Windows 8) can back up their data into the cloud. While we can see those backups at https://onedrive.live.com/options/DeviceBackups, we don’t have the tools to actually download or decrypt their contents (at least not yet):
What we can do, however, is using Elcomsoft Phone Breaker to download certain types of data such as the user’s Contacts, Messages (SMS/text messages) and Notes. To do that, we would first need to run Elcomsoft Phone Breaker and log in to the Microsoft Account using the password we’ve just recovered:
Once the data is downloaded, we can use Elcomsoft Phone Viewer to access Contacts, Messages and Notes:
Roadblock: Two-Factor Authentication
If enabled, two-factor authentication is a real roadblock to accessing cloud data even after recovering the correct password. Since forensic acquisition is normally performed on what’s considered to be a “new device”, the authentication system (if activated) will require verifying user’s identity with the second authentication factor. As such, one will need to have access to the secondary authentication factor in order to be able to authorize with Microsoft services.
So what is this “secondary authentication factor” we’ve been talking about? Let’s first see how two-factor authentication works in Microsoft Accounts.
Microsoft Account logins can be protected with two-factor authentication. Two-factor authentication can be used to protect access to Microsoft’s online services when such access is requested from a new device.
Microsoft uses a hybrid approach to two-factor authentication. The user can verify their identity by either approving the online verification request on a trusted device (this requires running the Microsoft Account app on an Android device), or by entering a code generated by the offline Authenticator app.
The verification request can be pushed to an authorized Microsoft Account app running on a trusted PC or mobile device (again, the app is only available for Android devices). Once the request is approved with an app, the new device is added to the list of trusted devices.
Other platforms (Windows Phone 8 and 8.1, Windows 10 Mobile, iOS) can use either Microsoft Authenticator or Google Authenticator app for generating time-sensitive single-use codes. Interestingly, Microsoft’s and Google’s authentication apps are fully compatible to the point of being interchangeable, so one can use Google Authenticator on an Android device to generate offline authentication codes as well.
The difference between the two types of authentication is that the former requires an active Internet connection to receive authentication request, while the latter works completely offline. Both authentication methods can be active at the same time.
Microsoft has compiled a comprehensive FAQ on how to configure authentication apps on the different mobile platforms at http://windows.microsoft.com/en-US/Windows/identity-verification-apps-faq
Verification methods can be configured at https://account.live.com/proofs/Manage
More about Microsoft two-step verification at http://windows.microsoft.com/en-us/windows/two-step-verification-faq
Microsoft allows using two-factor authentication to either protect all interactions with Microsoft Account. However, the user can choose to only enable this type of authentication for accessing sensitive information such as establishing Microsoft Account on a new Windows 10 device (which automatically enables full access to all files synced via Microsoft OneDrive, access to stored passwords, and the ability to restore backups including configuration settings and application data).
Extracting Microsoft Account Passwords
Microsoft Account passwords are not normally stored anywhere on the computer. As a result, simply extracting the password is not possible. However, in order to facilitate logins in the absence of network connectivity, Microsoft had to cache a password hash and store it on the computer. On the one hand, this allows users to log in to their computer while using it offline. On another hand, this also allows extracting the cached hash file and running an offline attack to recover the original password.
As you can see, recovering Microsoft Account passwords is a two-step process. During the first step, you will be extracting the password hash (and attempting a range of quick attacks to try some of the most common passwords). If the first step does not reveal the original password, you will need to attack the password offline using one or more computers equipped with GPU units. These attacks are straightforward and very well optimized, allowing to enumerate password combinations extremely quickly.
- To extract password hashes, run Elcomsoft System Recovery, select one or more accounts, and click Next. The tool will export the hashes into a file.
- Now when you have the hash file (let’s say its name is “x.pwdump”), transfer it to the computer where you have Elcomsoft Distributed Password Recovery installed. Launch Elcomsoft Distributed Password Recovery and choose to recover a Windows account password. Select “x.pwdump” you’ve just exported. Configure attacks (dictionary, brute force, or combination). Schedule the task and wait while Elcomsoft Distributed Password Recovery enumerates all allowed password combinations.
Once Elcomsoft Distributed Password Recovery discovers the correct password, you can use it for logging in to the user’s online Microsoft Account.
As opposed to local Windows accounts, Microsoft Account credentials are stored remotely on Microsoft servers, and are authenticated online. Running a full-scale attack on a Microsoft Account password online is impossible. However, since Internet connectivity may not be always available to the user, a local copy of the password hash is stored locally to provide offline authentication. Elcomsoft System Recovery makes use of the local cache to extract password hashes, enabling experts to run a GPU-accelerated attack (with Elcomsoft Distributed Password Recovery) to recover the original password. With the original Microsoft Account password in hands, experts can access many types of data from the user’s online account.