Inicio > Redes, Seguridad > SEGURIDAD EN HOSTINGS COMPARTIDOS – PARTE II

SEGURIDAD EN HOSTINGS COMPARTIDOS – PARTE II

Siguiendo en la línea de estudiar LAMPS, shared hostings, etc, en este artículo vamos a hablar de cómo funciona un hosting compartido desde el punto de vista del cliente y qué deberíamos mirar para tener una idea de si su nivel de seguridad es adecuado o no. Antes de leer este post, sería conveniente que mirases la primera parte.

Los servicios de hosting que he mirado para escribir este post son 000freeweb.com y freeweb7.com.

Lo primero será abrirnos una cuenta, para lo que necesitaremos una dirección de correo electrónico a la que nos llegarán los enlaces de confirmación y activación de la cuenta, lo típico.

Tras crear y activar nuestra cuenta, tendremos permisoso para subir ficheros php, así que lo aprovecharemos para subir uno que nos dé toda la información básica del servidor llamando a phpinfo(). Es decir, un archivo php con el siguiente contenido:

<?php
phpinfo();
?>

Y el resultado sería algo así:

Lo primero que deberíamos mirar es la versión de php, con la que podremos hacer una búsqueda de exploits. Dentro del código de los exploits aparecerán llamadas a funciones que deberíamos tener deshabiltadas (ver debajo). Aparte, tendremos acceso a la lista de módulos del apache, que aunque normalmente no lleve a nada también es posible que permita encontrar alguna vulnerabilidad.

He marcado la celda que contiene el valor disable_functions, que es una lista de funciones deshabilitadas en php y uno de los parámetros más importantes a revisar. Podéis comparar las que os salgan con la lista (actualizada) de éste artículo. Es importante fijarse en que aparezcan todas, aunque a priori no parezcan imprescindibles. Por ejemplo, existe un exploit para la versión php 5.2.11 que utiliza symlink para conseguir una shell … Así pues, es muy importante verificar que estas restricciones se cumplen estríctamente.

Otro de los valores a mirar es open_basedir, que marca los directorios a los que tenemos acceso. Una configuración típica sería que aparezca algo como esto:

open_basedir /var/www/html/usuario/:/var/www/tmp/

Aunque en ocasiones esta directiva no se usa pero, en su lugar, aparece safe_mode on y se usan otro tipo de restricciones.

Una vez comprobados a qué directorios tenemos acceso, deberíamos ver cuál es su contenido y si podría ser relevante para un atacante. En el siguiente ejemplo, mostramos el contenido del directororio /tmp:

Como podéis ver, aparecen unos ficheros cuyos nombres son … ¿los valores de las cookies de las sesiones? Si bien es cierto que no he conseguido explotarlo, porque va todo hasheado, la cosa es que tiene mala pinta …

En el mismo hosting, podemos examinar el contenido de /usr/lib/php/, que también está abierto en open_basedir:

De hecho, podemos leer los archivos de este directorio:

Otra prueba que podemos hacer es subir una shell a nuestro hosting compartido. En principio, la buena práctica sería tener un antivirus que en tiempo real examine los archivos subidos en busca de virus, pero esto puede ser muy costoso en recursos y normalmente estará deshabilitado:

En este caso, como podéis ver, he elegido subir una versión de la famosa shell c99. Una vez subida nuestra shell, podemos probar a ejecutar comandos y saltar por los directorios. Nada de esto debería funcionar.

De todas formas, es siempre mejor verificar que disable_functions es RESTRICTIVO antes que creerse los resultados de la shell (por ejemplo, la versión que he subido de c99 no usa popen() para ejecutar comandos en php, sin embargo tengo una de r57 que sí lo usa).

Y con esto, acaba nuestro examen rápido de la seguridad en un hosting compartido.

Saludos y hasta pronto.

Categorías:Redes, Seguridad Etiquetas: , , ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: