
PoC pour Dirty COW (CVE-2016-5195)
PoC pour Dirty COW (CVE-2016-5195).
Ce PoC utilise ptrace (au lieu de /proc/self/mem) pour patcher la vDSO. Il présente
quelques avantages par rapport aux PoC modifiant des binaires du système de fichiers :
Et quelques inconvénients :
Le payload actuel est quasiment identique à celui de
The Sea Watcher et est exécuté
lorsqu'un processus fait un appel à clock_gettime(). Si le processus a les
privilèges root et que /tmp/.x n'existe pas, il fork, crée /tmp/.x et enfin
crée un reverse shell TCP vers l'exploit. Ce n'est pas élégant mais cela pourrait
être utilisé pour une évasion de conteneur.
Détecter si la vDSO est correctement patchée n'est pas infaillible. Lors de l'étape de restauration, la vDSO est effectivement restaurée mais l'exploit ne parvient pas à le rapporter correctement. En effet, les modifications de la vDSO ne semblent pas affecter le processus de l'exploit.