
PoC para Dirty COW (CVE-2016-5195)
PoC para Dirty COW (CVE-2016-5195).
Este PoC se basa en ptrace (en lugar de /proc/self/mem) para parchear vDSO. Tiene algunas ventajas sobre los PoCs que modifican binarios del sistema de archivos:
Y algunas desventajas:
El payload actual es casi el mismo que en The Sea Watcher y se ejecuta cada vez que un proceso realiza una llamada a clock_gettime(). Si el proceso tiene privilegios de root y /tmp/.x no existe, hace fork, crea /tmp/.x y finalmente crea una reverse shell TCP hacia el exploit. No es elegante, pero podría usarse para escapar de contenedores.
Detectar si vDSO fue parcheado con éxito no es infalible. Durante el paso de restauración, el vDSO se restaura efectivamente, pero el exploit no logra reportarlo correctamente. De hecho, los cambios en vDSO no parecen afectar al proceso del exploit.