
स्व-निहित सुरक्षा प्रशिक्षण प्रयोगशाला जो CVE-2026-20253 (Splunk Enterprise का बिना प्रमाणीकरण के RCE) को पुनर्निर्मित करता है। एक दस्तावेजीकृत हमला श्रृंखला के माध्यम से वेब शोषण, विशेषाधिकार वृद्धि और क्रेडेंशियल चोरी का अभ्यास करने के लिए Docker-आधारित वातावरण प्रदान करता है।
स्प्लंक एंटरप्राइज़ 10.2.3 · PostgreSQL रिकवरी साइडकार · CWE-306 (महत्वपूर्ण फ़ंक्शन के लिए लापता प्रमाणीकरण) एक अधिकृत, स्व-निहित प्रतिकृति जो रक्षात्मक शिक्षा के लिए वास्तविक सलाहकार का मॉडल बनाती है। इसमें स्प्लंक का मालिकाना कोड शामिल नहीं है।
यह रिपॉजिटरी एक Vulhub/DVWA-शैली सुरक्षा-प्रशिक्षण लैब है। यह स्प्लंक एंटरप्राइज़ 10.2.3 का एक वफादार मॉडल स्थापित करता है और CVE-2026-20253 के पीछे प्रलेखित व्यवहार को पुन: प्रस्तुत करता है: बंडल PostgreSQL रिकवरी साइडकार कोई वास्तविक प्रमाणीकरण नहीं होने के साथ विशेषाधिकार प्राप्त फ़ाइल-लेखन और SQL-निष्पादन कार्यों को उजागर करता है (एक खाली/कोई भी Basic हेडर स्वीकार किया जाता है), और स्प्लंक वेब टियर लॉगिन गेट से पहले __raw/v1/postgres/* को उस साइडकार पर रिले करता है। श्रृंखलाबद्ध, यह गैर-रूट splunk सेवा खाते के रूप में अनधिकृत रिमोट कोड निष्पादन उत्पन्न करता है।
लैब पूरी तरह से अंत से अंत तक हल करने योग्य है: एज को फिंगरप्रिंट करें, प्री-ऑथ हेल्थ बैज को आंतरिक रिकवरी API तक फॉलो करें, मनमाना फ़ाइल लेखन साबित करें, आंतरिक Postgres क्रेडेंशियल चुराएं, और SQL-रिस्टोर फ़ाइल-लेखन प्रिमिटिव को एक निर्धारित मॉड्यूलर-इनपुट स्क्रिप्ट पर कोड निष्पादन में बदलें।
| विक्रेता सलाह | SVD-2026-0603 |
| CVE | CVE-2026-20253 |
| कमजोरी | CWE-306 — महत्वपूर्ण फ़ंक्शन के लिए लापता प्रमाणीकरण |
| प्रभावित | Splunk Enterprise 10.2.3 |
| इसमें ठीक किया गया | Splunk Enterprise 10.2.4 |
| CVSS 3.1 | 9.8 (गंभीर) — AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
edge network core network
┌───────────────────┐ ┌───────────────────────────────┐
browser ─▶ proxy :8080 ──▶ web :8001 (SPA)
(nginx edge) └▶ splunkd :8089 ─┬─▶ db :5432 (postgres)
login API + ├─▶ redis :6379 (jobs/cache)
__raw relay ───┼─▶ pg-sidecar :5435 ◀── THE VULN
│ (recovery API, blank Basic)
forwarders ─▶ ingest :8088 (HEC) ─────────┘
scheduler ──▶ runs modular-input script
as `splunk` (uid 1000) — RCE sink
shared volume app_data mounted into
pg-sidecar (write) + scheduler (exec)
दो Docker ब्रिज: edge (प्रॉक्सी) और core (बाकी सब)। कमजोर बिल्ड में pg-sidecar core पर बैठता है और वेब टियर के रिले से पहुंच योग्य है — वह पहुंच योग्यता ही मुद्दा है। पैच किया गया ओवरले इसे अलग करता है।
cp .env.example .env
docker compose up --build -d
फिर http://localhost:8080 पर ब्राउज़ करें।
महत्वपूर्ण शोषण (रिकवरी साइडकार) पूरी तरह से अनधिकृत है — इसे पहुंचने के लिए आपको लॉगिन करने की आवश्यकता नहीं है। नीचे दिए गए सीडेड प्लेटफ़ॉर्म खाते केवल खोज के लिए ग्रे-बॉक्स दृष्टिकोण के रूप में मौजूद हैं (Search & Reporting में Splunk के अपने ऑडिट लॉग पढ़ना)। प्रतिभागियों को analyst खाता दें और उन्हें बाकी खोजने दें।
ये क्रेडेंशियल जानबूझकर प्रलेखित हैं — यह एक स्व-निहित प्रशिक्षण लैब है, उत्पादन प्रणाली नहीं। अभ्यास को इनमें से किसी को क्रैक करने या बढ़ाने की आवश्यकता नहीं है; महत्वपूर्ण
pg-sidecarरिकवरी API अनधिकृत है। पूर्ण संचालक नोट्सdocs/DEPLOYMENT.mdमें रहते हैं।
दो झंडे हैं जिन्हें कैप्चर करना है। दोनों SPLUNK{...} स्ट्रिंग हैं; उनके मान लैब में रहते हैं और दस्तावेज़ों में प्रकट होते हैं — वे जानबूझकर यहाँ मुद्रित नहीं हैं ताकि आप उन्हें अर्जित कर सकें।
__raw रिले के माध्यम से रिकवरी API तक पहुंचें, नकली Basic प्रमाणीकरण को पार करें, और साइडकार के .pgpass से आंतरिक Postgres क्रेडेंशियल लीक करें।splunk के रूप में अनधिकृत RCE। साइडकार के फ़ाइल-लेखन और SQL-रिस्टोर प्रिमिटिव को निर्धारित मॉड्यूलर-इनपुट स्क्रिप्ट पर कोड निष्पादन में बदलें, फिर संरक्षित रहस्य पढ़ें।आगे न बढ़ें: docs/DISCOVERY_WALKTHROUGH.md खोजे जाने के लिए लिखा गया है, बिगाड़ने के लिए नहीं। प्रशिक्षण कर्मचारियों के लिए एक क्रमिक संकेत सीढ़ी और पूर्ण प्रशिक्षक समाधान मौजूद है, लेकिन इसे इस पैकेज से बाहर रखा गया है ताकि अभ्यास एक अंधा हल बना रहे।
patched/ ट्री स्प्लंक के वास्तविक सुधार (10.2.4) के साथ-साथ सलाहकार के वर्कअराउंड को दर्शाता है, जो रक्षा-इन-डेप्थ के रूप में स्तरित है: रिकवरी रूट्स पर वास्तविक क्रेडेंशियल सत्यापन, backupFile पथ-ट्रैवर्सल स्वच्छता, libpq कनेक्शन-स्ट्रिंग इंजेक्शन का उन्मूलन, एक गैर-सुपरयूज़र रिस्टोर रोल, प्री-ऑथ __raw रिले को हटाना, और साइडकार का नेटवर्क अलगाव। देखें patched/PATCH_NOTES.md।
ओवरले के साथ हार्डन्ड बिल्ड को ऊपर लाएं:
docker compose -f docker-compose.yml -f patched/deploy/compose.override.hardened.yml up --build -d
सलाहकार के शमन को दर्शाते हुए, आप बिना पैच के रिकवरी साइडकार को पूरी तरह से अक्षम कर सकते हैं — server.conf में [postgres] disabled = true सेट करने का एनालॉग। अपने .env में निम्नलिखित सेट करें और स्टैक को पुनः बनाएं:
PG_SIDECAR_DISABLED=true
साइडकार के अक्षम होने के साथ, recovery/* फ़ंक्शन चले जाते हैं और श्रृंखला स्रोत पर टूट जाती है।
प्रशिक्षण सामग्री। यह लैब एक अधिकृत, स्व-निहित प्रतिकृति है जो रक्षात्मक शिक्षा के लिए स्प्लंक एंटरप्राइज़ CVE-2026-20253 का मॉडल बनाती है। इसमें स्प्लंक का मालिकाना स्रोत या बाइनरी नहीं है; यहां की सेवाएं प्रलेखित कमजोर व्यवहार का एक स्वतंत्र पुन: कार्यान्वयन हैं। केवल इस लैब के विरुद्ध उपयोग करें। इन तकनीकों को उन प्रणालियों के विरुद्ध चलाना जिनके आप मालिक नहीं हैं, अवैध है।
| Service | Image | Listens | Published | Role |
|---|
proxy | splunk/proxy:10.2.3 | 8080 | 8080:8080 | nginx एज; Splunk Web + __raw रिले प्रवेश बिंदु |
web | splunk/web:10.2.3 | 8001 | — | Splunk Web सिंगल-पेज ऐप (स्टैटिक) |
splunkd | splunk/splunkd:10.2.3 | 8089 | — | Splunk डेमन / वेब टियर: लॉगिन API + प्री-सेशन /{locale}/splunkd/__raw/v1/postgres/* रिले |
ingest | splunk/ingest:10.2.3 | 8088 | 8088:8088 | HTTP इवेंट कलेक्टर (टोकन प्रमाणीकरण) |
pg-sidecar | splunk/pg-sidecar:10.2.3 | 5435 | — | भेद्यता — PostgreSQL रिकवरी साइडकार (/v1/postgres/*) |
scheduler | splunk/scheduler:10.2.3 | — | — | निर्धारित मॉड्यूलर-इनपुट स्क्रिप्ट को splunk के रूप में चलाता है → RCE सिंक |
db | postgres:16-alpine | 5432 | — | आंतरिक Postgres जिसे साइडकार बैकअप/रिस्टोर करता है |
redis | redis:7-alpine | 6379 | — | जॉब क्यू / कैश |
| Username | Password | Role | Notes |
|---|
admin | Str@ta-Admin-2026! | व्यवस्थापक | पूर्ण प्लेटफ़ॉर्म व्यवस्थापक (सेटिंग्स, उपयोगकर्ता, डेटा इनपुट) |
j.okafor | Analyst!Winter24 | विश्लेषक | यहाँ से शुरू करें — केवल-पढ़ने का Search & Reporting कंसोल |
m.reyes | Operator#2311 | संचालक | स्रोतों / क्लस्टर दृश्यों का प्रबंधन करता है |
svc_forwarder | fwd-3f9a1c77b204 | संचालक | सेवा खाता (HEC फ़ॉरवर्डर) |
| Doc | Audience / purpose |
|---|
docs/DISCOVERY_WALKTHROUGH.md | फिंगरप्रिंट से RCE तक खोज-संचालित पथ |
docs/ROOT_CAUSE.md | यह क्यों कमजोर है (CWE-306) और पैच इसे कैसे ठीक करता है |
docs/ARCHITECTURE.md | सेवाएं, नेटवर्क, __raw रिले, और डेटा प्रवाह |
docs/DETECTION.md | ब्लू-टीम डिटेक्शन अवसर और सिग्नेचर |
docs/PLAYER_GUIDE.md | प्रतिभागी ब्रीफिंग और दायरा |
docs/HINTS.md | क्रमिक संकेत सीढ़ी — आंतरिक रखा गया, इस पैकेज में शामिल नहीं |
docs/INSTRUCTOR_GUIDE.md | प्रशिक्षण कर्मचारी केवल — पूर्ण समाधान + झंडे, आंतरिक रखा गया, शामिल नहीं |
docs/DEPLOYMENT.md | पर्यावरण स्थापित करें, संचालित करें, और नष्ट करें |