Esto cantidad de ataques se debe a que los Anuncios en línea son una fuente importante de Ingresos para muchos sitios Web.
Revive AdServer (Open Source) sucesor de Openx quien fue Open Source hasta unos meses, dejando a muchos fieles seguridores usando Openx que tuvieron que arreglarselas para migrar a Revive AdServer o Seguir Usando Openx desfasado.
La conclusión es sencilla que mejor oportunidad de anunciar y ganar dinero con un Sistema totalemente gratuito y libre.
¿ Qué es OpenX y Revive AdServer ?
Son sistemas de publicación de anuncios que tienes las siguientes caracteríticas:
- Publicar anuncios en Sitios Web.
- Recopilar estadítica detallada sobre las impresiones, clics y conversiones.
- Administrar campañas de varios anunciantes.
- Interfaz Web facil de Usar.
- Definir reglas para la entrega de campañas, anuncios y segmentación geográfica.
- Resultados de campaña y reporte.
Cuando los usuarios visitan un anuncio un script PHP crea dinámicamente un código Java Script que serán incrustado en los Anuncios de la página Web.
¿Cómo el Malware se inserta en OpenX?
El Malware aprovecha la generación código para los anuncios y se inserta como un pequeño fragmento de Java Script.
¿Cómo encuentro al Malware?
Paso 1: Buscamos código malicioso en los campos append/prepend de la tabla banners.
Para saber el código del anuncio y revisarlo via Web lo obtenemos de bannerid.
Para OpenX:
SELECT bannerid, append, prepend FROM ox_banners WHERE append != '' OR prepend != '';
SELECT append,prepend FROM ox_banners WHERE append LIKE '%<br>%';
Ejemplo: Ejecuto mis consultas en el programa SQLyog que esta configurado con mi
base datos de publicidad.
Ejecutamos la consulta.
Una vez obtenido los resultados le damos doble Clic en una de las filas:
Todo ese código señalado con rojo es lo que nos han insertado así que
debemos borrarlo.
Ojo: En SQLyog tienes que estar como escritura por defecto nos pone "Read Only" y siempre dar clic en el disquete para que guarde los cambios.
Paso 2: Buscamos código malicioso en los campos append/prepend de la tabla zonas.
Para saber el código del anuncio y revisarlo via Web lo obtenemos de zoneid.
Para Openx:
SELECT zoneid, append, prepend FROM ox_zones WHERE append != '' OR prepend != '';
¿Cómo se que es un código Malicioso?
- Visitar esta página donde se reportan los archivos mas comunes de ataque: https://developer.openx.org/jira/browse/OX-5950.
- Pero un ejemplo de código Maliciso podria ser este que encontre en mi caso:
- Consultar con el administrador o el responsable de los anuncios y verificar que es código Valido.
Para Openx:
SELECT u.user_id, u.contact_name, u.email_address, u.active, u.username FROM ox_users AS u, ox_account_user_assoc AS aua WHERE u.user_id=aua.user_id AND aua.account_id = (SELECT value FROM ox_application_variable WHERE name='admin_account_id');
Recomendaciones Adicionales:
- Cambia regularmente el password de los usuarios del sistema.
- Borra el archivo .../openx/www/admin/install.php.
- Borra el archivo .../openx/www/admin/install_plugins.php.
<br>
<script type='text/javascript'><!--//<![CDATA[
document.MAX_ct0 ='{clickurl}';
var m3_u = (location.protocol=='https:'?
'https://d2va07tmah0l23.oxcdn.com/www/delivery/ajs.php'
:'http://d2va07tmah0l23.oxcdn.com/www/delivery/ajs.php');
var m3_r = Math.floor(Math.random()*99999999999);
if (!document.MAX_used) document.MAX_used = ',';
document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
document.write ("?zoneid=174");
document.write ('&cb=' + m3_r);
if (document.MAX_used != ',') document.write ("&exclude=" + document.MAX_used);
document.write (document.charset ? '&charset='+document.charset :
(document.characterSet ? '&charset='+document.characterSet : ''));
document.write ("&loc=" + escape(window.location));
if (document.referrer) document.write ("&referer=" + escape(document.referrer));
if (document.context) document.write ("&context=" + escape(document.context));
if ((typeof(document.MAX_ct0) != 'undefined') && (document.MAX_ct0.substring(0,4) == 'http')) {
document.write ("&ct0=" + escape(document.MAX_ct0));
}
if (document.mmm_fo) document.write ("&mmm_fo=1");
document.write ("'><\/scr"+"ipt>");
//]]>-->
</script>
<noscript>
Publicar un comentario