Guiones maliciosos. Buscamos y eliminamos códigos maliciosos en WordPress. Neutralización de scripts del servidor

WordPress es uno de los sistemas de gestión de contenidos más populares y se utiliza para diversos fines, desde blogs hasta comercio electrónico. Existe una amplia selección de complementos y temas de WordPress. Sucede que algunas de estas extensiones caen en manos de webmasters después de que algún atacante haya trabajado en ellas.

Para su propio beneficio, podría dejar en ellos enlaces publicitarios o código con el que gestionará su sitio. Muchos usuarios de WordPress no tienen mucha experiencia en programación web y no saben cómo manejar esta situación.

Para ellos, revisé nueve de las herramientas más efectivas para detectar cambios maliciosos en el código de un sitio web en ejecución o complementos instalados.

1. Verificador de autenticidad del tema (TAC)

Theme Authenticity Checker (TAC): complemento de WordPress que escanea cada tema establecido en busca de elementos sospechosos como enlaces invisibles o código cifrado Base64.

Una vez detectados dichos elementos, TAC los informa al administrador de WordPress, permitiéndole analizar de forma independiente y, si es necesario, corregir los archivos del tema fuente:

2. Explorador de exploits

Exploit Scanner escanea todo el código fuente de su sitio y el contenido de la base de datos de WordPress en busca de inclusiones cuestionables. Al igual que TAC, este complemento no previene ataques ni combate sus consecuencias automáticamente.

Solo muestra los síntomas de infección detectados al administrador del sitio. Si quieres eliminar código malicioso, tendrás que hacerlo manualmente:

3. Seguridad Sucurí

Sucuri es una conocida solución de seguridad de WordPress. El complemento Sucuri Security monitorea los archivos cargados en un sitio de WordPress, mantiene su propia lista de amenazas conocidas y también le permite escanear el sitio de forma remota utilizando el escáner gratuito Sucuri SiteCheck. Detrás cuota de suscripción Puede fortalecer aún más la protección de su sitio instalando el poderoso Firewall de sitios web Sucuri:

4. Antimalware

Anti-Malware es un complemento para WordPress que puede buscar y eliminar scripts troyanos, puertas traseras y otros códigos maliciosos.

Las configuraciones de escaneo y eliminación se pueden personalizar. Este complemento se puede utilizar después de registrarse de forma gratuita en gotmls.

El complemento accede periódicamente al sitio web del fabricante, transmite estadísticas de detección de malware y recibe actualizaciones. Por lo tanto, si no desea instalar complementos en su sitio que controlen su funcionamiento, debe evitar el uso de Anti-Malware:

5. Protección del sitio antivirus de WP

WP Antivirus Site Protection es un complemento que escanea todos los archivos cargados en un sitio, incluidos los temas de WordPress.

El complemento tiene su propia base de datos de firmas, que se actualiza automáticamente a través de Internet. Puede eliminar amenazas automáticamente, notificar al administrador del sitio mediante correo electrónico Y mucho más.

El complemento se instala y funciona de forma gratuita, pero tiene varios complementos pagos a los que vale la pena prestar atención:

6. Antivirus para WordPress

AntiVirus para WordPress es un complemento fácil de usar que puede escanear su sitio con regularidad y notificarle sobre problemas de seguridad por correo electrónico. El complemento tiene una lista blanca personalizable y otras características:

7. Escáner de malware web Quterra

El escáner de Quterra comprueba un sitio web en busca de vulnerabilidades, inyecciones de código de terceros, virus, puertas traseras, etc. El escáner tiene características tan interesantes como el escaneo heurístico y la detección de enlaces externos.

Las funciones básicas del escáner son gratuitas, mientras que algunos servicios adicionales le costarán $60 por año:

8. Valla de palabras

Si está buscando una solución integral a los problemas de seguridad de su sitio web, no busque más que Wordfence.

Este complemento proporciona protección constante para WordPress contra tipos conocidos de ataques, autenticación de dos factores, soporte para una "lista negra" de direcciones IP de computadoras y redes utilizadas por piratas informáticos y spammers, y escanea el sitio en busca de puertas traseras conocidas.

Este complemento es gratuito en su versión básica, pero también tiene una funcionalidad premium, por la que el fabricante solicita una modesta tarifa de suscripción:

9.Wemahu

Wemahu monitorea los cambios en el código de su sitio y busca códigos maliciosos.

La base de datos en la que se detecta el malware se repone mediante el método de crowdsourcing: los propios usuarios la reponen enviando los resultados del análisis de las instalaciones de WordPress infectadas al sitio web del autor del complemento. El complemento también admite el envío de informes por correo electrónico y otras funciones útiles.

Hay que hacerlo juntos. Si elimina la causa original del hack (por ejemplo, una vulnerabilidad en la extensión CMS), pero no elimina todos los archivos maliciosos, el atacante podrá volver a acceder al sitio utilizando uno de sus scripts. Si elimina todos los scripts maliciosos descargados, pero no elimina la causa del hack, el atacante podrá hackear el sitio nuevamente y descargar scripts nuevamente.

Un especialista con el conocimiento y la experiencia adecuados debe realizar trabajos para eliminar scripts maliciosos y analizar las causas del hackeo:

  • Para eliminar scripts maliciosos, necesita conocimientos del lenguaje de programación PHP, así como conocimiento del "interno" de los CMS populares (Joomla, WordPress, etc.) y sus extensiones. Este conocimiento es necesario para distinguir los scripts directamente del CMS y sus extensiones de archivos extraños, así como para poder determinar sin ambigüedades qué acciones realizan cuando se encuentran con scripts dudosos.
  • Para analizar las causas de la piratería, se requiere experiencia en administración de servidores. Esto es necesario para analizar el estado de los archivos de la cuenta, la hora en que fueron modificados y también comparar estos datos con los registros del servidor para determinar qué acciones del atacante condujeron al pirateo de los sitios.

Por lo tanto, si su sitio ha sido pirateado, se recomienda, para evitar ataques repetidos, no hacer el trabajo usted mismo, sino contactar a un especialista que realizará los diagnósticos necesarios y recomendará o realizará acciones necesarias para solucionar el problema, y ​​quién puede garantizar la calidad del resultado obtenido.

Sin embargo, existen una serie de medidas que en algunos casos ayudan a restablecer el funcionamiento seguro del sitio sin conocimientos especiales. La limitación del método siguiente es que para reanudar el funcionamiento del sitio, se requiere una copia de seguridad creada antes del hackeo. Si se desconoce la fecha de la infracción, puede probar este método utilizando la copia de seguridad más antigua disponible. La segunda limitación, como consecuencia de la primera, es que después de restaurar el sitio, se crean los datos agregados al sitio después de la restauración (por ejemplo, nuevos artículos, imágenes o documentos). Si necesita restaurar el sitio conservando nuevos datos, debe comunicarse con un especialista.

Estas medidas no nos permiten determinar la causa del hackeo del sitio, pero cada una de ellas tiene como objetivo eliminar una de las posibles causas de penetración. Dado que se desconoce el motivo exacto del hack, es necesario realizarlos todos. Las acciones están dispuestas en tal orden que primero se elimine por completo la posibilidad de que el atacante continúe con sus actividades en el sitio o cuenta de alojamiento en actualmente y luego evitar que un atacante ingrese al sitio en el futuro.

Los pasos a continuación suponen que solo tiene un sitio web en su cuenta de hosting. Si hay varios sitios en la cuenta, también podrían piratearse y el sitio podría piratearse a través de ellos. Es necesario transferir el sitio con el que se están realizando los trabajos de restauración a una cuenta separada o realizar la restauración para todos los sitios alojados en la cuenta al mismo tiempo.

El orden de las acciones es importante, por lo que es necesario realizarlas en el orden exacto en el que se encuentran a continuación.

  • Inmediatamente después de descubrir que un sitio ha sido pirateado, es necesario bloquear completamente el acceso de los visitantes al mismo. Esto, en primer lugar, evitará que el atacante realice actividades maliciosas en el sitio y, en segundo lugar, no le permitirá interferir con los trabajos de restauración. Este paso es muy importante, ya que la eliminación de scripts maliciosos y la eliminación de la causa del hack no se realizan de la noche a la mañana; por regla general, lleva varias horas. Si el sitio sigue siendo accesible desde el exterior, el atacante podrá volver a cargar scripts en la sección del sitio que ya ha sido borrada. En este caso, un atacante puede utilizar diferentes direcciones IP para conectarse, por lo que negar el acceso sólo a una lista de direcciones IP no funcionará. Para garantizar que el sitio esté limpio de scripts maliciosos detectados, es necesario bloquear completamente la capacidad del atacante para acceder al sitio, lo que sólo se puede hacer bloqueando completamente el sitio para cualquier visitante. Contacta con el servicio de soporte técnico del hosting que aloja tu sitio para bloquearlo.
  • Después de bloquear el sitio, debe verificar las computadoras desde las cuales estaba trabajando con el sitio con un antivirus moderno con bases de datos de virus actualizadas. Si el sitio fue pirateado robando las contraseñas de las cuentas utilizando un virus, debe asegurarse de que el trabajo adicional con el sitio pirateado se realice desde una computadora que no tenga virus; de lo contrario, después de cambiar las contraseñas de acceso, pueden ser robadas nuevamente.
  • Después de bloquear el sitio y verificar si hay virus, debe cambiar todas las contraseñas de acceso a su cuenta: acceso vía FTP, vía SSH, así como acceso al panel de control del hosting. Si un atacante accedió a los archivos de la cuenta utilizando uno de estos métodos, una vez que se cambien las contraseñas, ya no podrá hacerlo.
  • Después de cambiar las contraseñas, debe destruir todos los procesos del servidor que se ejecutan en la cuenta en la que se mantiene el sitio. Los procesos iniciados por un atacante en segundo plano, sin ser destruidos, podrán reemplazar los scripts maliciosos en el sitio después de que se lleven a cabo los trabajos de restauración. Para evitar que esto suceda, se deben destruir todos los procesos que se ejecutaban antes de que se bloqueara el sitio. El sitio ya debería estar bloqueado en este momento para que el atacante no pueda iniciar nuevos procesos accediendo a uno de sus scripts en el sitio. Para destruir los procesos que se ejecutan en su cuenta, comuníquese con el servicio de soporte técnico del alojamiento que aloja su sitio.
  • Ahora es imposible penetrar el sitio desde el exterior y puedes comenzar a restaurarlo.
  • Antes de realizar otras acciones, elimine todos los archivos del sitio existentes para asegurarse de que no haya scripts maliciosos o scripts CMS en los que el atacante haya insertado código malicioso. Este paso también es importante porque al restaurar un sitio desde una copia de seguridad, los archivos que existían antes de la restauración no siempre se eliminan. Si, después de restaurar desde una copia de seguridad, quedan scripts maliciosos antiguos en el sitio, el atacante podrá volver a ingresar al sitio. Puede evitar esto eliminando todos los archivos del sitio antes de realizar la recuperación.
  • Después de eliminar todos los archivos del sitio, restaure el sitio a partir de una copia de seguridad creada antes de que fuera pirateado. A menudo es suficiente restaurar solo los archivos del sitio, pero si después de restaurarlos se observan errores en el funcionamiento del sitio, es necesario restaurar el sitio por completo: tanto los archivos como la base de datos.
  • Después de restaurar desde una copia de seguridad, actualice su sistema de administración de contenido (CMS) y sus extensiones a las últimas versiones. Esto es necesario para excluir la presencia de vulnerabilidades conocidas en el sitio a través de las cuales podría ser pirateado. Como regla general, la actualización se puede realizar a través de la sección de administración del CMS. por conseguir instrucciones completas Para actualizar el CMS, debe ir al sitio web del desarrollador del sistema. Es importante actualizar no solo el CMS en sí, sino también todas sus extensiones, ya que la piratería a menudo ocurre a través de una vulnerabilidad presente en una de las extensiones del CMS (por ejemplo, complementos, temas, widgets, etc.). En este momento, todavía es imposible desbloquear el sitio para los visitantes, ya que aún puede ser vulnerable. Para acceder a su sitio para actualizarlo, comuníquese con el soporte técnico del alojamiento que aloja su sitio y solicite permitir el acceso al sitio solo desde la dirección IP de su computadora. Puede averiguar su dirección IP, por ejemplo, en inet.yandex.ru.
  • Después de actualizar el sistema de administración del sitio y sus extensiones, vaya a la sección de administración del sitio y cambie la contraseña de acceso del administrador. Asegúrese de que entre los usuarios del sitio no haya otros usuarios con privilegios administrativos (podrían haber sido agregados por un atacante) y, si encuentra alguno, elimínelo.
  • Ahora que el sitio ha sido restaurado desde una copia de seguridad y no contiene scripts maliciosos, el CMS y sus extensiones se han actualizado a las últimas versiones que no contienen vulnerabilidades y se han cambiado las contraseñas para acceder al sitio y a la cuenta de alojamiento, usted puede reabrir el sitio a los visitantes.
  • Todas las acciones anteriores deben realizarse de acuerdo con el orden especificado, sin omisiones ni cambios. Si las acciones se realizan de forma incorrecta, es posible que queden scripts maliciosos o vulnerabilidades en el sitio, por lo que un atacante puede volver a piratearlo al poco tiempo. Si por alguna razón no es posible realizar los pasos anteriores en la forma en que se indican, comuníquese con un especialista para que realice trabajos de restauración del sitio después de un hack.

    Para proteger su sitio de ataques repetidos en el futuro, debe seguir las siguientes recomendaciones:
  • Realice un seguimiento de las actualizaciones del CMS y sus extensiones en los sitios web de los desarrolladores y actualícelos rápidamente a las últimas versiones. Si un comentario de actualización indica que corrige una vulnerabilidad, instale la actualización lo antes posible.
  • Trabaje con el sitio y la cuenta de hosting solo desde computadoras que estén protegidas contra virus por antivirus modernos con bases de datos de virus constantemente actualizadas.
  • Utilice contraseñas complejas para que no puedan adivinarse mediante una búsqueda en el diccionario.
  • No guarde las contraseñas FTP y SSH en programas para conectarse al sitio, y no guarde la contraseña de acceso al área administrativa del sitio y al panel de control de hosting en su navegador.
  • De vez en cuando (por ejemplo, una vez cada tres meses), cambie las contraseñas para acceder al sitio y a la cuenta de alojamiento.
  • Si se detectaron virus en la computadora desde la que estaba trabajando con el sitio, cambie las contraseñas para acceder al sitio y a la cuenta de alojamiento lo más rápido posible. Debe cambiar todas las contraseñas: contraseñas de acceso vía FTP, SSH, la contraseña del panel administrativo del sitio, así como la contraseña del panel de control del hosting.
  • No proporcione acceso al sitio a terceros a menos que esté seguro de que ellos también seguirán estas pautas.
  • El código malicioso ingresa al sitio por negligencia o intención maliciosa. Los propósitos del código malicioso varían, pero esencialmente daña o interfiere con el funcionamiento normal de un sitio web. Para eliminar código malicioso en WordPress, primero debes encontrarlo.

    ¿Qué es el código malicioso en un sitio de WordPress?

    Por apariencia En la mayoría de los casos, el código malicioso es un conjunto de letras y símbolos del alfabeto latino. De hecho, se trata de un código cifrado mediante el cual se realiza tal o cual acción. Las acciones pueden ser muy diferentes, por ejemplo, sus nuevas publicaciones se publican inmediatamente en un recurso de terceros. Básicamente, esto es robar tu contenido. Los códigos también tienen otras “tareas”, por ejemplo, colocar enlaces salientes en las páginas del sitio. Las tareas pueden ser las más sofisticadas, pero una cosa está clara: es necesario buscar y eliminar los códigos maliciosos.

    ¿Cómo llegan los códigos maliciosos a un sitio web?

    También hay muchas lagunas para que los códigos ingresen al sitio.

  • La mayoría de las veces, se trata de temas y complementos descargados de recursos "izquierdos". Sin embargo, esta penetración es típica de los llamados enlaces cifrados. El código explícito no termina en el sitio.
  • La penetración de un virus cuando se piratea un sitio es la más peligrosa. Como regla general, piratear un sitio le permite colocar no solo un "código de un solo uso", sino también instalar código con elementos de malware ( malware). Por ejemplo, encuentra un código y lo elimina, pero se restaura después de un tiempo. Nuevamente hay muchas opciones.
  • Permítanme señalar de inmediato que combatir estos virus es difícil y que la eliminación manual requiere conocimientos. Hay tres soluciones al problema: la primera solución es utilizar complementos antivirus, por ejemplo, un complemento llamado BulletProof Security.

    Esta solución da buenos resultados, pero lleva tiempo, aunque sea un poco. Existe una solución más radical para deshacerse de los códigos maliciosos, incluidos los virus complejos, que consiste en restaurar el sitio a partir de copias de seguridad realizadas previamente.

    Como un buen webmaster hace esto periódicamente, puedes volver a una versión no infectada sin ningún problema. La tercera solución es para ricos y perezosos: basta con ponerse en contacto con una “oficina” especializada o con un especialista individual.

    Cómo buscar código malicioso en WordPress

    Es importante comprender que el código malicioso en WordPress puede estar en cualquier archivo del sitio y no necesariamente en el tema de trabajo. Puede crear un complemento, un tema o un código "hecho en casa" extraído de Internet. Hay varias formas de intentar encontrar código malicioso.

    Método 1: manualmente. Se desplaza por todos los archivos del sitio y los compara con los archivos de una copia de seguridad no infectada. Si encuentra el código de otra persona, elimínelo.

    Método 2: uso de complementos de seguridad de WordPress. Por ejemplo, . Este complemento tiene una gran característica: escanea los archivos del sitio en busca de código de otras personas y el complemento hace frente a esta tarea perfectamente.

    Método 3. Si tiene un soporte de alojamiento razonable y le parece que hay alguien más en el sitio, pídale que escanee su sitio con su antivirus. Su informe enumerará todos los archivos infectados. A continuación, abra estos archivos en editor de texto y eliminar código malicioso.

    Método 4. Si puede trabajar con acceso SSH al directorio del sitio, adelante, tiene su propia cocina.

    ¡Importante! No importa cómo busque código malicioso, antes de buscar y luego eliminar el código, cierre el acceso a los archivos del sitio (active el modo de mantenimiento). Recuerde los códigos que se restauran cuando se eliminan.

    Busque códigos maliciosos utilizando la función de evaluación

    Existe una función de este tipo en PHP llamada eval. Le permite ejecutar cualquier código en su línea. Además, el código se puede cifrar. Es debido a la codificación que el código malicioso parece un conjunto de letras y símbolos. Dos codificaciones populares son:

  • Base64;
  • podredumbre13.
  • En consecuencia, en estas codificaciones la función eval se ve así:

    • evaluación(base64_decode(...))
    • eval (str_rot13 (...)) //entre comillas internas, conjuntos de letras y símbolos largos y poco claros..

    El algoritmo para buscar código malicioso mediante la función eval es el siguiente (trabajamos desde el panel administrativo):

    • vaya al editor del sitio (Apariencia → Editor).
    • Copie el archivo funciones.php.
    • ábrelo en un editor de texto (por ejemplo, Notepad++) y busca la palabra: eval.
    • Si lo encuentra, no se apresure a eliminar nada. Debe comprender qué “pide” que se realice esta función. Para entender esto, es necesario decodificar el código. Para decodificar existen herramientas online llamadas decodificadores.
    Decodificadores/Codificadores

    Los decodificadores funcionan de forma sencilla. Copias el código que deseas descifrar, lo pegas en el campo decodificador y lo decodificas.

    En el momento de escribir este artículo, no encontré ni un solo código cifrado en WordPress. Encontré el código en el sitio web de Joomla. En principio, no hay diferencia en la comprensión de la decodificación. Miremos la foto.

    Como puede ver en la foto, la función de evaluación, después de la decodificación, no mostró un código terrible que amenace la seguridad del sitio, sino un enlace de derechos de autor cifrado del autor de la plantilla. También se puede eliminar, pero volverá después de actualizar la plantilla si no utiliza .

    En conclusión, me gustaría señalar que para no recibir virus en el sitio:

    • El código malicioso en WordPress suele venir con temas y complementos. Por lo tanto, no instale plantillas y complementos de recursos "izquierdos" no verificados y, si lo hace, verifique cuidadosamente la presencia de enlaces y funciones ejecutivas de PHP. Después de instalar complementos y temas de recursos "ilegales", consulte el sitio con un software antivirus.
    • Asegúrese de realizar copias de seguridad periódicas y realizar otras.

    1. Descomprímalo en la carpeta del sitio.
    2. siga el enlace su_sitio/fscure/
    3. todo

    ¿Qué puede hacer él?

    1. Búsqueda automática de virus por firmas.
    2. Busque una cadena en archivos.
    3. Eliminar archivos
    4. Parchear código malicioso usando expresiones regulares

    El guión no hará todo el trabajo por usted y requiere un conocimiento mínimo. Se recomienda hacer una copia de seguridad del sitio antes de trabajar.

    ¿Como funciona?

    Cuando se inicia por primera vez, crea un índice de archivos. El archivo fscure.lst está en la carpeta. Muestra una lista de archivos que contienen firmas potencialmente maliciosas. “Potencialmente malicioso” significa que tendrás que decidir si se trata de un virus o no. La lista de firmas se configura en el archivo config.php, constante SCAN_SIGN. Con la configuración predeterminada, el script no verifica los archivos js y no contiene firmas para ellos.

    Problemas más comunes

    1. no crea el índice fscure.lst. Puede suceder si no hay suficientes derechos. Pon 777 en la carpeta fscure

    2. Error 5xx. Más a menudo "Tiempo de espera de puerta de enlace 504". El script no tiene tiempo de procesarse y falla debido a un tiempo de espera. En este caso, existen varias formas de acelerar su trabajo. La velocidad depende principalmente del tamaño del índice. Está en el archivo fscure.lst. Normalmente, se puede procesar un archivo de hasta 5 MB en el 90% de los casos. Si no tiene tiempo, puede reducir la "codicia" del script prohibiendo escanear *.jpg;*.png;*.css en la configuración.
    En el archivo config.php.

    // delimitador; define("FILES_EXCLUDE","*.js;*.jpg;*.png;*.css");

    3. El hosting emite una advertencia como
    (HEX)base64.inject.unclassed.6: u56565656: /var/www/u65656565/data/www/34535335353.ru/fscure/index.php

    No hay ningún virus en el guión y nunca lo hubo. Y (HEX)base64.inject.unclassed.6 es una construcción como "echo base64_decode(" , que se encuentra a menudo y en sí misma es bastante inofensiva. Sin embargo, en ultima versión, reemplacé este código.

    ¿Qué hacer si no pudo encontrar el virus usted mismo?

    Puedes contactarme para obtener ayuda. Mis tarifas son modestas. Garantizo mi trabajo por 6 meses. El coste del trabajo es de 800 rublos. para 1 sitio. Si hay varios sitios en su cuenta, el precio se determina individualmente.

    Si lograra hacer todo usted mismo, le agradecería una recompensa financiera o un enlace a mi sitio.

    Mis requisitos:
    Yandex
    41001151597934

    dinero web
    Z959263622242
    R356304765617
    E172301357329

    La verdad de la vida es que el sitio puede ser pirateado tarde o temprano. Después de explotar con éxito la vulnerabilidad, el pirata informático intenta afianzarse en el sitio colocando shells web y descargadores de piratas informáticos en los directorios del sistema e introduciendo puertas traseras en el código script y la base de datos CMS.

    Los escáneres ayudan a detectar shells web cargados, puertas traseras, páginas de phishing, correos electrónicos no deseados y otros tipos de scripts maliciosos: todo lo que conocen y se agrega previamente a la base de datos de firmas de códigos maliciosos. Algunos escáneres, como AI-BOLIT, tienen un conjunto de reglas heurísticas que pueden detectar archivos con códigos sospechosos que se utilizan a menudo en scripts maliciosos, o archivos con atributos sospechosos que los piratas informáticos pueden descargar. Pero, desafortunadamente, incluso si se utilizan varios escáneres en el alojamiento, puede haber situaciones en las que algunos scripts de piratas informáticos no se detecten, lo que en realidad significa que el atacante se queda con una "puerta trasera" y puede piratear el sitio y obtener control sobre él. control total en cualquier momento.

    Los scripts de malware y piratas informáticos modernos son significativamente diferentes a los de hace 4 o 5 años. Actualmente, los desarrolladores de códigos maliciosos combinan ofuscación, cifrado, descomposición, carga externa de códigos maliciosos y otros trucos para engañar al software antivirus. Por lo tanto, la probabilidad de que se pierda nuevo malware es mucho mayor que antes.

    ¿Qué se puede hacer en este caso para detectar de forma más eficaz virus en el sitio y scripts de piratas informáticos en el alojamiento? Es necesario utilizar un enfoque integrado: escaneo automatizado inicial y análisis manual posterior. Este artículo analizará opciones para detectar códigos maliciosos sin escáneres.

    Primero, veamos qué debes buscar exactamente durante un hack.

  • Guiones de piratas informáticos.
    La mayoría de las veces, durante la piratería, los archivos que se descargan son shells web, puertas traseras, "cargadores", scripts para correos no deseados, páginas de phishing + controladores de formularios, puertas y archivos de marcadores de piratería (imágenes del logotipo del grupo de piratas informáticos, archivos de texto con un “mensaje” de hackers, etc.)
  • Inyecciones (inyecciones de código) en archivos .
    El segundo tipo más popular de alojamiento de códigos maliciosos y de piratas informáticos son las inyecciones. Se pueden inyectar redirecciones móviles y de búsqueda en archivos .htaccess de sitios existentes, se pueden inyectar puertas traseras en scripts php/perl y se pueden incrustar fragmentos virales de JavaScript o redirecciones a recursos de terceros en plantillas .js y .html. Las inyecciones también son posibles en archivos multimedia, por ejemplo.jpg o. A menudo, el código malicioso consta de varios componentes: el código malicioso en sí se almacena en el encabezado exif del archivo jpg y se ejecuta mediante un pequeño script de control, cuyo código no parece sospechoso para el escáner.
  • Inyecciones de bases de datos.
    La base de datos es el tercer objetivo de un hacker. Aquí son posibles inserciones estáticas, , , , que redirigen a los visitantes a recursos de terceros, los "espían" o infectan la computadora/dispositivo móvil del visitante como resultado de un ataque desde un vehículo.
    Además, en muchos motores de plantillas CMS modernos (IPB, vBulletin, modx, etc.) le permiten ejecutar codigo php, y las plantillas en sí se almacenan en la base de datos, por lo que el código PHP de los shells web y las puertas traseras se puede integrar directamente en la base de datos.
  • Inyecciones en servicios de caché.
    Como resultado de una configuración incorrecta o insegura de los servicios de almacenamiento en caché, por ejemplo, Memcached, es posible realizar inyecciones en los datos almacenados en caché "sobre la marcha". En algunos casos, un pirata informático puede inyectar código malicioso en las páginas de un sitio sin piratear el sitio directamente.
  • Inyecciones/elementos iniciados en componentes del sistema servidor.
    Si un hacker ha obtenido acceso privilegiado (root) al servidor, puede reemplazar elementos del servidor web o del servidor de caché por otros infectados. Un servidor web de este tipo, por un lado, proporcionará control sobre el servidor mediante comandos de control y, por otro lado, introducirá de vez en cuando redireccionamientos dinámicos y códigos maliciosos en las páginas del sitio. Como en el caso de una inyección en un servicio de almacenamiento en caché, lo más probable es que el administrador del sitio no pueda detectar el hecho de que el sitio ha sido pirateado, ya que todos los archivos y la base de datos serán originales. Esta opción es la más difícil de tratar.
  • Entonces, supongamos que ya revisó los archivos en el alojamiento y el volcado de la base de datos con escáneres, pero no encontraron nada y el virus todavía está en la página o la redirección móvil continúa funcionando al abrir páginas. ¿Cómo buscar más?

    búsqueda manual

    En Unix, es difícil encontrar un par de comandos más valiosos para buscar archivos y fragmentos que find/grep.

    encontrar . -nombre '*.ph*' -mtime -7

    encontrará todos los archivos que se han modificado en la última semana. A veces, los piratas informáticos “distorsionan” la fecha de modificación de los scripts para no detectar nuevos scripts. Luego puede buscar archivos php/phtml cuyos atributos hayan cambiado

    encontrar . -nombre '*.ph*' -сhora -7

    Si necesita encontrar cambios en un intervalo de tiempo determinado, puede utilizar la misma búsqueda

    encontrar . -nombre '*.ph*' -newermt 2015-01-25! -noticia 2015-01-30 -ls

    Para buscar archivos, grep es indispensable. Puede buscar recursivamente a través de archivos un fragmento específico

    grep -ril 'stummann.net/steffen/google-analytics/jquery-1.6.5.min.js' *

    Al hackear un servidor, es útil analizar archivos que tienen configurado el indicador guid/suid

    buscar / -perm -4000 -o -perm -2000

    Para determinar qué scripts se están ejecutando actualmente y están cargando la CPU de alojamiento, puede llamar

    lsof +r 1 -p `ps axww | grephttpd | grep -v grep | awk ' ( if(!str) ( str= ) else ( str=str””))END(print str)’` | grep hosts virtuales | grepphp

    Usamos nuestro cerebro y nuestras manos para analizar archivos en el hosting.
  • Vamos a los directorios de carga, caché, tmp, copia de seguridad, registro e imágenes, en los que los scripts escriben algo o lo cargan los usuarios, y escaneamos el contenido en busca de nuevos archivos con extensiones sospechosas. Por ejemplo, para Joomla, puede verificar los archivos .php en el directorio imágenes: buscar ./images -name '*.ph*'. Lo más probable es que, si se encuentra algo, sea malware.
    Para WordPress, tiene sentido comprobar si hay scripts en el directorio wp-content/uploads, en los directorios de temas de copia de seguridad y de caché.
  • Buscando archivos con nombres extraños
    Por ejemplo, php, para tu información.php, n2fd2.php. Se pueden buscar archivos
    • - mediante combinaciones de caracteres no estándar,
    • - la presencia de los números 3,4,5,6,7,8,9 en el nombre del archivo
  • Buscamos archivos con extensiones inusuales.
    Digamos que tiene un sitio web en WordPress o para ellos los archivos con extensiones .py, .pl, .cgi, .so, .c, .phtml, .php3 no serán del todo comunes. Si se detectan scripts y archivos con estas extensiones, lo más probable es que sean herramientas de piratas informáticos. El porcentaje de detecciones falsas es posible, pero no es elevado.
  • Buscamos archivos con atributos o fecha de creación no estándar
    La sospecha puede deberse a archivos con atributos diferentes a los existentes en el servidor. Por ejemplo, todos los scripts .php se cargaron a través de ftp/sftp y tienen el usuario usuario, y algunos fueron creados por el usuario www-data. Tiene sentido consultar los últimos. O si la fecha de creación del archivo de script es anterior a la fecha de creación del sitio.
    Para acelerar la búsqueda de archivos con atributos sospechosos, es conveniente utilizar el comando buscar de Unix.
  • Buscamos puertas utilizando una gran cantidad de archivos .html o .php.
    Si hay varios miles de archivos .php o .html en el directorio, lo más probable es que se trate de una puerta de entrada.
  • Registros para ayudar

    Se pueden utilizar servidores web, servicios de correo electrónico y registros FTP para detectar scripts maliciosos y de piratas informáticos.

    • Correlación de la fecha y hora de envío de la carta (que se puede encontrar en el registro servidor de correo o encabezado de servicio de una carta de spam) con solicitudes de ayuda de access_log para identificar el método de envío de spam o encontrar el script del remitente del spam.
    • El análisis del registro de transferencia FTP xferlog le permite comprender qué archivos se descargaron en el momento del hack, cuáles fueron modificados y quién.
    • En un registro del servidor de correo configurado correctamente o en el encabezado del servicio de un correo electrónico no deseado, si PHP está configurado correctamente, habrá un nombre o una ruta completa al script de envío, lo que ayuda a determinar la fuente del spam.
    • Utilizando los registros de protección proactiva de los CMS y complementos modernos, puede determinar qué ataques se llevaron a cabo en el sitio y si el CMS pudo resistirlos.
    • Usando access_log y error_log, puede analizar las acciones de un hacker si conoce los nombres de los scripts que llamó, la dirección IP o el agente de usuario. Como último recurso, puede ver las solicitudes POST del día en que el sitio fue pirateado e infectado. A menudo, el análisis le permite encontrar otros scripts de piratas informáticos que se descargaron o que ya estaban en el servidor en el momento del pirateo.
    control de integridad

    Es mucho más fácil analizar un hack y buscar scripts maliciosos en un sitio web si cuidas su seguridad con antelación. El procedimiento de verificación de integridad ayuda a detectar oportunamente cambios en el alojamiento y determinar el hecho de la piratería. Uno de los más simples y formas efectivas– poner el sitio bajo el sistema de control de versiones (git, svn, cvs). Si configura .gitignore correctamente, el proceso de control de cambios parece llamar al comando git status, y la búsqueda de scripts maliciosos y archivos modificados parece git diff.

    Además siempre tendrás Copia de respaldo archivos a los que puede "revertir" el sitio en cuestión de segundos. Los administradores de servidores y los webmasters avanzados pueden utilizar inotify, tripwire, auditd y otros mecanismos para rastrear el acceso a archivos y directorios, y monitorear los cambios en el sistema de archivos.

    Desafortunadamente, no siempre es posible configurar un sistema de control de versiones o servicios de terceros en el servidor. En el caso de hosting compartido no será posible instalar un sistema de control de versiones y servicios del sistema. Pero no importa, existen bastantes soluciones listas para usar para CMS. Puede instalar un complemento o un script separado en el sitio que rastreará los cambios en los archivos. Algunos CMS ya implementan un monitoreo de cambios efectivo y un mecanismo de verificación de integridad (por ejemplo, Bitrix, DLE). Como último recurso, si el hosting tiene ssh, puedes crear un elenco de referencia. sistema de archivos equipo

    Promoción “2 por el precio de 1”

    La promoción es válida hasta fin de mes.

    Cuando activa el servicio "Sitio bajo vigilancia" para un sitio web, el segundo en la misma cuenta se conecta de forma gratuita. Sitios posteriores en la cuenta: 1500 rublos por mes para cada sitio.

    
    Arriba