Limpieza manual de malware

Limpieza manual de malware

¿Cómo limpiar un sitio web? ¿Cómo eliminar el malware? En caso de que ImunifyAV , el antivirus del servidor Linux , indique que se ha encontrado malware, consulte las pautas para la limpieza de infecciones de malware que se pueden realizar manualmente a continuación:

  • Paso 1: copia de seguridad
  • Paso 2: comprender qué es el malware
  • Paso 3: Eliminación de malware
    • Paso 3.1: eliminación de malware independiente
    • Paso 3.2: Eliminación del malware inyectado
  • Paso 4: Repita

Paso 1: copia de seguridad

Antes de limpiar el sitio web, se recomienda realizar una copia de seguridad completa de los datos que se están limpiando. Por ejemplo, para un sitio web basado en WordPress, asegúrese de que se haya realizado una copia de seguridad no solo de los archivos sino también de la base de datos.

Paso 2: comprender qué es el malware

En primer lugar, todos los productos de Imunify siguen la convención de clasificación de malware . Aquí hay algunos ejemplos breves de clasificación:

tipo de programa maliciosoTipo de detecciónIDENTIFICACIÓNtipo de archivo.categoría.clasificaciónVersión
SMWINJ16402js.spam.redi18
CMWSA12147mlw.wshll5
SMWBLKH1246640php.bkdr.anonfox.autoast1

SMW significa Server Malware, lo que significa que el código malicioso se ejecuta en el lado del servidor (dentro del sitio del cliente). CMW: ejecuciones maliciosas en el lado del cliente, por ejemplo, en el navegador.

INJ : se inyectó código malicioso en el archivo. 

SA y BLKH – archivo de malware independiente – totalmente malicioso.

Paso 3: Eliminación de malware

La eliminación manual de malware requerirá algunos conocimientos básicos de la línea de comandos y la programación.

Paso 3.1: eliminación de malware independiente

En caso de que el archivo esté marcado con la firma -SA- o -BLKH- , es completamente malicioso y se puede eliminar por completo mediante el administrador de archivos del panel de control o la CLI de Linux.

Aquí hay un top 20 de veredictos de malware independientes:

SMW-SA-15778-php.bkdr.wshll.wpnull24

SMW-SA-12273-mlw.drwy

SMW-SA-15255-php.bkdr.wshll.wpnull24

SMW-SA-04892-php.bkdr.wpvcd

SMW-SA-17965-php.bkdr.wp.fake

SMW-SA-15534-php.bkdr.drpr.wpnull24

SMW-SA-12883-mlw.phish

SMW-SA-13119-mlw.tool.spam.wpvcd

SMW-SA-15256-php.bkdr.wshll

SMW-SA-13600-php.phish.gen

SMW-SA-16489-php.deface.gen

SMW-SA-15618-php.bkdr.fakeplugin.wpvcd

SMW-SA-12609-mlw.deface

SMW-BLKH-74202-elf.troyano

SMW-BLKH-20827-php.spam

SMW-BLKH-33002-html.phish
Alerta de malware independiente
Figura 1: Alerta de malware independiente

Puertas traseras
puertas traseras de limpieza manual de malware

A menudo, el software malicioso independiente se propaga libremente como parte de un complemento o tema popular anulado (pirateado).

puerta trasera independiente en tema anulado
Figura 2: Puerta trasera independiente en tema pirateado

La figura anterior muestra parte de la puerta trasera independiente junto con la plantilla de sitio web anulada marcada por SMW-SA-15255-php.bkdr.wshll.wpnull24

Suplantación de identidad
limpieza manual de malware phishing

Otro gran ejemplo de archivos maliciosos independientes es el phishing. Por lo general, todas las infecciones de phishing son independientes. Aquí hay un ejemplo que imita el formulario de inicio de sesión de Google. SMW-SA-18231-html.phish :

archivo-de-phishing-independiente
Figura 3: archivo de phishing independiente
Herramientas de piratería
herramientas de piratería de limpieza manual de malware

La siguiente captura de pantalla muestra parte del kit de herramientas independiente para piratas informáticos de PHP producido por el grupo de piratas informáticos AnonymousFox y está marcado como SMW-BLKH-1246640-php.bkdr.anonfox.autoast

Herramienta de hacking AnonymousFox
Figura 4 – Herramienta de pirateo de AnonymousFox
Favicon falso
manual-malware-clean-up-falso-favicon

En la lista a continuación, hay archivos favicon .ico falsos que tienen un código malicioso en su interior.

Principales ubicaciones de archivos de malware idependiente que se ocultan como .ico: 

wp-content/.102ab028.ico

wp-includes/js/codemirror/.903876dc.ico

sites/favicon_3bedeb.ico

favicon_1c9d85.ico

wp-content/uploads/2015/02/init.locked.ico

wp-includes/apache.ico

cgi-bin/.a3269f8f.ico

wp-content/themes/twentyfourteen/suspected.client.ico

components/cookie.http.ico

wp-content/plugins/wordfence/vendor/wordfence/wf-waf/src/clases.session.ico

public_html/favicon.ico

public_html/fav.ico

wp-includes/js/tinymce/themes/css.db.ico

httpdocs/path/modes.session.ico

public_html/favicon11.ico

/sites/default/files/favicon.src.ico

/uploads/suspected.system.ico

¡Advertencia!

En algunos casos, el malware independiente puede pasar como un archivo de inclusión (include) mediante inyecciones de malware a algunos archivos legítimos en el sitio web. En este caso, eliminar el archivo independiente podría causar errores del lado del servidor 5xx o una pantalla blanca de la muerte (WSOD) para el sitio web. Para estar seguro, es obligatorio realizar una búsqueda desde el sitio web webroot para cualquier posible inclusión de archivos. Aquí hay un ejemplo de un comando CLI para buscar instrucciones de inclusión de malware WP-VCD no ofuscadas:

grep -r --include=*.php -e "class.plugin-modules.php" -e

"class.theme-modules.php" -e "wp-vcd.php" -e "wp-tmp.php" .

Este comando buscará dentro del código de todos los archivos PHP y devolverá los nombres de archivo que contienen alguna mención de los archivos de malware independientes detectados.

Alternativamente, los archivos maliciosos independientes podrían dejarse vacíos en lugar de eliminarse por completo para asegurarse de que cualquier inclusión sobrante no cause errores en el servidor.

Paso 3.2: Eliminación del malware inyectado

El tipo de inyección es un poco más complicado. Tienen el sufijo -INJ- en el veredicto. En este artículo se revisarán varios tipos de casos que pueden ocurrir, así como lo que se puede hacer para limpiar manualmente las inyecciones.

Redirección de inyección de JavaScript clasificada como SMW-INJ-18422-js.spam.redi
Figura 5: Inyección de JavaScript de redireccionamiento clasificada como  SMW-INJ-18422-js.spam.redi
Inyecciones de redirección
Manual-malware-clean-up-redirecting-inyecciones

Los 10 principales veredictos de redireccionamiento de malware:

SMW-INJ-16270-js.spam.redi

SMW-INJ-18008-js.spam.redi

SMW-INJ-17803-php.spam.drwy

SMW-INJ-16402-js.spam.redi

SMW-INJ-17738-js.spam.redi

SMW-INJ-17896-js.spam.redi

SMW-INJ-03990-html.drwy

SMW-INJ-04270-htcss.mlw

SMW-INJ-15453-js.spam.redi

SMW-INJ-18223-js.spam.redi

El malware de redireccionamiento generalmente redirige al usuario del sitio web a sitios de spam, sitios no deseados como productos farmacéuticos, sitios web para adultos, páginas de phishing o incluso intenta explotar el software vulnerable del cliente y comprometer el sistema.

Alerta de malware .htaccess
Figura 6 – Alerta de malware .htaccess

Aquí está la lista de tipos de redirección que cubre la mayor parte de ellos:

  • Truco de redirección en .htaccess . Ejemplo de redirección basada en inyección de regla .htaccess:
RewriteRule ^(.*),(.*)$ $2.php?rewrite_params=$1&page_url=$2

Otro ejemplo se muestra en la siguiente figura.

redirigir la inyección de .htaccess marcada por SMW-INJ-18736-htaccess.spam.redi
Figura 7: inyección de 
.htaccess de redireccionamiento marcada por SMW-INJ-18736-htaccess.spam.redi

  • Redirección oculta en los archivos principales de CMS. Por lo general, está oculto en wp-config.php . A veces, las inyecciones de malware de redireccionamiento están ocultas en archivos centrales como index.php, header.php, footer.php, wp-load.php, etc.

El malware de redirección de JavaScript infecta los archivos JavaScript ( .js ) o inyecta scripts de redirección en archivos PHP.
Ejemplo: SMW-INJ-16402-js.spam.redi-18

Alerta de malware de redirección de JavaScript
Figura 8: Alerta de malware de redirección de JavaScript
Mitigación:

1. Identifique el código de malware dentro del archivo. A veces puede ser bastante sencillo, en otros casos, la inyección puede estar oculta.

Aquí son posibles diferentes enfoques, por ejemplo:

  • comparando con viejas copias de seguridad limpias,
  • en comparación con el repositorio inicial/paquete del proveedor del CMS, tema, complemento, plantilla.

En la mayoría de los casos, también es posible identificar visualmente la inyección maliciosa:

  • código ofuscado dentro del código normal,
  • diferente tipo de formato,
  • sin saltos de línea (símbolos CR LF).

2. Limpie el malware usando un administrador de archivos del panel de control o CLI de Linux.

El siguiente ejemplo muestra un enlace de sitio web de redirección malicioso adjunto a un archivo JavaScript.

<script type= ' t ext/javascript' src= ' evil.com/y.js ' ></script>

Con el uso de un editor, se puede eliminar un dominio inyectado maliciosamente. Aquí ‘ evil.com ‘ es un ejemplo de un dominio de redireccionamiento malicioso.
Después de la eliminación:

<script type='text/javascript' src=''></script>

Por supuesto, la inyección puede ser mucho más complicada y la cantidad de código que debe eliminarse puede variar. El siguiente comando
$ php -l traget_file.php
se puede usar para asegurarse de que la sintaxis de PHP no se rompa después de la eliminación de la inyección.

3. En caso de que la inyección de malware haya estado presente en el archivo .htaccess , puede ser difícil, en algunos casos, identificar el inicio y el final de la inyección. La eliminación incorrecta de la inyección también podría romper la sintaxis del archivo .htaccess y provocar un mal funcionamiento del sitio web. Para evitar tales problemas para la limpieza de .htaccess , se recomienda restaurarlo desde la copia de seguridad limpia antes de que apareciera la infección o copiarlo desde el sitio web del proveedor del CMS utilizado. Por ejemplo, se pueden encontrar muestras de archivos .htaccess de WordPress usando este enlace . Y aquí está el enlace para Joomla!

Puertas traseras ocultas
manual-malware-clean-up-hidden-backdoors

Top 10 veredictos de puertas traseras inyectadas:

SMW-INJ-03431-php.bkdr.eval.oneliner

SMW-INJ-15535-php.bkdr.incl.wpnull24

SMW-INJ-14070-php.bkdr

SMW-INJ-04278-php.bkdr

SMW-INJ-03933-php.bkdr

SMW-INJ-06044-php.bkdr.wpvcd

SMW-INJ-17722-php.bkdr.exec

SMW-INJ-12444-php.bkdr

SMW-INJ-13122-php.bkdr.wp.remoto

SMW-INJ-03548-php.bkdr

Por lo general, las funciones PHP peligrosas como eval, file_get_contents, create_function, etc. que se encuentran en archivos ubicados en wp-includes , imágenes u otras ubicaciones no diseñadas para la ejecución directa de código PHP indican una inyección de malware. También pueden ser algunas inserciones específicas de CMS, como una función cuentagotas de usuario administrador o una función atacante de inicio de sesión automático (bajo administrador).

Alert for backdoor found wp-includes
Figure 9 – Alert for backdoor found wp-includes

Backdoor in vim editor
Figure 10 – Backdoor in vim editor

En el ejemplo anterior, la puerta trasera de WordPress permitía a los atacantes iniciar sesión automáticamente en el panel del administrador. Desafortunadamente, no siempre es fácil identificar visualmente la puerta trasera. Si hay disponibles archivos fuente limpios del software, es posible usar `diff` en la CLI del servidor o alguna herramienta en línea como diffnow para identificar el código inyectado:

Difference between the file infected by a backdoor and clean file
Figura 11 – Diferencia entre el archivo infectado por una puerta trasera y el archivo limpio

Mitigación:

La limpieza de tales inyecciones es similar a la sección anterior, ya sea mediante el uso del administrador de archivos del panel de control o cualquier editor CLI preferido para eliminar las inserciones de malware.

Inicio de la redirección de la inyección de PHP dentro del archivo de tema anulado marcado por SMW-INJ-13960-php.bkdr.wpvcd
Figura 11: comienzo de la redirección de la inyección de 
PHP dentro del archivo de tema anulado marcado por SMW-INJ-13960-php.bkdr.wpvcd
Malware de temas anulados (pirateados)
anulado-temas-malware

Top 10 inyecciones de temas anulados:

SMW-INJ-15535-php.bkdr.incl.wpnull24

SMW-SA-04892-php.bkdr.wpvcd

SMW-INJ-15539-php.bkdr.incl.wpnull24

SMW-INJ-12809-php.bkdr.wpvcd

SMW-INJ-06044-php.bkdr.wpvcd

SMW-INJ-03674-php.bkdr.wpvcd

SMW-INJ-13126-php.bkdr.wpvcd

SMW-SA-18218-php.bkdr.wpvcd

SMW-INJ-13129-php.bkdr.wpvcd

Una gran parte del panorama de malware moderno se obtiene mediante inyecciones provenientes de plantillas de CMS premium descifradas y anuladas. Muy a menudo, estas inyecciones se parecen al código de tema normal de WordPress.

Alerta de infección de WPVCD para el archivo principal de WordPress
Figura 12: alerta de infección de WPVCD para el archivo principal de WordPress

Aquí la inyección en sí parece bastante benigna:

Inyección WPVCD que ejecuta un archivo adicional que contiene un backdoor
Figura 13 – Inyección WPVCD que ejecuta un archivo adicional que contiene un backdoor

Las 10 principales ubicaciones de archivos incluidos de puerta trasera, algunas de ellas pueden ser malware independiente, otras no:

/wp-content/plugins/mplugin.php

/wp-content/themes/exampletheme/class.theme-modules.php

/wp-content/plugins/xmplplgn/functions/class.plugin-modules.php

/activos/.predeterminado

/wp-includes/js/tinymce/themes/themes.php

/wp-admin/css/colores/colores.php

/wp-content/uploads/2021/08/xuipenhd.php

/wp-content/uploads/woocommerce_uploads/ytxpdvte.php

/wp-content/plugins/monit.php

/modules/mod_wrapper/nepetfzv.php

Los temas anulados a menudo tienen una gran cantidad de inyecciones de puerta trasera en casi todos los archivos que contienen. Puede tomar algún tiempo limpiar todas las infecciones manualmente o requerirá algunas habilidades de codificación para automatizar la acción.

Mitigación:

La limpieza manual de un tema anulado puede ser complicada, ya que la versión limpia del software puede no estar disponible y en algunos casos puede ser difícil entender qué código se inyecta; la mejor opción aquí es restaurar el sitio web desde una copia de seguridad antes de la instalación del tema y reemplazarlo con una versión limpia (no pirateada). Como alternativa, siga los pasos anteriores descritos para malware independiente e inyectado para intentar limpiar los archivos manualmente.

Paso 4: Repita

Por último, después de realizar la limpieza, vuelva a escanear el sitio web y asegúrese de que no haya más malware presente en el sitio web. Si algo todavía está presente, repita los pasos de esta guía a partir del paso 2 .

Conclusión

conclusión de la limpieza manual de malware

Este artículo cubre más del 50% de los casos de infección que el equipo de procesamiento de malware de Imunify detectó durante el último mes. Naturalmente, podría haber otras variaciones de infecciones aún más complejas. Una descripción de cómo eliminar este tipo de malware no cabría en un artículo de blog.

Fuente:

https://blog.imunify360.com/manual-malware-cleanup

2 opiniones en “Limpieza manual de malware”

  1. hola buenos dias, tu guia me sirvio mucho, pero me quede con dudas de ciertas partes del veredicto que en mi caso el IS360 encontro:

    php.tool.spam-np105-2,php.bkdr.drpr-np30-1

    por favor ayudame explicandome o indicando un sitio o ebbok donde pueda encontrar mas definiciones acerca de las partes de ese veredicto, ejemplo que quiere decir: php.tool , spam-np105-2, php.bkdr.drpr-np30-1 etc. te agradeceria muchisimo.

    gracias.

    1. Hola Angelo.
      Los veredictos php.tool.spam-np105-2 y php.bkdr.drpr-np30-1 se refieren a tipos específicos de malware que pueden afectar sitios de WordPress.
      Para php.tool.spam-np105-2 sugiere que el malware está relacionado con herramientas de spam, mientras que php.bkdr.drpr-np30-1 es del tipo backdoor (puerta trasera) que permite a un atacante acceder y controlar el sitio web comprometido.
      Espero que te haya servido esta aclaración.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *