Bu yazıda PriviaHub platformunda bulunan ve emekliye ayrılan “MINISTER” adlı makinenin çözüm adımları anlatılmaktadır. İlk olarak; makinede bulunan açık portların, açık portlar üzerinde çalışan güncel servislerin ve işletim sisteminin tespit edilmesi için tarama başlatılmıştır. Tarama işlemi için NMAP aracı kullanılarak, nmap -A <<IP_Adresi>> -v komutu çalıştırılmıştır. -A parametresi SYN taraması, güncel servis versiyon taraması, işletim sistemi taraması ve traceroute taraması yapan bir parametredir. -v parametresi ise detaylı bilgi vermek amacıyla kullanılmıştır.
Yapılan tarama işlemi sonucunda 8000 numaralı TCP portunun açık olduğu ve bu port üzerinde çalışan servisin Webmin uygulaması tarafından kullanılan MiniServ servisi olduğu tespit edilmiştir. Resim 1’de tarama sonuçları yer almaktadır.
Açık olan 8000 numaralı port üzerinden web tarayıcısı ile Webmin uygulamasına erişim sağlanmıştır. Webmin, Unix tabanlı sistemler için web tabanlı bir sistem konfigürasyonu uygulamasıdır.
Tarama sonuçlarına göre, sistem üzerinde Webmin uygulamasının 1.920 sürümü çalışmaktadır. Arama motoru ile Webmin uygulamasına yönelik exploit araması yapılmıştır. Resim 3’ te arama işlemine yönelik sonuçlar yer almaktadır.
Yapılan arama işlemi sonucunda, Webmin uygulamasının 1.920 sürümünü etkileyen RCE zafiyeti olduğu tespit edilmiştir. CVE-2019-15107 kodlu bu zafiyet (eğer parola değişikliğine izin verilmişse), parola değişikliği sırasında eski parolanın atandığı “old” parametresinden kaynaklanmaktadır. Saldırganlar, “old” parametresine “| (pipe)” işaretinden sonra bir sistem komutu atayarak hedef sistem üzerinde root haklarıyla uzaktan komut çalıştırabilirler. Bu zafiyeti oldukça kritik yapan durum ise saldırganların kimlik doğrulamadan zafiyetten yararlanabilmeleridir. Resim 4’te zafiyetin exploit edilebilmesi için Exploit DB üzerinde yayınlanmış olan Metasploit modülü yer almaktadır.
Modül indirildikten sonra, KALI Linux üzerinde yer alan Metasploit-Framework exploit modülleri (/usr/share/metasploit-framework/modules/exploits/…) arasına yerleştirilebilir ve Metasploit konsol uygulaması üzerinden bu modüle erişim sağlanabilir. Resim 5’te CVE-2019-15107 zafiyetine ait olan Metasploit modülünün seçenekleri yer almaktadır.
Seçeneklere göre; “RHOSTS”, “RPORT” ve “TARGETURI” parametreleri değer atanması zorunlu olan parametrelerdir. RHOSTS parametresine, hedef sisteme ait olan HOST/IP bilgisi atanmalıdır. Webmin uygulaması varsayılan olarak 10000 portu üzerinde çalıştığı için RPORT parametresi varsayılan olarak 10000 değerini almaktadır. Ancak Webmin uygulaması hedef sistem üzerinde 8000 portu üzerinde çalıştığı için RPORT parametresine 8000 değeri atanacaktır. TARGETURI ise Webmin uygulamasının kök dizinini belirtmelidir. Modüle ait olan parametrelerle birlikte, modül seçenekleri arasında varsayılan olarak “cmd/unix/reverse_python” payload’ı yer almaktadır. Bu payload, Python programlama dili aracılığıyla UNIX sistemler üzerinden ters bağlantı elde edilmesini sağlamaktadır. Resim 6’da parametrelere atanan değerler yer almaktadır.
Parametrelere uygun değerler atandıktan sonra “exploit” komutu ile exploit işlemi başlatılmıştır ve hedef sistem üzerinden reverse shell bağlantısı elde edilmiştir. Resim 7’de elde edilen reverse shell bağlantısı yer almaktadır.