¿Cómo puedo recuperarme de un sitio de WordPress pirateado y prevenir futuros ataques?

3

Tengo un servidor dedicado que ejecuta WordPress y recientemente he notado que ha sido pirateado y PHPShell se ha cargado un controlador de servidor web remoto. ¡Esto ha permitido al pirata informático ver y editar archivos, incluida mi base de datos!

Desde entonces he eliminado la carpeta PHPShell. Cambió todas las contraseñas posibles (base de datos, cuentas de usuario, FTP, desactiva SSH, etc.) y ¡recientemente ha vuelto a acceder!

Sin embargo, creo que originalmente pudo cargar esto a través del complemento Akismet después de revisar mis registros:

  

xx.xxx.208.130 - - [05 / Feb / 2014: 02: 18: 29 -0600] "GET /phpshell-2.4/   HTTP / 1.0 "403 1431" - "" Mozilla / 5.0 (Windows NT 6.1; WOW64)   AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 32.0.1700.107   Safari / 537.36 "

     

xx.xxx.208.130 - - [05 / Feb / 2014: 02: 17: 47 -0600] "POST   /wp/wp-content/plugins/akismet/.!31.php HTTP / 1.0 "200 17503   " enlace "   "Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 537.36 (KHTML, como   Gecko) Chrome / 32.0.1700.107 Safari / 537.36 ".! 31.php

Saliendo de los detalles anteriores, parece que pudo cargar este PHPShell a través del complemento Akismet. Me puse en contacto con sus desarrolladores y me informaron que /akismet/.!31.php no formaba parte de su paquete original y que el pirata informático podría haber creado esto como un señuelo. Antes de que eliminara el complemento de Akismet y fuera a https://example.com/wp/wp-content/plugins/akismet/.!31.php , podías cargar y ejecutar archivos en el servidor, a través de mi firewall.

TENGO que sacar a este hacker de mi servidor. He ejecutado escáneres timthumb y no encontró nada. ¿Dónde más empiezo?

    
pregunta user40132 15.02.2014 - 15:41
fuente

2 respuestas

10

Cuando está comprometido, la mejor opción es atacar desde la órbita. Elimine todos los archivos de su sitio, vuelva a cargar desde una imagen limpia conocida. Si no tiene una imagen limpia conocida, vuelva a instalar Fresh y migre sobre los registros de la base de datos después de verificar que sean válidos. Mueva los activos de imagen y cualquier activo personalizado después de revisar cuidadosamente que no se hayan comprometido.

Asegúrese de mantener su servidor parcheado y solo use complementos de buena reputación. Asegúrese de que los permisos de su carpeta estén configurados correctamente para que el público no pueda escribir en su carpeta wp-content.

Probablemente también valga la pena usar el complemento de WordFence como un mecanismo de seguridad agregado. Si bien no detectará todo, escaneará los complementos populares para asegurarse de que no se hayan modificado. Es probable que esto haya detectado su segundo compromiso, pero no es tan seguro como la eliminación de la órbita o la revisión manual del código. También ayudará a proporcionar una notificación cuando WordPress o un complemento esté desactualizado.

    
respondido por el AJ Henderson 15.02.2014 - 21:08
fuente
4

Me centraré en la segunda parte de la pregunta:

  

y prevenir futuros ataques?

Básicamente, lo que puedes hacer para evitar futuros ataques es:

  • mantenga actualizado su Wordpress

considere usar actualizaciones automáticas, agregando esta tranquilidad de código en wp-config.php

add_filter( 'auto_update_plugin', '__return_true' );

o actualización automática para todos los temas:

add_filter( 'auto_update_theme', '__return_true' );

Más información sobre actualizaciones automáticas que puede encontrar aquí: enlace

  • elija una contraseña segura y cambie su nombre de usuario si es admin
  • limitar los intentos de inicio de sesión, utilizando algunos complementos o me gusta usar fail2ban
  • considere usar la autenticación de dos factores para mejorar la seguridad de WordPress
  • limpie su sitio de Wordpress, eliminando los temas o complementos no utilizados
  • asegúrese de que los permisos de archivos y carpetas sean correctos

Aquí es cómo configurar los permisos correctamente:

find /path/to/your/wordpress/ -type d -exec chmod 755 {} \;
find /path/to/your/wordpress/ -type f -exec chmod 644 {} \;
  • use SSL para su página de inicio de sesión (puede usar uno autofirmado o gratuito de letsencrypt)

enlace

Y considere las opciones de seguridad de su servidor:

  • asegure su php, deshabilitando funciones peligrosas de PHP
  • instalar un cortafuegos de aplicación web (Modsecurity)
  • copia de seguridad de su sitio web
respondido por el Mirsad 19.04.2016 - 19:42
fuente

Lea otras preguntas en las etiquetas