
Пример эксплойта CVE-2016-5195.
dcow — это возможный эксплуатационный код для уязвимости CVE-2016-5195. При запуске программы от имени непривилегированного пользователя на уязвимой системе она изменяет файл /etc/passwd, устанавливая пароль "dirtyCowFun" (SHA-512, но может быть изменён для старых стандартов). В случае успешного выполнения, используя команду "su" с этим паролем, можно получить root-оболочку. При использовании опции -s (рекомендуется) root-оболочка открывается автоматически. Резервная копия оригинального файла /etc/passwd будет создана в текущей рабочей директории под именем .ssh_bak, если dcow используется без опций или с опцией -n (см. пример ниже).
Данный код опубликован в информационных и образовательных целях. Внедрение в системы и сервисы без разрешения владельца является незаконным. Неправильное использование информации и программного обеспечения из этого репозитория может повлечь уголовное преследование исполнителя преступления. Любые действия и/или активности, связанные с материалами, содержащимися в данном Git-репозитории, осуществляются исключительно на ваш страх и риск. Автор не несёт ответственности в случае предъявления уголовных обвинений лицам, неправильно использующим информацию или программное обеспечение с этого сайта для нарушения закона.
Система, уязвимая к CVE-2016-5195.
Программа успешно использовалась с:
и компилировалась с:
EDB-ID: 40847
https://www.exploit-db.com/exploits/40847/
Скомпилируйте программу: make
Запустите программу:
./dcow
или
./dcow -s # Автоматически открывает root-оболочку и восстанавливает файл passwd.
./dcow -s -n # Автоматически открывает root-оболочку, но не восстанавливает файл passwd.
Справка:
./dcow -h
В разделе "wiki" этой страницы представлен частичный список уязвимых ядер/дистрибутивов.
В директории "legacy" находится прямая портированная версия этой программы, которая позволяет компиляцию с помощью компиляторов до C++11.
Версия этого эксплойта, написанная на Go + CGO, находится в директории "golang". Она позволяет создать статический исполняемый файл без внешних зависимостей.