// Privesc to user id: 1000#define_GNU_SOURCE#include<stdlib.h>#include<unistd.h>intmain(void) {char*const paramList[10] = {"/bin/bash","-p",NULL};constint id =1000;setresuid(id, id, id);execve(paramList[0], paramList,NULL);return0;}
विशेषाधिकार बढ़ाने के लिए फ़ाइल को ओवरराइट करना
सामान्य फ़ाइलें
/etc/passwd में पासवर्ड के साथ उपयोगकर्ता जोड़ें
/etc/shadow के अंदर पासवर्ड बदलें
/etc/sudoers में sudoers में उपयोगकर्ता जोड़ें
आमतौर पर /run/docker.sock या /var/run/docker.sock में docker सॉकेट के माध्यम से docker का दुरुपयोग करें
एक पुस्तकालय को ओवरराइट करना
कुछ बाइनरी द्वारा उपयोग की जाने वाली पुस्तकालय की जांच करें, इस मामले में /bin/su:
इस मामले में हम /lib/x86_64-linux-gnu/libaudit.so.1 की नकल करने की कोशिश करते हैं।
तो, su बाइनरी द्वारा उपयोग की जाने वाली इस पुस्तकालय के कार्यों की जांच करें:
audit_open, audit_log_acct_message, audit_log_acct_message और audit_fd प्रतीक शायद libaudit.so.1 पुस्तकालय से हैं। चूंकि libaudit.so.1 को दुर्भावनापूर्ण साझा पुस्तकालय द्वारा अधिलेखित किया जाएगा, ये प्रतीक नए साझा पुस्तकालय में मौजूद होने चाहिए, अन्यथा कार्यक्रम प्रतीक को नहीं ढूंढ पाएगा और बाहर निकल जाएगा।