
PoC que explota Aligned Chunk Confusion en el Segment Heap del kernel de Windows
Este repositorio contiene un exploit PoC que utiliza una técnica de explotación llamada Aligned Chunk Confusion. Los detalles de la técnica se pueden encontrar en el artículo.
Este exploit aprovecha un desbordamiento de montón en el montón del kernel de Windows para elevar sus privilegios de Low a SYSTEM.
El objetivo de la investigación era desarrollar un exploit genérico para una vulnerabilidad de desbordamiento de montón en el Pool del kernel.
Al explotar un desbordamiento de montón, el tamaño del objeto vulnerable (el que se desborda) es importante, ya que tendrá un impacto en dónde y cómo se asigna. Además, el tipo de pool donde se asignará es relevante por las mismas razones.
Por eso, para ser genérico, el exploit debe:
El exploit presentado puede funcionar tanto en PagedPool como en NonPagedPool; utiliza técnicas similares con diferentes objetos.
La vulnerabilidad explotada no es real, y está construida con un controlador que expone un desbordamiento de montón totalmente controlado.
El exploit es un PoC y no es perfectamente estable. Funciona principalmente con tamaños de 0x130 a 0x300, pero podría adaptarse para funcionar con cualquier tamaño. La estabilidad del exploit también puede mejorarse enormemente utilizando mejores técnicas de heap massaging.
El controlador se puede compilar con Visual Studio, utilizando la solución en Driver.
Un makefile puede compilar el exploit completo escrito en C.
Depende de gcc-mingw-w64-x86-64.
make
Se puede compilar en modo debug, lo que añadirá comprobaciones usando el controlador y una salida más detallada.
make debug
Este trabajo ha sido presentado en SSTIC 2020 y en OPCDE 8. Las diapositivas de ambas presentaciones están disponibles aquí.