
PoC for Dirty COW (CVE-2016-5195)
PoC для Dirty COW (CVE-2016-5195).
Данный PoC использует ptrace (вместо /proc/self/mem) для модификации vDSO. У него есть несколько преимуществ перед PoC, модифицирующими бинарные файлы файловой системы:
И несколько недостатков:
Текущая полезная нагрузка почти такая же, как в The Sea Watcher и выполняется всякий раз, когда процесс вызывает clock_gettime(). Если процесс имеет root-привилегии и /tmp/.x не существует, он создаёт форк, создаёт /tmp/.x и, наконец, создаёт TCP reverse shell для эксплойта. Это не элегантно, но может быть использовано для побега из контейнера.
Обнаружение успешного изменения vDSO не является безошибочным. На этапе восстановления vDSO фактически восстанавливается, но эксплойт не может корректно это сообщить. Действительно, изменения vDSO, похоже, не влияют на процесс эксплойта.