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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
prometheus-bearer-redirect — प्रोमेथियस v3.15.0 - उच्च - रिमोट - क्रेडेंशियल लीक - remote_write google_iam/azuread क्रॉस-होस्ट 3xx पर Bearer अग्रेषित करता है | Kitploit
उपकरण/GitHubGitHub/abraxas/prometheus-bearer-redirect
भेद्यता विश्लेषणशोषणसुरक्षा वर्चुअलाइजेशनवेब सुरक्षालैब और अभ्यास
GitHubabraxas/prometheus-bearer-redirect

prometheus-bearer-redirect

प्रोमेथियस v3.15.0 - उच्च - रिमोट - क्रेडेंशियल लीक - remote_write google_iam/azuread क्रॉस-होस्ट 3xx पर Bearer अग्रेषित करता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - prometheus-bearer-redirect

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  prometheus-bearer-redirect

prometheus-bearer-redirect

वर्ग: क्रेडेंशियल लीक पहुँच: रिमोट

Prometheus v3.15.0 (5241a27) - CNCF / Prometheus

prometheus/common v0.71.0 पहले से ही क्रॉस-होस्ट रीडायरेक्ट पर scrape / HTTPClientConfig क्रेडेंशियल्स को हटा देता है (isCrossHostRedirect, #901)। NewWriteClient पहले उस क्लाइंट को बनाता है, फिर azuread.NewAzureADRoundTripper या googleiam.NewRoundTripper को उस स्ट्रिप के बाहर रैप करता है। follow_redirects अभी भी डिफ़ॉल्ट रूप से true है।

यदि कॉन्फ़िगर किया गया remote_write URL किसी अन्य होस्ट पर 301/302/307 रीडायरेक्ट करता है, तो Prometheus उस होस्ट को Authorization: Bearer के साथ-साथ Azure AD या GCP monitoring.write टोकन भेजता है। Go पहले ही कॉपी किए गए हेडर को हटा चुका है। ये RoundTrippers इसे फिर से सेट कर देते हैं।

यह CVE-2026-42151 (/-/config पर client_secret डंप) नहीं है। डिफ़ॉल्ट prometheus.yml में कोई remote_write नहीं होता। यह azuread: या google_iam: पर निर्भर है।

IDअभी तक कोई CVE नहीं
वर्गक्रेडेंशियल लीक (क्रॉस-होस्ट 3xx पर remote_write Bearer)
पहुँचरिमोट (Prometheus से 3xx लक्ष्य तक आउटबाउंड)
CWECWE-201
CVSSHigh: 8.6 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N
उत्पादPrometheus
प्रभावितv3.15.0 (5241a27fe3c6983549fccc32f6e65917408c63cd), इमेज prom/prometheus:v3.15.0
प्रमाणीकरणकॉन्फ़िग-गेटेड remote_write जिसमें azuread: या google_iam: हो
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

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

ऑपरेटर के पास azuread: या google_iam: के साथ remote_write है। RW URL, या वह हॉप जिस पर यह 3xx करता है, हमलावर के नियंत्रण वाला होस्ट है।

विशेषाधिकारविधि / सिंकलैब-प्रमाणित या अनुमानित
क्रॉस-होस्ट 3xx पर लाइव GCP monitoring.write Bearer पढ़नाgoogle_iam remote_write POST, दूसरे होस्ट पर 307लैब-प्रमाणित। Oracle POST /write को Authorization: Bearer lab-gcp-PROMETHEUS-BEARER-REDIRECT-WITNESS मिला
azuread के लिए वही लीकazureADRoundTripper.RoundTrip हमेशा Header.Set("Authorization", "Bearer "+token) करता है, बिना isCrossHostRedirect केपिन सोर्स से अनुमानित। NewWriteClient में वही रैप साइट। लैब ने google_iam का उपयोग किया इसलिए Azure को कॉल नहीं किया
उस टोकन को उसी पहचान के रूप में Azure Monitor / GCP Monitoring के विरुद्ध रीप्ले करनाजब वे auth ब्लॉक कॉन्फ़िगर होते हैं तो टोकन एक वास्तविक क्लाउड क्रेडेंशियल होता हैअनुमानित। लैब ने एक स्टब टोकन बनाया; इसने Azure या GCP को कॉल नहीं किया
उसी पिन पर scrape / oauth2 / basic / bearercommon v0.71.0 से HTTPClientConfig RoundTrippersलैब-प्रमाणित बंद। oauth2 scrape GET ने उसी oracle पर 302 का अनुसरण किया, बिना Authorization के
डिफ़ॉल्ट OSSremote_write खालीबंद
remote_write.headers में Authorization सेट करनाअस्वीकृतबंद
/-/config द्वारा client_secret डंप करनाCVE-2026-42151; इस पिन पर फ़ील्ड Secret टाइप का हैबंद
Prometheus admin / lifecycleफ्लैग डिफ़ॉल्ट रूप से बंदबंद
RCE / एक शेलयह बचा हुआ नहींबंद

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

मैंने 3.11/3.12 सीक्रेट-रिडैक्शन और snappy-cap लहर के बाद prometheus/prometheus टैग v3.15.0 को पिन किया। उन्नीस खोजें। डिफ़ॉल्ट OSS: admin API, lifecycle HTTP, remote-write receiver, और OTLP receiver बंद। Common #901 v0.71.0 में है। बचा हुआ हिस्सा वे दो remote_write रैपर हैं जो उस क्लाइंट के बाहर बैठे हैं।

func (rt *azureADRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) {
	accessToken, err := rt.tokenProvider.getAccessToken(req.Context())
	// ...
	req.Header.Set("Authorization", bearerAccessToken)
	return rt.next.RoundTrip(req)
}

googleiam.NewRoundTripper google.golang.org/api/transport/http -> oauth2.Transport है, जो हर हॉप पर SetAuthHeader करता है।

पहले से दर्ज गलत मोड़: CVE-2026-42151 को फिर से फाइल करना; scrape oauth2 को अभी भी लीकी मानना (यह नहीं है); इसे डिफ़ॉल्ट-इंस्टॉल High कहना (यह नहीं है - जब तक आप इसे चालू नहीं करते, remote_write खाली रहता है)। नाटक: एक रिवर्स शेल। Oracle रीडायरेक्ट किए गए POST पर एक Bearer है।

लैब

python3 prometheus-bearer-redirect-Abraxas-Labs.py

या

cd lab
./run.sh

केवल लूपबैक: Prometheus http://127.0.0.1:19380, oracle http://127.0.0.1:19381। इमेज prom/prometheus:v3.15.0। run.sh एक लैब gcp-sa.json लिखता है जिसमें token_uri: http://hop:8080/token होता है ताकि google_iam कभी Google से बात न करे।

SUCCESS prometheus-bearer-redirect how=live rw-method=POST rw-bearer=yes token-has-witness=yes scrape-method=GET scrape-bearer=no PROMETHEUS-BEARER-REDIRECT-WITNESS

समाधान

जब isCrossHostRedirect(req) हो तो Azure AD / Google IAM Bearer संलग्न करना छोड़ दें, ठीक वैसे ही जैसे common #901। क्रॉस-होस्ट 3xx पर Go द्वारा Authorization हटाने के बाद इसे फिर से सेट न करें।

संदर्भ

  • github.com/prometheus/prometheus टैग v3.15.0 (5241a27fe3c6983549fccc32f6e65917408c63cd)
  • storage/remote/client.go · storage/remote/azuread/azuread.go · storage/remote/googleiam/googleiam.go
  • prometheus/common #901
  • निकटवर्ती पैच किया गया (यह रैप नहीं): CVE-2026-42151
  • CWE-201

लाइसेंस

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

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