Descubrimiento de una backdoor en WordPress
Investigadores en ciberseguridad han revelado un complejo mecanismo de persistencia en una backdoor de WordPress, que permite a los actores de amenazas regenerar el malware después de que se haya realizado una limpieza. Este malware, denominado SC, emplea varios métodos para asegurarse de que el payload se restaure sin necesidad de reinfectar el sitio.
Mecanismos de persistencia
Gabriel Barbosa, un investigador de seguridad, explicó que la backdoor puede encontrarse en al menos ocho ubicaciones diferentes, repartidas entre archivos, la base de datos y memoria compartida. Cada una de estas ubicaciones tiene la capacidad de reconstruir las demás. Por ejemplo, si se elimina el plugin, un archivo adicional lo reescribe; si se borra este último, el tema también puede restaurarlo. Esta disposición crea un sistema circular sin un punto único que se pueda eliminar para detener el ataque.
Componentes del malware
El malware utiliza componentes que operan de la siguiente forma:
- .user.ini: Configura `auto_prepend_file` para ejecutar un cargador antes de cada solicitud PHP. - wp-content/c1b12371.php: Actúa como cargador que incluye un archivo oculto si está presente. - wp-content/.c1b12371.php: Primer cargador que busca un plugin falso y se reconstruye a partir de tres fuentes. - wp-content/db.php: Cargado durante el arranque, contiene el payload completo en formato comprimido y codificado en Base64. - wp-content/advanced-cache.php: Se carga antes de los plugins normales y reconstruye el plugin de cinco fuentes independientes. - wp-content/themes/khorshidi/functions.php: Versión del backdoor que reescribe el plugin cada vez que no está presente. - wp-content/mu-plugins/hyper-engine-kit.php y wp-content/plugins/hyper-engine-kit/hyper-engine-kit.php: Duplicados del mismo payload para redundancia.
Funcionalidades del malware
Independientemente de cómo se lance la backdoor, lleva a cabo diversas acciones, que incluyen ocultarse en la pantalla de plugins del administrador y comunicarse con un servidor de comando y control (C2) utilizando la blockchain de Ethereum. También es capaz de crear cuentas de administrador ocultas y ejecutar un bucle de reinfección. Esto permite al operador tomar control del sitio de WordPress, inyectar JavaScript malicioso y desactivar o eliminar plugins específicos.
Persistencia en memoria
El malware puede registrarse en cron hooks, lo que permite su reimplementación a intervalos programados. En servidores que soportan memoria compartida del sistema V, el payload se escribe en un segmento identificado por una clave numérica fija, lo que le permite sobrevivir a la eliminación de archivos y limpiezas de base de datos.
Vectores de infección
Se desconoce cómo se entrega el malware a los sitios de WordPress, pero los vectores de acceso inicial típicos incluyen vulnerabilidades conocidas en WordPress, plugins y temas, credenciales de inicio de sesión débiles y ataques a la cadena de suministro de software. El caso de SC subraya que una infección moderna en WordPress puede ser un sistema en lugar de un simple archivo.
Este descubrimiento resalta la necesidad de mantener prácticas de seguridad robustas para proteger los sitios de WordPress de amenazas avanzadas como esta.