Existen una serie de pasos a seguir para detectar si una Web ha sufrido un ataque por parte de terceros:
Comprobar si la apariencia de la Web se ha visto modificada o muestra características, contenidos o acciones distintas a las esperadas.
Comprobar las direcciones IP de las últimas conexiones al servidor FTP que aloja los activos:
Han de coincidir con algunas de las direcciones conocidas por los propietarios del sitio. Para identificar las IPs externas se pueden seguir los siguientes enlaces: http://www.whatismyip.com o http://www.cualesmiip.com.
Revisar el archivo log de conexiones al sitio Web y sus peticiones:
Este log guarda el acceso al sitio de todas las conexiones que se reciben mediante HTTP (conexión normal) y FTP (transferencia de ficheros publicados).
Comprobar el listado de ficheros del sitio en busca de cambios no deseados:
Existen diversos procedimientos para detectar si se ha producido algún cambio en los archivos, como puede ser comparar listas de ficheros (obtenidas, por ejemplo, a través del comando "clon"), en momentos distintos para compararlas:
- Comprobar el directorio raíz y todos sus subdirectorios: examinar los archivos Web a través del gestor que ofrece el panel de control o del cliente FTP, en busca de ficheros que hayan sido modificados, que sean desconocidos o susceptibles de tener cambios.
- Comprobar si se han cambiado los permisos preestablecidos sobre los archivos de la Web.
Revisar el código fuente de la Web en busca de la posible detección de los ataques más comunes. Un buen método puede ser comparar los archivos del servidor con los disponibles de copias de seguridad, evitando así:
- Variaciones en código (HTML, PHP) y otros, textos, inyección de iframes o enlaces JavaScript:
-
Scripts maliciosos: son usados frecuentemente para redirigir a los visitantes a otra Web y/o cargar malware desde otra fuente. Son inyectados a menudo en el contenido de las Webs, o a veces en archivos en el servidor, como imágenes y PDFs.
A veces, en lugar de inyectar el script completo en la página, el atacante sólo inyecta un puntero a un archivo ".js" almacenado en el servidor. También se suele utilizar la ofuscación de código para dificultar la detección por parte de los antivirus.
-
Iframes ocultos: un "iframe" es una sección de la página Web que carga contenido de otra página o sitio. Los atacantes a menudo inyectan iframes maliciosos, configurándolos para que no se muestren en la página Web cuando alguien la visita, de modo que el contenido malicioso se carga aunque se encuentre oculto para el visitante.
El formato de estos iframes suele ser:
-
- Modificación de las bases de datos, frecuentemente inyectando el mismo tipo de contenido del apartado anterior.
- Nuevos archivos, añadiendo programas ejecutables para que los atacantes manejen la Web de forma remota, pudiendo realizar el envío de SPAM, la conexión a servidor IRC para las comunicaciones con las Bots, ataques masivos a sitios Web, etc.
- Modificaciones del funcionamiento del sistema, quedando todo bajo el control del operador atacante remoto.
- Ejemplos de algunos de los ataques mencionados:
-
RFI (Remote File Inclusion): se debe revisar el valor de "$variable" con el fin de detectar contenido distinto al esperado por el programador, así como tener ciertas directivas en el archivo "php.ini" correctamente configuradas (magic_quotes, global_variables, etc.).
- Inyección SQL: a través de código SQL se puede alterar el funcionamiento normal de una base de datos y hacer que se ejecute maliciosamente el código "invasor" en ella.
- Iframe:
- Fuente: Inteco.es
-