8089 - Pentesting Splunkd
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Splunk, veri toplama, analiz etme ve görselleştirme konusunda kritik bir rol oynayan bir log analitik aracıdır. Başlangıçta bir SIEM (Güvenlik Bilgisi ve Olay Yönetimi) aracı olarak hizmet vermek amacıyla tasarlanmamış olsa da, güvenlik izleme ve iş analitiği alanında popülerlik kazanmıştır.
Splunk dağıtımları genellikle hassas verileri depolamak için kullanılır ve sistemin ele geçirilmesi durumunda potansiyel saldırganlar için değerli bir bilgi kaynağı olabilir. Varsayılan port: 8089
Splunk web sunucusu varsayılan olarak 8000 numaralı portta çalışır.
Splunk Enterprise denemesi 60 gün sonra ücretsiz versiyona dönüşür, bu da kimlik doğrulama gerektirmez. Sistem yöneticilerinin Splunk'ın deneme sürümünü test etmek için kurması ve bunun sonrasında unutulması yaygın bir durumdur. Bu, kimlik doğrulama gerektirmeyen ücretsiz versiyona otomatik olarak dönüşecektir ve bu da ortamda bir güvenlik açığı oluşturur. Bazı organizasyonlar, kullanıcı/rol yönetiminin olmamasıyla ilgili sonuçları tam olarak anlamadan bütçe kısıtlamaları nedeniyle ücretsiz versiyonu tercih edebilir.
Eski Splunk sürümlerinde varsayılan kimlik bilgileri admin:changeme
olup, bu bilgiler giriş sayfasında rahatlıkla görüntülenir.
Ancak, Splunk'ın en son sürümü kurulum sürecinde kimlik bilgilerini ayarlar. Varsayılan kimlik bilgileri çalışmazsa, admin
, Welcome
, Welcome1
, Password123
gibi yaygın zayıf şifreleri kontrol etmekte fayda vardır.
Splunk'a giriş yaptıktan sonra, verileri gözden geçirebilir, raporlar çalıştırabilir, gösterge panelleri oluşturabilir, Splunkbase kütüphanesinden uygulamalar yükleyebilir ve özel uygulamalar yükleyebilirsiniz. Ayrıca kod çalıştırabilirsiniz: Splunk, sunucu tarafı Django uygulamaları, REST uç noktaları, betik girdi ve uyarı betikleri gibi kod çalıştırmanın birçok yoluna sahiptir. Bir Splunk sunucusunda uzaktan kod yürütmenin yaygın bir yöntemi, betik girdi kullanmaktır.
Ayrıca, Splunk Windows veya Linux ana bilgisayarlarında kurulabileceğinden, Bash, PowerShell veya Batch betiklerini çalıştırmak için betik girdileri oluşturulabilir.
Splunk build
Özel bir uygulama Python, Batch, Bash veya PowerShell betikleri çalıştırabilir. Splunk'ın Python ile yüklü geldiğini unutmayın, bu nedenle Windows sistemlerinde bile python kodu çalıştırabileceksiniz.
Bize yardımcı olması için bu Splunk paketini kullanabilirsiniz. Bu repo içindeki bin
dizini, Python ve PowerShell için örnekler içermektedir. Bunu adım adım inceleyelim.
Bunu başarmak için, önce aşağıdaki dizin yapısını kullanarak özel bir Splunk uygulaması oluşturmamız gerekiyor:
bin
dizini, çalıştırmayı planladığımız herhangi bir script içerecektir (bu durumda, bir PowerShell ters shell), ve varsayılan dizin inputs.conf
dosyamızı içerecektir. Ters shell'imiz bir PowerShell one-liner olacak:
inputs.conf dosyası Splunk'a hangi scriptin çalıştırılacağını ve diğer koşulları belirtir. Burada uygulamayı etkin olarak ayarlıyoruz ve Splunk'a scripti her 10 saniyede bir çalıştırmasını söylüyoruz. Aralık her zaman saniye cinsindendir ve girdi (script) yalnızca bu ayar mevcutsa çalışacaktır.
.bat
dosyasına ihtiyacımız var, bu dosya uygulama dağıtıldığında çalışacak ve PowerShell tek satırlık komutunu yürütecek.
Sonraki adım, Install app from file
seçeneğini seçmek ve uygulamayı yüklemektir.
Kötü niyetli özel uygulamayı yüklemeden önce, Netcat veya socat kullanarak bir dinleyici başlatalım.
Upload app
sayfasında, göz at'a tıklayın, daha önce oluşturduğumuz tarball'ı seçin ve Upload
'a tıklayın. Uygulamayı yüklediğimiz anda, uygulamanın durumu otomatik olarak Enabled
olarak değişeceği için bir ters shell alınır.
Eğer bir Linux host ile uğraşıyorsak, tarball'ı oluşturmadan ve özel kötü amaçlı uygulamayı yüklemeden önce rev.py
Python betiğini düzenlememiz gerekecektir. Sürecin geri kalanı aynı kalacak ve Netcat dinleyicimizde bir ters shell bağlantısı alacağız ve yarışa başlayacağız.
Aşağıdaki sayfada bu hizmetin nasıl kötüye kullanılabileceğine dair bir açıklama bulabilirsiniz, yetkileri yükseltmek ve kalıcılık elde etmek için:
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Training AWS Red Team Expert (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Training GCP Red Team Expert (GRTE)