
Эксплойт Dirty Cow - CVE-2016-5195
Dirty COW — это локальное повышение привилегий (Local Privilege Escalation, LPE) в ядре Linux, известное как CVE-2016-5195. :contentReference[oaicite:0]{index=0}
В целом, Dirty COW затрагивает ядра Linux 2.x–4.x, выпущенные до версии 4.8.3. :contentReference[oaicite:1]{index=1}
Некоторые дистрибутивы уже перенесли патч (backport), поэтому версия ядра может выглядеть «старой», но на самом деле она может быть уже защищённой.
Dirty COW уже исправлена в следующих ядрах (и более новых):
Проверьте версию ядра целевой системы:
uname -r
Этот эксплойт использует эксплойт «pokemon» для уязвимости dirtycow в качестве основы и автоматически генерирует новую строку для passwd. При запуске бинарного файла пользователю будет предложено ввести новый пароль. Затем исходный файл /etc/passwd сохраняется в /tmp/passwd.bak, а запись root перезаписывается сгенерированной строкой. После запуска эксплойта вы сможете войти в систему под вновь созданным пользователем.
Чтобы использовать этот эксплойт, измените значения пользователя в соответствии с вашими потребностями.
По умолчанию создаётся пользователь toor.
Оригинальный эксплойт (метод ptrace_pokedata «pokemon» из dirtycow): https://github.com/dirtycow/dirtycow.github.io/blob/master/pokemon.c
Скомпилируйте с помощью:
gcc -pthread dirty.c -o dirty -lcrypt
Затем запустите созданный бинарный файл одним из способов:
./dirty
или
./dirty my-new-password
После этого вы можете войти либо через su toor, либо через ssh toor@...
НЕ ЗАБУДЬТЕ ВОССТАНОВИТЬ /etc/passwd ПОСЛЕ ЗАПУСКА ЭКСПЛОЙТА!
mv /tmp/passwd.bak /etc/passwd
Эксплойт адаптирован Кристианом «firefart» Мельмауэром