Detectar y limpiar hackeos en WordPress

Domingo por la mañana y recibes un email del equipo de abuse de tu proveedor de hosting. Parece que alguien se ha colado en tu máquina…

Paso 1: Acceso a la consola

El primer paso es acceder a la consola de linux si tu hosting lo permite. Con ello podremos investigar que está ocurriendo de forma sencilla. Otras opciones podrían ser activar los antivirus en nuestros paneles o abrir un ticket con soporte para que nos echen un cable.

ssh usuario@ip

Una vez conectados con el usuario (¿root?) y contraseña podemos ponerlos manos a la obra. El puerto por defecto es el 22 pero comprueba que tu proveedor no lo haya cambiado por seguridad.

Paso 2: Listar procesos

Una vez dentro usuaremos el comando «top», que en linux nos muestra los procesos que están corriendo en la máquina y se refresca cada 3 segundos. Con ello podremos localizar algún proceso con nombre extraño o que este consumiendo muchos recursos de la máquina. Los atacantes suelen tratar de camuflarlos con nombres parecidos a los del sistema: «infoapp_64»,  «webapp», etc. La clave suele estar en localizar aquellos con uso intensivo de CPU, el comando «top» te muestra en lo alto de la lista aquellos que más recursos están consumiendo:

top

¿Ya tenemos algún candidato? Vamos a buscar su origen…

Paso 3: Localizar origen

Una vez tengamos nuestro proceso localizado podemos utilizar el siguiente comando para localizar el archivo de origen:

#Sustituimos PID por el número correspondiente
ls -la /proc/PID/exe

Nos devolverá información tipo, donde tras el «->» podremos localizar la ruta de interés:

lrwxrwxrwx 1 root root 0 Nov 3 19:46 /proc/7111/exe -> /usr/sbin/sshd

Vale ya tenemos el problema, pero nos interesa localizar el origen, la brecha que ha permitido al atacante correr su malware en nuestra máquina.

Paso 4: Localizar brecha

Localizado el origen del proceso abierto podríamos borrar esos archivos, pero posiblemente la brecha de seguridad se encuentre en otro lado. Una buen práctica sería apuntar la fecha y hora del archivo malicioso y buscar en el access_log de apache que ocurrió exactamente en ese momento.

Con un «ls -l» podríamos listar y localizar estos datos. En este caso nos interesa el 31 de octubre a las 13:57.  Bastaría con dirigirnos a la ruta del access_log y utilizar el comando grep. Por ejemplo para localizar movimientos respecto a ese archivo o respecto a la hora:

grep 'Flying-Banners-1' access_log
grep '31/Oct/2019:13:57' access_log

Seguramente con esto ya tengamos una pista de que se realizo un acceso a un archivo php o se ejecuto algun plugin de WordPress. Ahora queda actuar: actualizarlo, limpiarlo o eliminarlo.

Paso 5: Actualizar o borrar

Una vez localizado el origen, los archivos y el proceso podemos tratar de eliminarlo todo. Los archivos con un sencillo «rm archivo» y el proceso podemos acabarlo con «kill -9 PID»

rm Flying-Banners-1
kill -9 12402

Si se trata de algun plugin conocido, es importante revisar si existen actualizaciones y aplicarlas de inmediato.

Paso 6: Monitorización

Es importante mantener un control en los días siguientes en esa máquina para verificar que la actuación fue eficaz y que no se ha vuelto a instalar ningún script malicioso en nuestro servidor.

top
0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

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