
PoC para Dirty COW (CVE-2016-5195)
PoC para Dirty COW (CVE-2016-5195).
Este PoC depende do ptrace (em vez de /proc/self/mem) para corrigir o vDSO. Ele tem algumas vantagens sobre PoCs que modificam binários do filesystem:
E algumas desvantagens:
O payload atual é quase o mesmo do The Sea Watcher e é executado sempre que um processo faz uma chamada a clock_gettime(). Se o processo tiver privilégios de root e /tmp/.x não existir, ele faz fork, cria /tmp/.x e, por fim, cria um reverse shell TCP para o exploit. Não é elegante, mas pode ser usado para escape de contêiner.
Detectar se o vDSO foi corrigido com sucesso não é à prova de balas. Durante a etapa de restauração, o vDSO é efetivamente restaurado, mas o exploit falha ao reportá-lo corretamente. De fato, as alterações no vDSO não parecem afetar o processo do exploit.