¿Qué es un ataque de inyección iframe?

Hace algunos días me contacto un amigo que administra un sitio web para pedirme ayuda por que al entrar a su pagina principal el navegador le mostraba un mensaje de que entrar a su sitio podria dañar su equipo. El no entendía por que o como podía ocurrir esto ya que su servidor tenia sistema operativo Linux y el es el unico que tiene acceso al servidor por FTP. Así que se puso en contacto con su proveedor de hosting buscando respuestas y sobretodo ayuda pero poco fue lo que el soporte técnico del hosting pudo hacer por el, ya que no conocían este tipo de ataque.

Investigando al respecto logre ayudarle a solucionar el problema y en mi recorrido por los foros y sitios de antivirus y herramientas de malware encontré que esta situación es muy frecuente y en algunos servidores hasta recurrente. Así que me gustaría compartir los resultados que obtuve y como logre resolverlo.

Regularmente este ataque agrega una etiqueta  iframe dentro del body de nuestros archivos con nombre index, main, login y home. Esta etiqueta de iframe abre una pagina dentro de nuestra pagina que descarga codigo malicioso en la maquina de nuestros visitantes.

Un iframe también se puede usar para ataques CSRF (Cross-site request forgery) .

Un iframe de 1×1 no es visible pero cargado muchas veces puede causar una denegación de servicios.

Este tipo de ataques ocurre por que en el equipo o equipos desde donde accesamos por FTP a nuestro servidor web, se encuentra infectado con algún tipo de malware que toma los passwords guardados por el cliente de ftp y otras aplicaciones y los envía a los creadores del malware en algún servidor que se encarga de conectarse a nuestro servidor, buscar los archivos comunes (index, main, etc.) y agregar la etiqueta de iframe.

Existen algunas variaciones del mismo tipo de ataque.

En mi batalla personal encontré archivos con etiquetas de iframe con la dirección del atacante embebida dentro del código html (dentro de la etiqueta body), también encontre algunos tipos de ataque mas severos, en los que los archivos no conservaban nada del codigo original, en su lugar solo podemos ver una cadena sin sentido, que ejecuta codigo ofuscado con el mismo fin ejecutar el iframe. El problema de este ultimo es que el código ofuscado es una encripción del código original en base24 por lo que si bajamos el archivo para eliminar la cadena con el código ofuscado ninguna pc convencional podrá leerlo, de hecho ni siquiera se los mostrara dentro del editor.

La recomendación es:

1.- Revisar el ó los equipos que tienen acceso por FTP (incluso de los desarrolladores o programadores subcontratados) a este servidor con alguna herramienta anti malware, anti spyware y anti virus.

2.- Ya con nuestros equipos limpios pedir a nuestro proveedor de hosting eliminar la cuenta de hosting y crearla de nuevo. Para lo cual necesitaremos un respaldo reciente de nuestras paginas y de nuestras bases de datos. Si esto no es posible cambien el password de acceso a su FTP y borren todos los archivos anteriores del sitio.

3.- Subir el respaldo y cambiar los permisos de nuestros archivos y carpetas en el web server a solo lectura (444), de esta manera evitamos que algún código interno pueda escribir en los archivos, eso si cada que necesitemos realizar algun un cambio sobre los mismos tendremos que modificar las propiedades.

Por ultimo a petición de ustedes y sin afán de hacer comerciales les comento las herramientas que me funcionaron para detectar el malware:

Google Chrome como navegador web, si el sitio esta infectado evita la ejecución de la pagina y envía alertas visuales.

Ad Aware como complemento al antivirus para la detección del código malicioso.

Malwarebytes’ Anti-Malware nunca esta demás darle una doble revisada a los discos duros de nuestros equipos.

Y recuerden no guardar mas las contraseñas de sus sitios FTP en su maquina, sin importar que cliente de FTP usen.