Using ALPC Security Features to Compromise RPC Services
Abusing Advanced Local Procedure Call (ALPC) security mechanisms to bypass isolation and compromise Windows RPC services.
Summary
ALPC and RPC Vulnerability Trends
Advanced Local Procedure Call (ALPC) is an Inter Process Communication method in the Windows kernel. In the past few years, Windows ALPC and RPC vulnerabilities have emerged in an endless stream. These vulnerabilities are mainly based on TOCTOU file operations, memory corruption vulnerabilities in RPC services and ALPC syscalls in ntoskrnl.
Flaws in Security Callbacks and Impersonation
Windows kernel provides a variety of security measures to ensure that the data and context accepted by the ALPC and RPC servers are safe. We noticed the attack surface in the security mechanism of the ALPC kernel, and we found a security flaw in this mechanism (magic) and successfully obtained the system privilege from unauthorized users (defeating magic by magic).
Exploiting Kernel IPC for Privilege Escalation
In this talk, we will first overview the communication mechanism of ALPC and RPC services. We will discuss the details of ALPC and RPC in the marshal/unmarshal process that has not been disclosed before. We'll also talk about the kernel security mechanism in ALPC syscalls. Then we will analyze some historical bugs in ALPC and RPC, and disclose the details of the vulnerability we found, discussing how we bypassed the security mechanism through a small security flaw in security mechanisms. Later we'll discuss the exploitation, you will learn about the multiple ways. Finally, We'll make conclusions and share our opinions on this attack surface, including some tips and opinions on how to find these kinds of bugs.
A view into ALPC-RPC by Clement Rouault and Thomas Imbert Hack.lu 2017 Exploiting Errors in Windows Error Reporting - Gal De Leon Windows Internals, Part 2, 7th Edition
Related talks
Main Stage·36 min
Ron Ben Yizhak
Introduces RPC Racer, a technique that exploits race conditions in Windows RPC endpoint registration to hijack privileged system service communication.
Black Hat·34 min
Haidar Kabibo
Engineers explore architecture and security mechanisms for PhantomRPC: A New Privilege Escalation Flaw in Windows RPC.
Main Track 1·44 min
Saif El Sherei
Complete walkthroughs of Windows kernel exploitation using GDI bitmap objects with released exploits.


