Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
nextcloud-webhook-tokenneeded — Nextcloud 35.0.0 — प्रतिनिधिक Webhooks एडमिन webhook update tokenNeeded के माध्यम से 1h एडमिन ऐप पासवर्ड बना सकता है | Kitploit
उपकरण/GitHubGitHub/abraxas/nextcloud-webhook-tokenneeded
प्रमाणीकरण और प्राधिकरणविशेषाधिकार वृद्धिपहचान प्रबंधनभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगलैब और अभ्यास

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHubabraxas/nextcloud-webhook-tokenneeded

nextcloud-webhook-tokenneeded

Nextcloud 35.0.0 — प्रतिनिधिक Webhooks एडमिन webhook update tokenNeeded के माध्यम से 1h एडमिन ऐप पासवर्ड बना सकता है

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

Abraxas Labs - nextcloud-webhook-tokenneeded

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  nextcloud-webhook-tokenneeded

nextcloud-webhook-tokenneeded

Nextcloud Server 35.0.0 - Nextcloud GmbH

WebhooksController::create() tokenNeeded को null कर देता है, जब तक कि कॉलर पूर्ण इंस्टेंस एडमिन न हो। update() ऐसा नहीं करता। एक प्रतिनिधित्व प्राप्त Webhooks सेटिंग्स एडमिन (admin में नहीं) किसी मौजूदा webhook पर tokenNeeded.user_ids: ["admin"] संग्रहीत कर सकता है, और फिर जब इवेंट ट्रिगर होता है, तो उस uid के लिए एक घंटे का बिना स्कोप वाला PERMANENT_TOKEN ऐप पासवर्ड प्राप्त कर सकता है।

एक दुर्भावनापूर्ण अभिनेता, जिसे केवल webhooks प्रबंधित करने का भरोसा दिया गया था, एक घंटे के लिए admin (या अपने द्वारा नामित किसी भी उपयोगकर्ता) के रूप में लॉग इन कर सकता है, 2FA को छोड़ सकता है, और उस व्यक्ति की फ़ाइलों को पढ़ या अधिलेखित कर सकता है।

IDअभी तक कोई CVE नहीं
CWECWE-863, CWE-269
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProductNextcloud Server
Affected35.0.0 (da02f41) आधिकारिक nextcloud:35.0.0-apache
Authप्रतिनिधित्व प्राप्त Webhooks सेटिंग्स एडमिन (IDelegatedSettings)
LicenseGNU Affero GPL v3.0
Labकेवल 127.0.0.1

एक हमलावर क्या कर सकता है

आपने किसी को Webhooks सेटिंग्स का काम सौंपा। वे admin समूह में नहीं हैं। Nextcloud फिर भी उन्हें एक मौजूदा webhook को इस तरह संपादित करने देता है कि अगले मेल खाते इवेंट पर, सर्वर उन्हें उनके द्वारा सूचीबद्ध किसी भी uid के लिए एक घंटे का लॉगिन मेल कर देता है, जिसमें admin भी शामिल है।

उस लॉगिन के साथ वे यह कर सकते हैं:

  • उस व्यक्ति की सभी फ़ाइलें खोलें (केवल वह नहीं जिसे webhook को देखना था)
  • उन फ़ाइलों को डाउनलोड और अधिलेखित करें
  • Files / WebDAV का उपयोग उस व्यक्ति के रूप में करें
  • 2FA छोड़ें (यह एक ऐप पासवर्ड है, पासवर्ड प्रॉम्प्ट नहीं)

उन्हें होस्ट पर PHP शेल की आवश्यकता नहीं है। उन्हें पूर्ण इंस्टेंस एडमिन होने की आवश्यकता नहीं है। बिना खाते वाला इंटरनेट पर कोई अजनबी यह नहीं कर सकता। छेद वह स्टाफर है जिसे आपने पहले ही webhooks का भरोसा दिया था, जो उन लोगों का रूप धारण कर रहा है जिन्हें आपने नहीं दिया।


मैंने इसे कैसे खोजा

WebhooksController #[AuthorizedAdminSetting(settings: Admin::class)] है। Admin IDelegatedSettings को लागू करता है। इसी तरह Nextcloud एक सेटिंग्स पैनल को उस समूह को सौंपता है जो admin नहीं है।

tokenNeeded सर्वर से कहता है कि जब webhook ट्रिगर हो, तो नामित uids के लिए auth tokens संलग्न करे। TokenService::createEphemeralToken password = null के साथ IToken::PERMANENT_TOKEN बनाता है। ऐप पासवर्ड। 2FA पहले ही पीछे रह गया।

PR #60543 ने create को गेट किया: जब तक आप पूर्ण इंस्टेंस एडमिन न हों, tokenNeeded null कर दिया जाता है। मैंने प्रतिनिधित्व प्राप्त उपयोगकर्ता hooker के रूप में tokenNeeded.user_ids: ["admin"] के साथ एक webhook बनाया। संग्रहीत tokenNeeded [] था। Create गेटेड है। एक मिनट के लिए यह एक पूर्ण पैच जैसा लगता है।

फिर मैंने वही body /webhooks/{id} पर POST किया। संग्रहीत user_ids ['admin'] था। update() ने कभी if कॉपी नहीं किया।

hooker के रूप में एक फ़ाइल PUT करें ताकि NodeCreatedEvent ट्रिगर हो। Cron WebhookCall चलाता है। Catcher JSON में authentication.user_ids.admin.token है। admin की निजी witness फ़ाइल का Bearer GET 200 लौटाता है, X-User-Id: admin।

इसके मरने के तरीके जो आपको कुछ नहीं सिखाते: update 403 (controller पहले से create से मेल खाता है); create पहले से tokens बना रहा है (#60543 बिल्ड पर नहीं); catcher में खाली authentication (cron ने नहीं बनाया); ExApp header पथ (lab उपयोगकर्ता प्रतिनिधित्व प्राप्त hooker है)।


Lab

cd lab
./run.sh

लक्ष्य केवल http://127.0.0.1:18320 (Nextcloud) और :18321 (catcher)।

SUCCESS NEXTCLOUD-WEBHOOK-TOKENNEEDED who=delegated-webhook-admin uid=admin NEXTCLOUD-WEBHOOK-TOKENNEEDED-WITNESS
  • lab/docker-compose.yml
  • lab/run.sh
  • lab/hook/Dockerfile

समाधान

create के isAdmin null-out को update() में कॉपी करें। जब तक यह शिप न हो, Webhooks सेटिंग्स को गैर-admin समूहों को प्रतिनिधित्व न दें।


संदर्भ

  • github.com/nextcloud/server टैग v35.0.0 (da02f41)
  • निकटवर्ती create-only फिक्स: nextcloud/server#60543
  • Abraxas Labs: abraxaslabs.tech · github.com/abraxas · @abraxas_null

लाइसेंस

GNU Affero GPL v3.0। देखें LICENSE। केवल लूपबैक lab। कोई वारंटी नहीं।

टूल डाउनलोड करें