8089 - Pentesting Splunkd
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
बुनियादी जानकारी
Splunk एक लॉग एनालिटिक्स टूल है जो डेटा को इकट्ठा करने, विश्लेषण करने और दृश्य बनाने में महत्वपूर्ण भूमिका निभाता है। जबकि इसका प्रारंभिक उद्देश्य SIEM (सिक्योरिटी इंफॉर्मेशन एंड इवेंट मैनेजमेंट) टूल के रूप में कार्य करना नहीं था, यह सुरक्षा निगरानी और व्यापार विश्लेषण के क्षेत्र में लोकप्रियता प्राप्त कर चुका है।
Splunk तैनाती अक्सर संवेदनशील डेटा को संग्रहीत करने के लिए उपयोग की जाती हैं और यदि वे सिस्टम को समझौता करने में सफल होते हैं तो यह संभावित हमलावरों के लिए जानकारी का एक मूल्यवान स्रोत बन सकती हैं। डिफ़ॉल्ट पोर्ट: 8089
Splunk वेब सर्वर डिफ़ॉल्ट रूप से पोर्ट 8000 पर चलता है।
Enumeration
Free Version
Splunk Enterprise परीक्षण 60 दिनों के बाद एक मुफ्त संस्करण में परिवर्तित हो जाता है, जो प्रमाणीकरण की आवश्यकता नहीं है। सिस्टम प्रशासकों के लिए Splunk का परीक्षण करने के लिए एक परीक्षण स्थापित करना आम बात है, जिसे बाद में भुला दिया जाता है। यह स्वचालित रूप से मुफ्त संस्करण में परिवर्तित हो जाएगा जिसमें किसी भी प्रकार का प्रमाणीकरण नहीं है, जो वातावरण में एक सुरक्षा छिद्र पेश करता है। कुछ संगठन बजट की सीमाओं के कारण मुफ्त संस्करण का विकल्प चुन सकते हैं, बिना यह पूरी तरह से समझे कि उपयोगकर्ता/भूमिका प्रबंधन का न होना क्या प्रभाव डालता है।
Default Credentials
पुराने संस्करणों में Splunk, डिफ़ॉल्ट क्रेडेंशियल्स admin:changeme
होते हैं, जो लॉगिन पृष्ठ पर सुविधाजनक रूप से प्रदर्शित होते हैं।
हालांकि, Splunk का नवीनतम संस्करण स्थापना प्रक्रिया के दौरान क्रेडेंशियल्स सेट करता है। यदि डिफ़ॉल्ट क्रेडेंशियल्स काम नहीं करते हैं, तो सामान्य कमजोर पासवर्ड जैसे admin
, Welcome
, Welcome1
, Password123
, आदि की जांच करना उचित है।
Obtain Information
एक बार Splunk में लॉग इन करने के बाद, हम डेटा ब्राउज़ कर सकते हैं, रिपोर्ट चला सकते हैं, डैशबोर्ड बना सकते हैं, Splunkbase पुस्तकालय से ऐप्लिकेशन स्थापित कर सकते हैं, और कस्टम ऐप्लिकेशन स्थापित कर सकते हैं। आप कोड भी चला सकते हैं: Splunk में कोड चलाने के कई तरीके हैं, जैसे सर्वर-साइड Django एप्लिकेशन, REST एंडपॉइंट, स्क्रिप्टेड इनपुट, और अलर्टिंग स्क्रिप्ट। Splunk सर्वर पर रिमोट कोड निष्पादन प्राप्त करने का एक सामान्य तरीका स्क्रिप्टेड इनपुट का उपयोग करना है।
इसके अलावा, चूंकि Splunk को Windows या Linux होस्ट पर स्थापित किया जा सकता है, स्क्रिप्टेड इनपुट बनाए जा सकते हैं जो Bash, PowerShell, या Batch स्क्रिप्ट चलाते हैं।
Shodan
Splunk build
RCE
Create Custom Application
एक कस्टम एप्लिकेशन Python, Batch, Bash, या PowerShell स्क्रिप्ट चला सकता है। ध्यान दें कि Splunk के साथ Python स्थापित है, इसलिए Windows सिस्टम में भी आप Python कोड चला सकेंगे।
आप हमारी सहायता के लिए इस Splunk पैकेज का उपयोग कर सकते हैं। इस रिपॉजिटरी में bin
निर्देशिका में Python और PowerShell के उदाहरण हैं। चलिए इसे चरण-दर-चरण देखते हैं।
इसके लिए, हमें पहले निम्नलिखित निर्देशिका संरचना का उपयोग करके एक कस्टम Splunk एप्लिकेशन बनाना होगा:
The bin
directory में कोई भी स्क्रिप्ट्स होंगी जिन्हें हम चलाना चाहते हैं (इस मामले में, एक PowerShell रिवर्स शेल), और डिफ़ॉल्ट डायरेक्टरी में हमारा inputs.conf
फ़ाइल होगा। हमारा रिवर्स शेल एक PowerShell एक-लाइनर होगा:
The inputs.conf फ़ाइल Splunk को कौन सा स्क्रिप्ट चलाना है और अन्य शर्तें बताती है। यहाँ हम ऐप को सक्षम के रूप में सेट करते हैं और Splunk को हर 10 सेकंड में स्क्रिप्ट चलाने के लिए कहते हैं। अंतराल हमेशा सेकंड में होता है, और इनपुट (स्क्रिप्ट) केवल तभी चलेगा जब यह सेटिंग मौजूद हो।
हमें .bat
फ़ाइल की आवश्यकता है, जो तब चलेगी जब एप्लिकेशन तैनात किया जाएगा और PowerShell एक-लाइनर को निष्पादित करेगी।
अगला कदम Install app from file
चुनना है और एप्लिकेशन को अपलोड करना है।
![](https://book.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2214728956-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FPfJnr5ak4G3jo9UcZF4y%252Fuploads%252Fgit-blob-efc07ea7819a44d64f280bd6e53eb69e04496092%252Fimage%2520%28668%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=ab861820&sv=1)
दुष्ट कस्टम ऐप अपलोड करने से पहले, चलिए Netcat या socat का उपयोग करके एक श्रोता शुरू करते हैं।
On the Upload app
page, click on browse, choose the tarball we created earlier and click Upload
. जैसे ही हम एप्लिकेशन को अपलोड करते हैं, एक reverse shell प्राप्त होता है क्योंकि एप्लिकेशन की स्थिति स्वचालित रूप से Enabled
में बदल जाएगी।
Linux
यदि हम एक Linux host के साथ काम कर रहे होते, तो हमें rev.py
Python script को संपादित करने की आवश्यकता होती, इससे पहले कि हम tarball बनाएं और कस्टम दुर्भावनापूर्ण ऐप को अपलोड करें। प्रक्रिया का बाकी हिस्सा वही रहेगा, और हमें अपने Netcat listener पर एक reverse shell कनेक्शन प्राप्त होगा और हम दौड़ में आगे बढ़ जाएंगे।
RCE & Privilege Escalation
इस पृष्ठ पर आप यह समझ सकते हैं कि इस सेवा का दुरुपयोग कैसे किया जा सकता है ताकि विशेषाधिकार बढ़ाए जा सकें और स्थिरता प्राप्त की जा सके:
Splunk LPE and PersistenceReferences
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated