Windows 7, UAC & VMware
The first thing that has to be noted is the absolute PITA it is to try and downland a copy of the new Windows 7 Demo.
The web page where you get the download link and a serial number (I found) to be really badly obfuscated; ActiveX being necessary to register for a serial number, meaning I had to use Internet Explorer on a windows box1; which also meant using the proprietary Microsoft Downloader rather than something truly useful like wget.
All said and done, the download manager did its job nicely2; throughout multiple pauses and internet disconnects the MS Download Manager managed to download the 2.4GB and 3.2GB .iso images (I downloaded both the 32 and 64bit versions) successfully, and without any noticeable corruption (although without including as much as a simple MD5 hash to check, its hard to tell).
It was at this point I realised I had a broken install of VMware Workstation3 and faffed about with this for a few days, before getting compltely distracted by having my internet connection die horribly and take over a week and 3 different PCs to make work again4.
I found myself reading about the serious security flaws with UAC Whitelist vulnerabilities over on PretentiousName.com by Leo Davidson, which allows the complete screwing over of a Windows 7 box by virtue of these UAC controls in the first place.
As I understand it, UAC makes sure to prompt you, to consent to allowing changes to be made to your system, except its a little more than this. It lets you run code at different levels of elevation, giving it different sets of permissions, or rather privileges (including different memory address spaces). I get the feeling its supposed to work a bit like sudo on linux/OSX, except its nothing like it at all. You seem to be able to set UAC to multiple levels of prompting, except it seems in most cases, the default, and the most annoying option (as you might know from vista) is to endlessly keep asking for permission every time you try and sneeze.
Except in windows 7 its trivial to get past this, for any program that wishes. Esentially anything legitimate and that conforms will have to prompt and annoy you every time it wishes to do anything, where as virii and other malicious code can elevate without prompting, this defeating the whole frakin’ point of it in the first pace.
Actually, its not just malicious code that can elevate without prompting; some of the core Microsoft utilites provided with the OS can run in ‘admin’ mode without asking for permission. Except for “some” please read approximately 70, and for “core utilities” think calculator. -Anyway, have a look at this video by Leo Davidson. “Davidson told El Reg that it took him longer to create demonstration videos than to figure out how to turn a “copy a file” concept into a potential “own the machine” technique.”, which in my opinion sums up a lot of my recent projects5.
Anyways, it was Davidson’s videos that got me to see the new default background for Windows 7; a lovely Siamese fighting fish, and on the basis of “Oooh! That looks just like the fish I used to have!”, cracked on with getting the demo installed.
Which went pretty flawlessly, I have to say.
VMware workstation made it very simple to create a new Virtual Machine. As it didn’ t have Windows7 in the list of default machines, I selected Windows Server 2008 and gave the virtual machine a 15GB hard drive and 1GB of RAM.
I have an old AND64 processor and run an Gentoo x86_64 on my host computer. I decided to install the 64bit version of windows.
The .iso booted nicely, and the install screen asks for date and locale settings right at the start (which is a nice change) and then goes about copying and then installing all of the data. The nice thing to note, was that the installer realised it was inside of VMware and released control of the cursor when you scrolled out of the window. Usually you have to wait until you have VMware Tools installed in the guest OS before you get this sort of functionality.
The install took about 30minutes to decompress all of the files, and I left it to get on with things as I piddled about on the internet. Once finished the installer rebooted, and I had to remember to unmount the install CD as it booted back off that.
Another reboot later and the screen-size flashed a couple of times before trying to go full screen, causing Xorg to segfault horribly and for me to reboot my computer. Even though the setup was (AFAIK) finished, I’m now left with an amusingly broken Windows 7 Desktop.
The machine boots without any problems and dumps me on a desktop, however whenever I try and open My Computer, Control Panel or really try and do anything I get a lovely popup saying “Windows cannot access the specified device, path or file. You may not have the appropriate permissions to access them”.
After about a minute you get a nice little message box telling you that “Windows Explorer has stopped working” and that its currently searching for a solution. A minute or so later and box goes away without any prompting, leaving you back on the desktop with a none working system. Trying the “Send Feedback” button is a hiding to nothing as well.
The one thing that does work (up to a point) is the Microsoft Management Console. Strangely, when looking at disk usage it seems to have split my 15GB drive into two partitions. I’m assuming the boot partition also holds the recovery data and a copy of the install data -this would explain why the install first copied and then extracted the files off the CD.
It has to be said at this juncture, that the new OS does boot and shut-down extremely quickly, far quicker than any Vista box I’ve ever seen. And whilst it doesn’t have all the working functionality “straight out of the box” that I might like, it does have a fish rather than a picture of Hitler, which I rather like.
OK, me thinks, not a problem. Windows Vista is supped to have even better recovery options than previous versions, so lets see if we can do anything. Pounding F8 at boot gives a usual Windows boot menu, but with the option to “Repair Your Computer” being at the top of the list (although ironically, my arrow keys don’t work on the keyboard so I can’t scroll up or down to select anything else6 ).
Selecting this, we get booted to a very basic (and low resolution) desktop environment where after selecting settings and entering a valid username and password, we are given a list of System Recovery Options.
- Startup Repair is the first on the list, and after running this I find it takes a couple of minutes, a lovely box telling me its fixing things, and then reboots, so thats all good.
- System Restore is the same old, except I have no restore points for it to roll back to, so that’s a waste of time.
- System Image Recovery seems rather nice, but I can’t find out how to create the image in the first place.
- Windows Memory Diagnostic reboots the computer into a very basic looking memtest.
- Command Prompt gives you an Administrator Command Prompt.
All in all a waste of time. I wonder if booting off the CD will fair any better.
Selecting Repair from the CD sends it into a Startup Repair again, although this time its taking a good 25min or so…. and then fails in exactly the same way. Unknown problem (all tests report back OK) and Windows cannot automatically fix this problem.
Frankly, I’m bored of Windows 7 already. I might try a fresh reinstall, or even try it in VirtualBox (which I rather like). There’s just as much chance that I’ll sack it off and play with openSolaris instead.
I forgot to try pressing [Ctrl]+[Alt]+[Delete] whilst sat at the fish. I wonder it it makes its eyes flash.
- Actually, if you’re desperate, you can run IE5, 6 and 7 on linux very easily using IEs4Linux ↩
- far better than the WoW update downloader; it was slow and annoying, and whilst I appriciate the legitimate use of Torrents, if I don’t want to (or can’t due to firewalls) use torrent I’m subjected to 64kb/s ↩
- There were a host of issues upgrading from 5.5.9 to 6.5.0 (deleting /etc/vmware helped a lot) and then the entire 6.x series (including 18.104.22.168130) seems to be plagued by this GTK mismatch issue (and a hatred of the ClearLooks theme) which causes sporadic crashing, usually noticed when you try and use the Snapshot Manager (or more recently as it hit me; when trying to create a new virtual machine).
Launching VMware from the CLI using `VMWARE_USE_SHIPPED_GTK=yes vmware` seem to help. ↩
- Seriously, Linux needs to get its act together with regard to wireless drivers, this is loosing all amusement now. ↩
- Concept to p0wn a new M$ Operating system: 15min
Programming proof of concept code: 4hours
Trying to make a nice looking Flash Video of how it works: months and months and months….. ↩
- This turned out to be related to Xorg’s new keyboard-via-HAL mapping. Get rid of NumLock and use them arrows! ↩