heartbleed-vulnerability-exploitation
विवरण
Heartbleed vulnerability (CVE-2014-0160) की व्यावहारिक जाँच।
सारांश
यह लैब Heartbleed vulnerability की व्यावहारिक जाँच का दस्तावेज़ीकरण करती है, जो OpenSSL के TLS heartbeat extension के कार्यान्वयन में एक गंभीर त्रुटि है। लक्ष्य यह समझना था कि यह vulnerability प्रोटोकॉल स्तर पर कैसे काम करती है और इसके प्रभाव को देखने के लिए इसे एक नियंत्रित वातावरण में exploit करना, तथा SOC विश्लेषण (vulnerability assessment और impact analysis) से सीधे संबंधित कौशलों का अभ्यास करना।
उद्देश्य
- Heartbleed के मूल कारण को समझना (OpenSSL के heartbeat extension में अनुचित bounds checking)।
- reconnaissance और scanning tools का उपयोग करके किसी vulnerable OpenSSL सेवा की पहचान करना।
- डेटा exposure को देखने के लिए नियंत्रित लैब वातावरण में vulnerability को exploit करना।
- SOC/analyst दृष्टिकोण से remediation रणनीतियों का दस्तावेज़ीकरण करना।
वातावरण और उपकरण
- लक्ष्य: vulnerable web server (port 443 पर nginx 1.15.7) जो पुराने OpenSSL संस्करण पर चल रहा है, पृथक लैब VM।
- Attacker/Analyst मशीन: linux-आधारित विश्लेषण वातावरण।
- उपयोग किए गए उपकरण:
nmap - सेवा enumeration और vulnerability discovery।
Metasploit - exploitation के लिए auxiliary/scanner/ssl/openssl_heartbleed module।
कार्यप्रणाली
1. Reconnaissance
- service/version detection के साथ पूर्ण TCP port scan चलाया (nmap -sS -vv -p-p -A )
- खुले ports की पहचान की: 22 (SSH), 111 (rpcbind), 443 (SSL/HTTP)।
- port 443 को SSL/TLS पर nginx 1.15.7 चलाते हुए fingerprinted किया (पुराने OpenSSL का उम्मीदवार)
2. Vulnerability Identification
- सभी खोजी गई सेवाओं को ज्ञात vulnerability scripts के विरुद्ध जाँचने के लिए (nmap -sV --script vuln ) चलाया।
- ssl-heartbleed NSE script के माध्यम से लक्ष्य को Heartbleed के प्रति VULNERABLE के रूप में पुष्टि की, जिसे उच्च जोखिम के रूप में चिह्नित किया गया।
3. Exploitation
- metasploit framework (msfconsole) लॉन्च किया और (search heartbleed) से संबंधित module खोजा।
- auxiliary/scanner/ssl/openssl_heartbleed चुना और module options की समीक्षा की।
- RHOSTS, RPORT 443, और verbose true कॉन्फ़िगर किया, फिर module चलाया।
- module ने एक malformed TLS heartbeat request भेजा और सर्वर की अत्यधिक बड़ी response को कैप्चर किया, जिससे आसन्न process memory लीक हुई।
निष्कर्ष
- लक्ष्य (nginx 1.15.7, port 443) की CVE-2014-0160 के प्रति vulnerability की पुष्टि nmap के ssl-heartbleed script और Metasploit के openssl_heartbleed scanner दोनों के माध्यम से हुई।
- exploitation ने सर्वर से heap memory को सफलतापूर्वक लीक किया, जिसमें binary data के साथ-साथ printable strings भी लौटीं।
- लीक हुई memory में एक पूर्व HTTP request body के अंश शामिल थे, जिनमें "user_name, user_email, और user_message" parameters थे, जो दर्शाते हैं कि Heartbleed application layer डेटा को उजागर कर सकता है जो संयोगवश आसन्न memory में स्थित था।
- vulnerability को exploit करने के लिए किसी authentication की आवश्यकता नहीं थी, जिससे यह किसी भी network-adjacent attacker द्वारा exploit करने योग्य बन जाती है।
- OpenSSL को patched संस्करण में upgrade करें।
- patching से पहले संभावित रूप से उजागर हुए किसी भी SSL certificate/private key को revoke और reissue करें।
- vulnerable अवधि के दौरान सक्रिय sessions वाले accounts के लिए password resets को बाध्य करें।
- यदि तत्काल patching संभव न हो तो heartbeat extension को पूरी तरह disable कर दें।
प्रदर्शित कौशल
- पूर्ण-दायरे का port scanning और service enumeration (nmap)।
- NSE scripts (vuln, ssl-heartbleed) के साथ vulnerability scanning।
- Metasploit framework में exploit module configuration और execution।
- memory-safety vulnerability का root cause analysis।
- security reporting और remediation planning।
संदर्भ