Feeds

0wning Vista from the boot

The VBootkit authors speak out

Top 5 reasons to deploy VMware with Tegile

How was vbootkit developed?

Nitin & Vipin: Last year during pentesting a client, we needed something that could load our code in kernel, without touching hard-disk.

This started bootkit development. We developed a bootkit for the complete family of Windows NT (including 2000 /XP/ 2003 except Windows NT itself). Then Vista RC1 arrived, since it contained a brand new OS loading mechanism (the boot process is completely different from previous versions), we started analyzing Vista. The process included studying Vista's MBR, NT Boot sector, Boot manager (Bootmgr.exe), Windows Loader (Winload.exe) and Vista's Kernel (NTOSKRNL.EXE). Several kernel-land shell codes were developed to be used as a payload in different scenarios.

Why haven't you released the source code yet?

Nitin & Vipin: We don't want someone to misuse it.We want to show that an attack vector like vbootkit can be used to circumvent whole kernel protections.

Do you need any particular hardware feature?

Nitin & Vipin: No, it doesn't need any particular hardware or cpu capable of virtualization.

What does it patch exactly?

Nitin & Vipin: Mainly we patch the windows boot manager, the windows loader, and the vista kernel.

In the reboot persistent version of vbootkit we also patch MBR. It patches few security checks such as PE security patch, digital signature patch and other patches to maintain control of the boot process. If we miss any patch system won't boot at all.

Please tell us more about the code you had to modify, the shellcodes you developed, and the code that runs when the system is loaded.

Nitin & Vipin: The code modifications are done for the security checks. For example, the PE checksum, since we modify files in memory, they should pass through checks, so, we calculate the new checksum and put it in place.

We have to modify the Vista kernel to keep ourselves in control. The modification lets us stay in spare parts of the kernel, and then we dispatch our payload, which is a shellcode which keeps on escalating commands to System privileges. We also have other kernel land shellcodes such as registry modifications to start the telnet server.

The POC video shows a privilege escalation shellcode. It is just another thread which finds cmd's, escalates them and then sleeps for another 30 secs, so that no noticeable performance loss occurs. The shellcode has negligible affect on system performance.

How much does Vbootkit affect the performance of the system?

Nitin & Vipin: vbootkit has a very little affect on the performance (less than .01%). This is because it doesn't execute at all times, it works, sleeps, awakes, completes work, sleeps and so on (by the way, sleeping doesn't take much CPU cycles).

In the proof of concept videos, Vista is running in vmware on our 4 years old Pentium-IV 2.00Ghz, 512 Ram, 40 Gb hard-disk, Geforce2 MX 400 graphics card. That is why it seems slow :)

Are you taking advantage of a bug in Vista to launch your attack?

Nitin & Vipin: We can't say that we exploited a bug in Vista's kernel (at least related to this scenario). We just created a tunnel to Vista's kernel which doesn't have any protection barriers. Therefore restores full control of the machine to the user.

Could you use vbootkit to bypass Vista's product activation?

Nitin & Vipin: Yes, It can be programmed to bypass Vista's product activation.

Have you had any contact with Microsoft about this?

Nitin & Vipin: We don't have any official contact. But we have discussed this with several Microsoft guys.

What is your suggestion to fight bootkits?

Nitin & Vipin: Software only protections are not enough to protect from bootkits. The only protection available is from hardware (Trusted Platform Module).

Microsoft can just raise the barrier for bootkits by changing algorithms, but there can be no real protection from bootkits using only software methods. Use Secure Boot (TPM).

Would you like to add something?

Nitin & Vipin: The beauty of VBootkit lies in the fact that it isn't about someone else controlling your machine. It's about you controlling your own machine, so you can run software of your choosing. Vbootkit gives control back to the user.

This article originally appeared in Security Focus.

Copyright © 2007, SecurityFocus

Federico Biancuzzi is freelancer. In addition to SecurityFocus he also writes for ONLamp, LinuxDevCenter, and NewsForge.

Remote control for virtualized desktops

More from The Register

next story
UK smart meters arrive in 2020. Hackers have ALREADY found a flaw
Energy summit bods warned of free energy bonanza
DRUPAL-OPCALYPSE! Devs say best assume your CMS is owned
SQLi hole was hit hard, fast, and before most admins knew it needed patching
Knock Knock tool makes a joke of Mac AV
Yes, we know Macs 'don't get viruses', but when they do this code'll spot 'em
Feds seek potential 'second Snowden' gov doc leaker – report
Hang on, Ed wasn't here when we compiled THIS document
Mozilla releases geolocating WiFi sniffer for Android
As if the civilians who never change access point passwords will ever opt out of this one
Why weasel words might not work for Whisper
CEO suspends editor but privacy questions remain
prev story

Whitepapers

Choosing cloud Backup services
Demystify how you can address your data protection needs in your small- to medium-sized business and select the best online backup service to meet your needs.
A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
New hybrid storage solutions
Tackling data challenges through emerging hybrid storage solutions that enable optimum database performance whilst managing costs and increasingly large data stores.
Protecting users from Firesheep and other Sidejacking attacks with SSL
Discussing the vulnerabilities inherent in Wi-Fi networks, and how using TLS/SSL for your entire site will assure security.