Guía para las infecciones de CryptoPHP

Descripción del problema

CryptoPHP es una amenaza que utiliza temas y complementos de CMS (como Joomla, WordPress, Drupal, etc.) infectados con puerta trasera para comprometer servidores web a gran escala. Al publicar temas y complementos pirateados gratis para que cualquier persona los use sin pagarlos, los ciberdelincuentes hacen uso de un simple truco de ingeniería social, atrayendo a los administradores del sitio para instalar la puerta trasera incluida en sus sitios web.

Utiliza varios dominios codificados para comunicarse con servidores centralizados de comando y control (C&C), con la encriptación RSA para proteger sus comunicaciones con esos servidores. Algunas versiones también tienen la capacidad de comunicarse por correo electrónico si esos dominios se han cerrado. El malware PHPCrypto se puede actualizar solo, puede inyectar contenido en los sitios comprometidos en los que se aloja, así como realizar otras funciones en nombre del atacante.

El objetivo principal de CryptoPHP es el de realizar operaciones de Black Hat SEO (trampas en la optimización de motores de búsqueda) que mejoran la clasificación de los sitios controlados por los atacantes o sus clientes, lo que les ayuda a verse como sitios legítimos o un consultor legítimo de SEO. 

Antecedentes del problema

Este tipo de infección en sitios web existe, supuestamente, desde septiembre de 2013.

Plataformas afectadas

Todas las plataformas están afectadas.

Realizar una verificación

La detección de la infección es relativamente simple. Dentro de un script anulado, hay una pequeña línea de código que se ve así:

<?php include('assets/images/social.png'); ?>

A algunos les podría parecer un poco extraña.  Esta es una función de PHP que incluye un archivo que debería contener un código fuente de PHP, pero que contiene un archivo de imagen.  El archivo de imagen al que hace referencia es, en realidad, código PHP, pero está ofuscado (codificado, pero legible por el intérprete PHP).

Fox-IT (https://www.fox-it.com/) creó un script en Python para ayudar a los administradores a detectar e identificar código relacionado con CryptoPHP.   Se necesita Python para ejecutar los scripts (preferentemente, la versión 2.7).  Se pueden obtener y ejecutar los scripts muy fácilmente.

1. Descargue el script y hágalo ejecutable:

$ wget https://raw.githubusercontent.com/fox-it/cryptophp/master/scripts/c...
$ chmod +x check_filesystem.py

 2. Para analizar todo el sistema (puede tomar un tiempo), ejecute:

./check_filesystem.py

     O analice un directorio específico; por ejemplo, /home:

./check_filesystem.py /home

3. Los archivos se reportarán como sospechosos o confirmarán el shell de CryptoPHP de la siguiente manera:

File matching patterns: ['*.png', '*.gif', '*.jpg', '*.bmp']
Recursively scanning directory: /
 /home/www/social.png: CRYPTOPHP DETECTED! (version: 1.0)
 /var/www/images/social.png: CRYPTOPHP DETECTED! (version: 1.0a)
 /tmp/thumbs/admin/assets/images/thumb.png: CRYPTOPHP DETECTED! (version: 0.3x555)

Puede utilizar otro script de Fox-IT para determinar si su sitio web es el que en realidad está realizando el Black Hat SEO.  Esto se realiza mediante una solicitud con una cadena de agente de usuario del rastreador web y una solicitud sin esta cadena.

 

El script se puede ejecutar de forma remota y no hace falta que se ejecute en el servidor afectado.

1. Descargue el script y hágalo ejecutable:

$ wget https://raw.githubusercontent.com/fox-it/cryptophp/master/scripts/c...
$ chmod +x check_url.py

2. Para analizar un host o una dirección URL (o varias) como los argumentos, ejecute:

./check_url.py --verbose www.fox-it.com http://192.168.0.10/index.php

Checking 'http://www.fox-it.com' ..: OK
 * Normal request yielded 15 urls, Webcrawler request yielded 15 urls. (0 suspicous links)
Checking 'http://192.168.0.10/index.php' ..: CRYPTOPHP DETECTED
 * Normal request yielded 1 urls, Webcrawler request yielded 5 urls. (4 suspicous links)
  ! http://xxxx/no-deposit-casino-bonus
  ! http://xxxx/casino-bonus-sans-depot
  ! http://xxxx/dolly/?p=online-casino
  ! http://xxxx/?p=latest-casino-bonuses

O analice una lista de hosts o direcciones URL, ejecute --load:

./check_url.py --verbose --load=urls.txt

 

Recomendación para la resolución

  • Verifique los usuarios de su servidor y busque usuarios que se hayan creado en el sistema para SSH/FTP que no deberían existir.
  • Modifique cualquier nombre de usuario afectado (generalmente, los usuarios que poseen los archivos detectados como infectados). 
  • Edite la función shady php include() de las páginas infectadas y elimine cualquier archivo de imagen falso que contenga el código CryptoPHP.
  • Quite el tema o el complemento pirateado que contiene la infección CryptoPHP.
  • Cambie todas las contraseñas relacionadas con la cuenta afectada y su sitio web.
  • Realice las actualizaciones de cualquier y todas las instalaciones de WordPress, Drupal y Joomla en todo el servidor (no solo del sitio reportado).

Subscríbase a las listas por correo electrónico con avisos de actualizaciones de seguridad para Wordpress, Drupal y Joomla o verifique periódicamente si hay actualizaciones para evitar nuevas infecciones y vulnerabilidades que puedan causar el uso abusivo.

¿Tiene más preguntas? Enviar una solicitud

0 Comentarios

El artículo está cerrado para comentarios.
Tecnología de Zendesk