Análisis de Logs y de Archivos del servidor Web WordPress Hackeado | Continuación de 9,3 Millones de Sitios WordPress Vulnerados a Nivel Mundial




Continuo con los análisis de vector de ataque, propagación y persistencia por parte de este malware que afectó los servidores de una compañía. Los atacantes pudieron iniciar sesión con éxito en el administrador de WordPress ya que encontré usuarios administradores maliciosos creados con nombres aleatorios y correos electrónicos de Outlook.com los cuales son inexistentes.




Aún hay más, el archivo "index.php" del tema JupierX para WordPress fue modificado insertando codigo malicioso que permite a los atacantes realizar la conección remota con los C2.



Busqué informacion relacionada el dia de hoy a una vulnerabilidad del tema JupiterX pero no he encontrado nada relacionado, por lo cual no determino que sea ahí el punto de explotación.

Archivo "index.php" del thema JupiterX modificado por los hackers


Encontré similitud total en este vector de ataque y los procesos de ejecucion en otro blog, pero no veo que lo relacionan o que comparten la información que encuentro en la primer parte de este caso. No puedo confirmar que sea el mismo plugin vulnerable ya que EvalPHP no está en la lista de Plugins instalados en el WP que fue atacado.


Considero que es el mismo agente, con otro vector de ataque pero igual procedimiento de propagacion y persistencia.

Continuando con el Hack.
HACKERS MODIFICAN CÓDIGO DEL WORDPRESS

Durante el analisis de comprotamiento, encontré que el atacante (automatizado  o no) realiza modificaciones en los archivos de trabajo de WordPress, en este caso el "wp-settings.php", en este el hacker incluyó un codigo ofuscado que hace un crash el sitio web, osea, lo deja en error crítico, tal cual fue el caso.


Sitio WordPress con Error Crítico


Log del sistema muestran cuando el atacante de manera deliberada hace un llamado a la funcion para hacer caer en error crítico el sitio, como represalia directa del trabajo que hacia limpiando el CMS y el servidor. 

Logs que muestran el llamado a la función maliciosa


FUNCION MALICIOSA EN "wp-settings.php"

El atacante de manera que pueda mantener el control del CMS/Servidor Web, modifica el código de WordPress y en este caso del Tema JupiterX para incorporrar codigo que permita continuar con el control.

Código malicioso que se agregó al archivo de Wordpress "wp-settings.php"


El código está semiofuscado, pero tiene orden lógico de ejecución el cual detallo brevemente.

Primero se define $shut que contiene un array y una función, el array contiene las cadenas "REGiStEr", "ShutDown" y "f". La función es anónima, no toma argumentos.

Dentro de la función, se establece una variable $_GET[$get] que mediante "inplode" convierte el array en una cadena de texto concatenada, que resulta en "base64decode" formato para decodificar el string hacia donde se hace la solicitud GET. 

String decodificado que apunta al archivo common.ini en un subdominio


Se establece $shut igual a la cadena decodificada, que es un path que apunta a un archivo PHP malicioso "common.ini", en este caso instalado en la ruta de imagenes de WordPress en un subdominio activo.

Después de incluir el archivo PHP, el código verifica si el archivo existe en el sistema utilizando la función file_exists(). Si el archivo existe, se incluye en el script utilizando la función include(), el arroba (@) es para suprimir cualquier mensaje de error que pueda generar la inclusión del archivo.

Luego, se crea una variable $e que contiene la cadena "opcachereset" utilizando la función implode(). Esta variable se usa en una condicional que verifica si la función opcache_reset() existe y si la variable $e es verdadera (no vacía). Si ambas condiciones se cumplen, se llama a la función opcache_reset() para reiniciar el caché de OPcache.

"OPcache es un motor de almacenamiento en caché integrado en PHP. Cuando está habilitado, aumenta drásticamente el rendimiento de los sitios web que utilizan PHP"
Tambien se puede ver que si hay alguna excepcion por parte del codigo malicioso, lo almacena en un archivo de logs que el hacker podrá administrar en busca de tener persistencia.

Además del "wp-settings.php" está la incrustacion de codigo malicioso dentro del "index.php" del tema que esta bajo WordPress, en este caso JupiterX.



Al momento de realizar las pruebas en laboratorio, inmediato la alerta de Windows Defender sobre el archivo malicioso.



Por ahora hasta aqui lo dejo, seguiré la tercera parte con el análisis de los códigos ofuscados, no me voy sin antes darles unas recomendaciones para mejorar la seguridad de su sitio WordPress:
  • Restricción de acceso IP
  • Autenticación multifactor
  • Requisito CAPTCHA
  • Contraseña Segura
  • Limite los intentos de inicio de sesión
  • URL no estándar de acceso (wp-admin.php -> otro link de acceso)

Wiki Tech

Resultados del Analisis a 89 Sitios Web WordPress en Diferentes Industrias Nicaragüenses

Realicé un analisis a 89 sitios web WordPress pertenecientes a diversas industrias en Nicaragua, esto con el fin de determinar el tiempo tra...