Windows 8 Security in Action (three parts)
Windows 8 Security in Action: Part 1
Below is Part 1 of the Article “Windows 8 Security in Action” featured in this month’s issue of Hakin9 Exploiting Software:
Is Windows 8 the next operating system for your enterprise? In this article, we will take a quick look at Microsoft’s new OS – Windows 8. We will see some of the new security features that make it more secure than its predecessor Windows 7. We will also run the security through the paces and see some of the possible issues that are new to the OS and some that have carried over from previous versions of Windows. From the Backtrack 5 r3 security testing platform, the author uses the Metasploit Framework and Social Engineering Toolkit to see how Windows 8 stands up to the most common internet based threats.
The much anticipated (and debated) next version of Windows software is set to be released on October 26, 2012. Several pre-release versions were made available, and just recently Microsoft released a 90 Day Windows 8 Enterprise RTM (Release to Manufacturer) evaluation copy.
In this article we briefly cover the new look of Windows 8, which has caused some complaints from Enterprise entities and the media alike. We will then highlight some of the new security features, and finally, put them to the test.
From the Backtrack 5 r3 security testing platform, I use the Metasploit Framework and Social Engineering Toolkit to see how Windows 8 stands up to the most common internet based threats. I also cover credential harvesting, Man-in-the-Middle and physical attacks against Microsoft’s latest OS.
So let’s get to it!
Windows 8 Overview
Figure 1 – The new, no longer called “Metro”, desktop
The first thing you will notice is the desktop change (Figure 1), you’re not in Kansas anymore Dorothy. Catering to the mobile touchscreen users, Microsoft has switched the desktop to this new tiled interface. This has caused a split amongst enterprise users; some seem too really like it, others want the standard desktop back.
Don’t get me wrong, the desktop we know and love is still there (Figure 2):
Figure 2 – The “classic” Windows 8 desktop
But if you notice, the start button is gone. If you move the cursor to the side of the screen the new “start menu” will appear (Figure 3):
Figure 3 – The new “Start” bar
Yes, I know it looks different doesn’t it? Clicking the Start button on this menu takes you back to the Metro interface. Apparently Microsoft wanted a consistent look across their product platform. Phones, tablets and desktops would all have the same “Metro” interface.
It is nice to know though that some things still look the same in Windows 8. The Control Panel looks pretty familiar (Figure 4):
Figure 4 – The Control Panel menu
Changes have been made on the server side also. The new Server 2012 has a GUI interface, but Microsoft is really pushing the use of Server Core edition that is configured by command line only. So if you do server work, it is time to brush up on your PowerShell.
In essence, Windows 8 really seems to be an enhanced Windows 7, with a new interface. Everything that you could do in Windows 7 is there, somewhere, it is just a matter of finding its new location.
The New Security Features
Several security improvements have been made to Windows 8, a brief list of some of the new features include:
- Windows Defender comes pre-installed
- Application download screening with SmartScreen
- Protection against buffer overflow and memory corruption/ modification attacks
- UEFI / secure boot to help prevent rootkits and bootkits
- New password options
Let’s take a closer look at the password options and some changes in the way Microsoft handles passwords.
You now have a couple choices for login security options (Figure 5). You can use a password like always, but there are two new options, pin and picture password.
Figure 5 – Windows 8 Account Sign-in options
The PIN option is not new to some users; just select a 4 number pin and that’s it. When you go to login the next time you will now have a choice to login via PIN number (Figure 6) or your password:
Figure 6 – Login Prompt asking for PIN
The interesting one is the Picture Password (Figure 7). It requires a touchscreen interface, but with it you get to pick a picture and create a special password all your own. Once you choose the picture you want, you then record a series of finger swipes, circles and taps that make the final password.
Figure 7 – Picture Password Creation
How cool is that?
Windows 8 Security in Action: Part 2
Changes in Microsoft’s Password Policy
I have noticed some changes in the way Microsoft handles their different service account passwords over the past few weeks. It first started a while back when using Microsoft Live mail. One day when I typed in my legitimate password to my e-mail account, I received this error message (Figure 8):
Figure 8 – Microsoft Live Login Screen requesting Fewer Characters
“If you have been using password longer than 16 characters, please enter the first 16”?
Sure enough, I put in the first 16 characters of the password and I was in. So in effect, it looks like they just went through their password database and truncated all the passwords down to 16.
But that is not all.
Recently I went to login to my Microsoft mail and got the good old “It’s time to change your password” message. No problem!
Well, yes there was. I use several special characters and when I tried to use some of them (which were in my existing password!) I received this message (Figure 9):
Figure 9 – Microsoft Login Special Character Message
It seemed to accept some of the special characters, but didn’t like others that I have used since I created the Hotmail Live account!
I wondered what was going on, and then I remembered, Windows 8 is being released and they want you to tie it in to an email address/ Microsoft account. As you can see in the Windows 8 install screen below (Figure 10):
Figure 10 – A View of the Windows 8 install Screen requesting an E-Mail Address
Sure you can use a different e-mail account, or even log in with a local password but they still want you to connect in to a Microsoft account (Xbox, Live, etc.) for Windows 8′s other features. And of course don’t forget the new Microsoft Marketplace…
What then is the reason for shortening the passwords? Looks like Windows 8 is capped at a 16 character limit for compatibility with existing Microsoft services. But is that long enough for secured passwords?
Let’s check Microsoft’s FAQ for strong passwords1:
“Length. Make your passwords long with eight or more characters.”
Okay, we are good there, but what should our password look like? Well, here are some of the password examples from Microsoft’s strong password FAQ (Figure 11):
Figure 11 – Microsoft’s Secure Password Examples
Wait a minute… They are all over 16 characters long!
As length increases so does the cracking time. Passwords longer than 10 characters take an exponentially longer time to crack. So in all reality, 16 really shouldn’t be a problem. But all of my passwords are longer than that. And with the decrease of the character set, by limiting special characters for compatibility with Microsoft’s other services, the passwords are less secure than they were before.
I am curious if Microsoft will change this in the future.
Microsoft trying to tie all their services together in the cloud is an interesting concept though. With doing this, no matter where you log in, you will get a consistent look and feel, with all of your data available.
All right, enough of an overview, let’s see Windows 8 security in action!
Testing Windows 8 Security
I took Windows 8 and ran a couple common security tests against it to see how well it would hold up. I used the Backtrack platform, SET and the Metasploit Framework. As a straight test from a security tester’s point of view, I did not use any modified payloads, uncommon techniques or exploits that were not included with the Metasploit platform.
My goal was to test to see how the new security features make the system more secure than previous versions of Windows.
The Windows 8 Enterprise VM was tested as installed with no additional security programs or anti-virus running except the included Microsoft Windows Defender. Also the latest version of Java was installed (version 7 update 7).
Malicious Shell Code verses Windows 8
Let’s take a look at a standard Java attack against Windows 8. I created a test page using the Social Engineering Toolkit (SET) in Backtrack 5, so that when a user connects, it displays an obviously bogus “Letter from the CEO” page, and it offers a backdoored Java applet to the visitor. If the user allows the Java app to run, we get a remote session.
Figure 12 – Malicious Java Security Warning
As you can see form the screenshot above (Figure 12), you see a security warning explaining, “This application runs with unrestricted access which may put your computer and personal information at risk.” If we click the box to accept the risks, and run the malicious Java We instantly receive a Windows Defender pop-up warning (Figure 13) that Malware was detected and it stopped the attack.
Figure 13 – “Malware Detected” by Windows Defender
Okay, that was an easy one; next I tried SET’s Alphanumeric shell code attack. This one is a little sneakier and can still bypass some AVs. When I pulled up the test CEO webpage on the SET machine, I didn’t get a Malware warning like I did with the earlier attack.
When I ran the attack, I got a shell!
Okay, just a shell notification (Figure 14) on the Backtrack side…
Figure 14 – Viewing connected session in Meterpreter
But once I tried to connect to the shell in Backtrack I couldn’t run any commands. It may have been able to create a channel to the Windows 8 machine, but the security features of 8 stopped it (Notice the Timeout errors) so I could not get a working remote shell.
Okay, am I impressed yet at the new security features? No, not really. A Windows 7 system running a good up to date AV/ Internet security solution will give similar results to what we have experienced so far. But for an out of the box install, it is not bad at all.
Windows 8 Security in Action: Part 3
(This is the third and final part of my Windows 8 Security in Action article featured in last month’s Hakin9 magazine. Part One was a general introduction to the new look of Windows 8. In Part Two we looked at some of the new security features, and saw how it responds to basic Java attacks. In this last section we continue to analyze how Windows 8 responds to online and local attacks.)
SET PowerShell Attack
I next tried the SET PowerShell attack2. This attack has worked in all previous versions of Windows that I have tested, including Windows 7. SET creates a PowerShell command that includes an encrypted shell. Once the script is executed in PowerShell on the target system, it connects out to the remote system.
I ran the program creating the PowerShell script, and started the listener service on the Backtrack system. I then ran the script and… Nothing!
The Backtrack system did not detect any connection attempts and the Windows 8 PowerShell threw out a “Program has stopped running” error and closed. The PowerShell script that SET creates runs in a hidden Window so you can’t see what it is doing. When I ran the shell again with the hidden feature turned off, I got this screen of errors in PowerShell (Figure 15):
Figure 15 – PowerShell remote Shell attack stopped by Windows 8
“Arithmetic operation resulted in an overflow.” – Windows 8 did not allow the malicious code to connect out to the attacker system completely thwarting the attack.
So far, Windows 8 is batting a thousand; none of the attacks have been successful!
Windows 8 against the latest Flash Threats
Recently a Computerworld article3 stated that Windows 8 was vulnerable to a new Flash exploit that was just discovered, and apparently will not be patched until October due to the way that Flash is integrated into the new Internet Explorer.
Just today (September 12th) Computerworld announced that Microsoft changed their minds and will release a security patch right away:
“In light of Adobe’s recently released security updates for its Flash Player, Microsoft is working closely with Adobe to release an update for Adobe Flash in IE10 to protect our mutual customers,” Yunsun Wee, director of the company’s Trustworthy Computing Group, said in a Tuesday statement. “This update will be available shortly.”
I actually tried a couple of the earlier Flash attacks against Windows 8. Not the one mentioned in the Computerworld article, but one that was only a few weeks old (Mid-August). Windows Defender caught it and stopped it. (Figure 16)
Figure 16 –Windows Defender showing Attacks that were stopped
Overall the new Windows seems very good at standing up to common online script based attacks.
Credential Harvesting Attacks
Next I ran credential harvesting attacks against the Windows 8 machine. This creates a bogus website that looks like a regular webpage, like G-Mail or Facebook. Then when someone tries to enter their credentials it takes and stores the user’s login information and forwards them to the real page.
Windows 8 was able to block all of the Java based harvesters that I tried.
But on a harvesting page that did not use Java, it worked flawlessly and I was able to recover any credentials that were typed into the bogus webpage.
Though not really a security fault of Windows 8’s – the user is entering their credentials on a bogus webpage – but with the tight integration of Windows 8 with Microsoft Account numbers and Live E-mail, this could be an issue.
I tried running a Man-in-the-Middle (MitM) attack against the system. A MitM attack goes after the underlying TCP/IP communication stack and modifies the target’s ARP table. The Address Resolution Protocol table simply maps IP Addresses to network card physical MAC addresses. A system running the MitM attack inserts itself into the communication path between a system and the gateway/ router by telling the target system that it is the gateway and the gateway that it is the target system. Any information transferred in or out of the system can be monitored and stored.
Surprisingly the MitM attack I attempted worked flawlessly. I was able to watch what websites the Windows 8 system went to from my attacking system and was able to view communication data.
I thought this type of attack would be addressed in Windows 8, but as in Windows 7 and previous versions, this still seems to work.
As mentioned earlier, Windows 8 now comes with a new boot method, called Unified Extensible Firmware Interface (UEFI). This helps protect against malware boot attacks and root kits, and some other common attempts at modifying the boot process. This is a huge improvement over previous versions of Windows.
But it is not perfect, let me explain.
Even Windows 7 included a feature that recovers system files that are changed while the computer is running. So if you tried to change certain system files, it would revert back the next time the system rebooted.
But there is a file modification process that has been around a very long time that attacks the system files by booting from another OS, like Linux. This file modification attack allows a System level command prompt that can be opened at the login screen. The System level credential is the highest level of authority on a Windows box. It is higher than the “Administrator” user and is similar to Root access on a Unix/Linux box.
And this system level terminal runs without anyone physically logged onto the machine! This entire process was actually explained on a Microsoft TechNet Forum on Windows Server back in 2009 as a way to get into your server if you lost the Admin login credentials:
But what has been allowed to remain in Windows (it works in all versions of Windows including Desktops), could also be used by a bad guy in a physical attack.
It only takes a few seconds to perform this attack using a Linux boot disk. Basically you boot the Windows box with a Linux Boot disk, modify a couple executable files in the system32 directory and reboot. Then on reboot, at the main login screen, you hit a key combination and up pops a System level command prompt!
Figure 17 –System level Command Prompt at Login Screen
At this point you can run any system commands, including adding users or whatever you want to do. In the image below I just created a user named “Fred” with the ultra-secure password of “fred” (no one would ever guess that!).
Figure 18 –Adding a new User at Login Screen
I then reboot and we now have two users on this system:
Figure 19 –User added from Login Command Prompt Shows up in Login Screen
And of course I can now login to the system with our new user Fred.
Don’t get me wrong, this isn’t some high level hack. It is a valid way to legitimately get access to a system where someone has forgotten the password.
We have used it in a corporate environment before where users have left and did not leave their current password. The systems were not network attached and unfortunately an administrator did not create an account on them. And of course the systems had data on them so the machines could not be wiped.
But as I mentioned before, malicious users could also use the same tactic if they have physical access to the machine.
Again, I just used standard testing tools in the creation of this article. There are several ways to bypass anti-virus on older versions of Windows by modifying the payloads in Metasploit. I did not do this; I just wanted to test it using some of the most common security techniques that are in use today.
My intent on writing this article was not to show how to bypass Window 8 security, but how the out-of-the-box features stood up to average internet attacks , which it did extremely well.
I was able to get an initial remote shell with the Alphanumeric shell attack. And though it was not completely functional, a version could possibly be made in the future to bypass Windows 8 security features. Flash vulnerabilities still seem to be a concern according to the Computerworld article. One credential harvesting attack also worked, and so did the physical login prompt trick.
Hopefully this article demonstrates to you that Windows 8 security is indeed better than Windows 7. But user training about online threats and phishing defense needs to remain in place. The standard advice of not running unknown or unsolicited attachments, or visiting suspicious websites, and all the normal Social Engineering defense training remains the same.
Running a script blocker program like FireFox’s “NoScript” is still highly recommended to stop scripts from automatically running.
Also physical security of systems is still very important. Keep important servers and workstations in a secured area. Do not allow other people to access your system. Always verify the identity of service personal who want to perform maintenance on your system.
Will Windows 8 sweep the enterprise world by swarm? I am not sure. The security features (especially the increased memory protection) are a big boost and are needed. But the switch to the new interface may be a turn off to many overtaxed IT departments that do not have the time to help users through the learning curve of a new desktop.
Many corporate users still are using Windows XP believe it or not. Will they switch to Windows 7 or jump to the more secure Windows 8?
Only time will tell.
1 –Microsoft’s Secure Password FAQ – http://www.microsoft.com/security/online-privacy/passwords-create.aspx
2 – PowerShell Attack – http://cyberarms.wordpress.com/2012/08/02/social-engineering-toolkit-bypassing-anti-virus-using-powershell/
3 – “Adobe confirms Windows 8 users vulnerable to active Flash exploits” -http://www.computerworld.com/s/article/9231076/Adobe_confirms_Windows_8_users_vulnerable_to_active_Flash_exploits
4 – “Microsoft backpedals, promises to patch Windows 8′s Flash ‘shortly’” http://www.computerworld.com/s/article/9231185/Microsoft_backpedals_promises_to_patc