Kuboid
Open Luck·Kuboid.in

Windows Downdate: Executing Downgrade Attacks on Windows

DEFCONConference7,296 views35:17over 1 year ago

This talk demonstrates a novel technique for performing downgrade attacks on Windows by manipulating the Windows Update process to replace system components with older, vulnerable versions. The research targets critical OS components, including the kernel, virtualization-based security (VBS) features, and the hypervisor, effectively bypassing security boundaries like Secure Boot and Credential Guard. The speaker shows that these downgrade attacks are fully undetectable, persistent, and irreversible, allowing for privilege escalation even on fully patched systems. The presentation includes multiple demonstrations of exploiting known vulnerabilities after successfully downgrading the target components.

Windows Downdate: How to Bypass Security Boundaries with Old Binaries

TLDR: Researchers at DEF CON 2024 demonstrated a powerful technique to perform downgrade attacks on Windows by manipulating the update process. By forcing the system to install older, vulnerable versions of critical OS components, an attacker can bypass security features like Secure Boot and Credential Guard. This technique is fully persistent, invisible to standard EDR solutions, and works on fully patched systems.

Security researchers often focus on finding new vulnerabilities in the latest code, but the most dangerous bugs are often the ones we thought we already fixed. The recent research presented at DEF CON 2024 on "Windows Downdate" proves that even if a vendor patches a critical vulnerability, an attacker can simply force the operating system to revert to a previous, vulnerable version of that same component. This isn't a theoretical exploit; it is a fundamental design flaw in how Windows handles system updates and component integrity.

The Mechanics of the Downgrade

At its core, a downgrade attack is simple: replace a secure, updated component with an older, vulnerable one. The challenge has always been that modern Windows security features like Secure Boot and Virtualization-Based Security (VBS) are designed specifically to prevent this. They verify the digital signatures and integrity of boot-time components and kernel drivers.

The research shows that the Windows Update process itself is the weak link. When the update client communicates with the update server, it relies on a COM-based interface. Crucially, the update process assumes that any files provided in the update folder are legitimate once they pass basic integrity checks. By manipulating the Pending.xml file—which acts as an action list for the update process—an attacker can instruct the system to replace critical files like kernel drivers or even the hypervisor itself with older, signed, but vulnerable versions.

Because these older files are still digitally signed by Microsoft, the system accepts them as valid. The security features that are supposed to protect the system end up "protecting" the vulnerable, downgraded version.

Bypassing VBS and Credential Guard

The most impressive part of this research is how it targets the virtualization stack. VBS uses the Hyper-V hypervisor to isolate sensitive processes like lsass.exe from the rest of the kernel. This is the foundation of Credential Guard, which prevents attackers from dumping memory to steal NTLM hashes or Kerberos tickets.

The researchers found that they could downgrade the hypervisor and the secure kernel by targeting their respective loaders. By replacing these with older versions that contained known, unpatched vulnerabilities—such as CVE-2021-27090—they could effectively disable the protections provided by VBS. Once the hypervisor is downgraded, the "secure" environment is no longer secure. The attacker can then use tools like Mimikatz to dump credentials from lsass.exe even when Credential Guard is supposedly active.

Real-World Implications for Pentesters

For those of us conducting red team engagements, this changes the game. We no longer need to find a zero-day to bypass modern Windows security features. We only need to find a known, exploitable vulnerability in an older version of a system driver or binary and then use the Windows Update process to "install" it.

This technique is particularly dangerous because it is persistent. Once the downgrade is performed, the system remains in a vulnerable state across reboots. Furthermore, because the downgraded files are legitimate, signed Microsoft binaries, they often fly under the radar of traditional endpoint detection and response (EDR) tools. The system thinks it is running a valid, albeit slightly older, version of the OS.

During an engagement, you would first need local administrator privileges to manipulate the update process. However, once you have that, you are no longer limited by the security features that usually stop privilege escalation. You can effectively turn a standard administrative shell into a kernel-level or hypervisor-level compromise.

Defensive Considerations

Defending against this is difficult because it exploits the intended functionality of the Windows Update mechanism. Microsoft has acknowledged these findings and issued CVE-2024-21302 and CVE-2024-38202 to address the specific flaws in the update process.

The best defense is to ensure that your systems are fully patched and that you are monitoring for unauthorized modifications to the C:\Windows\WinSxS directory or the Pending.xml file. Additionally, organizations should enforce strict policies on who can initiate system updates and monitor for the installation of older, non-standard drivers.

This research serves as a stark reminder that security is not just about the code we write, but the processes we build around it. When we trust a system component simply because it has a valid signature, we leave the door open for attackers to use our own update mechanisms against us. As researchers, we should continue to look at these "trusted" processes with the same skepticism we apply to any other input. The next time you are on an engagement and find yourself blocked by a security feature, don't just look for a new exploit—look for a way to make the system trust an old one.

Talk Type
research presentation
Difficulty
expert
Category
red team
Has Demo Has Code Tool Released


DEF CON 32

260 talks · 2024
Browse conference →
Premium Security Audit

We break your app before they do.

Professional penetration testing and vulnerability assessments by the Kuboid Secure Layer team. Securing your infrastructure at every layer.

Get in Touch
Official Security Partner
kuboid.in