Siguiendo con el anterior post publicado acerca de WordPress, en el que comentábamos las posibles soluciones para uno de los últimos errores cuando teníamos la combinación de WordPress + Plesk + PHP 7.2.19 (https://blog.quantika14.com/blog/2019/06/14/wordpress-fatal-error-allowed-memory-size-of/), hoy queremos presentar una herramienta desarrollada en QuantiKa14 que nos proporciona algo de luz a la hora de enfrentarnos a esas situaciones tediosas y complejas: “Tu web ha sido comprometida por un virus informático, por favor, elimine el malware para desbloquear su página web“.

We have been hacked || pwned || como queramos llamarlo

Desde QuantiKa14, y con la idea de ofrecer un SIFT rápido a nuestros clientes, hemos desarrollado una pequeña (por ahora) herramienta, que nos ayudará a crear los planes de investigación y actuación en los casos en los que nuestro sitio WordPress haya sido infectado por malware, hablamos de wpAnalyzer.

wpAnalyzer está escrita en python 3, y tiene como objetivo, una vez lanzada desde el directorio raíz de nuestro sitio, realizar una serie de comprobaciones de seguridad, estas son:

Dada una versión de WordPress especificada por el usuario, realizará una consulta, mediante la api de WordPress en la que se centrará en el endpoint que ofrezca la información relativa a los hashes de cada uno de los archivos del CORE, para después, calcular el hash específico de cada uno de los archivos del CORE de nuestra instancia de WordPress y realizar una comparación entre ambas, lo que nos permitirá detectar modificaciones en los archivos.

Esta opción nos mostrará por pantalla la lista, en caso de que los haya, de los archivos locales que tienen un hash diferente al original, lo que ya nos proporciona ratos de lectura de código 🙂 . Además de esto, a esta función le acompaña la posibilidad de realizar la descarga del CORE de WordPress en la versión correspondiente y sustituir esos archivos modificados.

Cabe decir que la funciona anterior permite, una vez reemplazados la lista de archivos modificados con los nuevos descargados desde el sitio oficial de WordPress, el parseo automático del archivo wp-config.php, para que, en caso de querer sustituir el existente por una nueva versión, mantener las modificaciones referentes a los datos de conexión de la base de datos, nombre de usuario y contraseña. Facilitamos el trabajo.

¿Quieres saber más sobre la wpAnalyzer?

No te pierdas el Meetup que hemos organizado desde Hacking Sevilla el próximo 21 de junio de 2019. Es un evento totalmente gratis. Información y registro aquí: https://www.meetup.com/es-ES/hacking-sevillaQK14/events/261539958/

Una función “legacy” que se mantiene desde el comienzo es la búsqueda de cadenas sospechosas, es decir, una búsqueda por todo el árbol de directorios de nuestro sitio de variables o funciones sospechosas: exec, eval, base64, preg_replace, etcétera. Muy útil para encontra lineas de código que pueden pertenecer a un malware.

Una función muy útil es la referente al análisis basado en reglas Yara para el descubrimiento de malware. Para quien no lo conozca, Yara es una herramienta desarrollada por Victor Álvarez, del equipo de VirusTotal (Google). Esta herramienta realiza una detección basada en firmas usando reglas creadas por nosotros mismos o descargadas desde la comunidad, sin embargo, debido a las técnicas de polimorfismo usadas en el desarrollo de malware no debemos basarnos solo en este tipo de análisis, aunque es innegable la gran utilidad del mismo.

wpAnalyzer bajará el conjunto de reglas Yara compartido en GitHub por expertos en seguridad y se basará en estas para realizar 3 tipos de análisis diferentes, análisis de malware, análisis de webshell, y análisis de una regla particular proporcionada por el usuario. Es importante conocer que si alguna de las reglas descargadas de la comunidad arrojase un error de carga que pudiera detener la ejecución, wpAnalyzer la descartará rápidamente permitiéndonos llevar a cabo el resto del análisis.

Ubicación en la que almacenaremos nuestra regla personalizada

Para finalizar, y no por eso menos importante, puesto que este suele ser el punto de partida de este tipo de infecciones, tenemos la enumeración de vulnerabilidades gracias a la consulta de la base de datos de WPScan,  WPVULNDB. Esto incluye las encontradas para la versión de WordPress seleccionada y para los plugins que tengamos instalados, esto último previo análisis y parseo del archivo readme.txt de cada plugin, que, según el código de buenas prácticas de desarrollo todo plugin de WordPress debe contener.

Además de las vulnerabilidades nos informará sobre si existe una nueva versión del plugin

wpAnalyzer es una herramienta de reciente desarrollo pero que, con el feedback y contribución de la comunidad, puede llegar a ser una gran herramienta que nos ayude a la hora de detectar y eliminar malware en el CMS más usado del mundo.

Vídeo tutorial

Vídeo tutorial en Youtube sobre wpAnalyzer

Deja un comentario

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