
Kernel exploitation technique
DirtyCred es un concepto de explotación del kernel que intercambia credenciales del kernel no privilegiadas por privilegiadas para escalar privilegios. En lugar de sobrescribir campos de datos críticos en el heap del kernel, DirtyCred abusa del mecanismo de reutilización de memoria del heap para obtener privilegios. Aunque el concepto es simple, es efectivo. Consulte la presentación de Blackhat o el artículo de CCS para más detalles.
Solo datos: no es necesario evadir KASLR ni filtrar el heap del kernel
Universal: los exploits escritos con DirtyCred funcionarían en diferentes kernels y arquitecturas.
Efectivo: evita todas las mitigaciones de explotación disponibles en el kernel upstream.
CVE-2022-20409 (próximamente)
Consulte el código aquí.
@inproceedings{lin2022dirtycred,
title={DirtyCred: Escalating Privilege in Linux Kernel},
author={Lin, Zhenpeng and Wu, Yuhang and Xing, Xinyu},
booktitle={Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security},
pages={1963--1976},
year={2022}
}
Proporcionamos dos máquinas virtuales (VM) para probar CVE-2022-2588. Cada conexión a la VM tiene un tiempo de espera de 10 minutos (es decir, la VM se apagará después de estar conectada durante 10 minutos). Cada conexión obtendrá una VM nueva; todo lo almacenado anteriormente se restablecerá. Al acceder a la VM, inicie sesión en el sistema con el usuario low cuya contraseña es low. Compile el código del exploit y luego lance el ataque.
Inicie sesión con el usuario low y la contraseña low
Ubuntu 20
nc 150.136.171.117 1337
Centos 8
nc 150.136.171.117 1338
Esta investigación se realizó con la ayuda de Yuhang Wu y Xinyu Xing. Gracias a Eduardo Vela por proporcionar este increíble logotipo.