Ep 16 | Acabo de limpiar una web hackeada
3 Aug 2016 · 19 min
Podcast episode by Gonzalo Navarro (WordPress Semanal) describing two real cases of cleaning hacked WordPress sites: one due to outdated themes/plugins and another due to a pirated theme containing malicious code. Navarro explains detection (Google warnings), step-by-step remediation (backups, scanners, replacing infected files, reinstalling WP), recommended plugins (Security/Sucuri, Wordfence, Updraft), and preventive/maintenance advice (keep themes/plugins updated, avoid pirated themes, use backups and security plugins).
Chapters
En el episodio 16 de WordPress semanal hablaremos de dos casos reales en los que tuve que limpiar webs hechas con WordPress que habían sido hackeadas. Veremos los motivos por los que estas webs se vieron comprometidas, las dos formas de resolverlo por si a ti te pasa lo mismo, qué enseñanzas puedes sacar de eso para así tenerlas en cuenta de cara a tus proyectos y a tu página web y por último, herramientas para estar protegidos. Además, una de estas webs la he limpiado hoy mismo. Te voy a explicar cómo después de la intro. Vamos allá. Hola hola. Soy Gonzalo de gonzalonabarro es y bienvenido a WordPress Semanal. Ya sabes que este es el podcast en el que aprendes WordPress de principio a fin. Mi objetivo es que domines esta fantástica herramienta para que solo te dediques a crear y hacer crecer tu negocio y que no tengas que estar buscando en Google cada cosa pequeñita que tienes que hacer con tu web hecha con WordPress. Y como ya te comentaba al principio, hoy vamos a hablar de cómo limpiar webs hechas con WordPress que han sido hackeadas. Y vamos a ver dos escenarios diferentes, dos webs que fueron hackeadas por dos motivos distintos pero que son muy comunes. Estos dos motivos, pues son quizás los que más se ven. Así que me ha parecido una buena idea explicar por qué fueron hackeadas estas webs y todo sobre cómo poder solucionarlo y sobre todo prevenirlo. Pero antes, recuerda que en Gonzalo es Cursos tienes todos los cursos que llevamos hasta la fecha sobre cómo utilizar WordPress, cómo sacarle partido, WordPress básico, WordPress intermedio, cómo hacer SEO en WordPress, cómo crear una tienda online desde cero con WordPress y WooCommerce o cómo crear páginas a medida, diseñarlas arrastrando bloques con el curso de Page Builder. Más ya lo sabes, las descargas de plugins y themes premium, el soporte a través de email y todos los cursos nuevos que van llegando. Ahora están en el horno el curso de Seguridad y el curso de email marketing con WordPress. Así que si te interesa, ya lo sabes, Gonzalo es cursos y vamos con el tema de hoy. Empezamos por el plugin de la semana, que en este caso tiene que ver con seguridad, pero no para evitar que nos hackeen la web, sino es algo un poquito más curioso Este plugin se llama WordPress Security Questions y lo que hace este plugin es que te permite configurar preguntas de seguridad cuando un usuario se registra o cuando un usuario va a hacer login o para ponerlo en la pantalla de contraseña perdida. ¿Qué quiere decir esto? Pues la típica pregunta ¿Has perdido tu contraseña? Responde a esta pregunta y a lo mejor la pregunta es ¿Cómo se llama tu animal de compañía? Y tú pones pues Bobby y cuando respondes a esa pregunta secreta pues accedes a la web o si lo que estabas intentando era recuperar tu contraseña pues recuperas tu contraseña. Y este plugin está muy bien, esto lo hacen muchas webs y te permite añadir una capita más de seguridad porque podrías proteger tu web incluso si alguien ha conseguido robarte el password, porque si tiene el password pero no tiene la respuesta a la pregunta secreta pues no puede acceder. Eso en el caso de que quieras que sea obligatorio responder a la pregunta secreta cuando alguien se conecta a tu web, pero no es necesario, si quieres puedes deshabilitarlo ahí y habilitarlo por ejemplo solo cuando alguien quiere recuperar la contraseña perdida, en ese caso para recuperarla esa persona tendrá que responder a la pregunta secreta que previamente había definido, ya sea en el registro o incluso los ajustes de usuario que también se puede hacer. Así que es un plugin muy curioso que tiene esta pequeña funcionalidad que seguramente os venga bien a más de uno. Y ahora ya sí vamos con el tema principal del programa, que es cómo he limpiado dos webs hackeadas. Uno de los ejemplos de los que voy a hablar fue ya hace como un año y otro de los ejemplos ha sido hoy mismo y este ya lo he hecho varias veces y el anterior también. Entonces son casos muy comunes y he decidido hablar de estos dos porque son muy representativos y se han repetido varias veces. Entonces los dos motivos por los que fueron hackeadas estas webs, bueno la primera de ellas fue porque tenía themes y plugins sin actualizar, entonces alguno de los plugins o el theme tenía una brecha de seguridad en el código, digamos en alguna de sus versiones anteriores. Entonces cuando este theme o el plugin, vamos a poner que fue un plugin, se actualiza, pues en la información de la actualización se dice todo lo que se ha corregido. Entonces pues imagínate que una de las correcciones es, no es exactamente con estas palabras, pero por ejemplo corregida una brecha de seguridad en tal tal. Entonces eso los hackers lo ven y atacan por ahí. Entonces claro, imaginar la cantidad de gente que no actualiza algo que es un error enorme, garrafal, porque te puede pasar esto, que te hackeen la web. Eso fue el motivo 1, el motivo de una de las webs. Y el motivo por el que hackearon la segunda web, o mejor dicho, cómo consiguieron hackearla, fue porque esta web estaba utilizando un Thing pirata, es decir, un thing que valía dinero, pero que se había descargado de una web que te lo da gratis. Imagínate un thing que vale 100 dólares, pues hay una web por ahí que te lo da gratis. Algo raro tiene que haber ahí, ¿Verdad? Pues sí, precisamente lo que hacen es infectar el código de ese thing y darlo gratis. Entonces toda la gente que se lo descarga y lo instala, pues nada más empezar su web ya la tienen infectada de virus. Entonces Estos son los dos escenarios. Escenario 1 Una web hackeada porque no había actualizado themes y plugins durante algún tiempo. Escenario 2 Una web hackeada porque había instalado un thing pirata. Ahora vamos a ver las formas en las que resolví cada uno. Vamos a hablar primero del escenario 1, el que llevaba tiempo sin actualizar themes y plugins. ¿Qué pasó aquí? Primero, esta persona se dio cuenta porque le avisaron de que cuando buscabas en Google su web, debajo del nombre aparecía el siguiente Este sitio puede haber sido comprometido. Aparece. Aparece en pequeñito, tampoco es algo que se vea muy grande. Y esto es cuando seguramente acaba de pasar el tema del hackeo o no es muy importante aún. Entonces si lo pillas en esta fase, pues bueno, puede tener solución porque seguramente tu web todavía no esté muy infectada o sea un malware tampoco muy importante. Bueno, entonces esta persona se dio cuenta, me contactó y vimos cómo poder resolverlo. Y en este caso fue bastante sencillo porque lo puedes hacer desde el propio panel de administración de WordPress. Entré al panel de administración WordPress y lo primero que hice fue comprobar si todo estaba actualizado. Y efectivamente esta persona al ver que le había pasado eso, pues actualizó todo. Porque el problema aquí es que esta persona sabía que debía tener los themes y los plugins actualizados, pero como no es algo de su día a día, pues lo va dejando porque no es normal. También lo entiendo, pues tienes tus quehaceres diarios y si no eres un webmaster no estás acostumbrado a llevar una página web, pues estas cosas las vas dejando. Al final si te pasa eso lo que tienes que hacer es contratar a alguien que te haga este servicio, es lo mejor. Si no vas a tener tiempo o crees que no puedes hacerlo o que se te va a pasar o que no lo vas a poder dedicar ese tiempo, pues lo subcontratas y listo, que es lo que acabó haciendo este cliente. Luego comprobé si había alguna copia de seguridad reciente y no había una reciente, ¿Vale? Había una de hacía unos cuantos meses. Entonces si hubiesen perdido pues eso, varios meses de publicaciones, ¿Vale? Tampoco hubiese sido digamos, algo muy grande porque se podía haber hecho una copia de seguridad solo de la base de datos porque no estaba comprometida. Entonces se podía hacer en ese momento una copia de seguridad de la base de datos y después recuperar todo eso. Pero en el caso de haber estado comprometida sí que hubiese sido un problema porque habría que haber ido copiando todo manualmente para después volver a crear todos esos post. En cualquier caso, lo primero que hice fue hacer una copia de seguridad en ese momento y almacenarla de forma externa. ¿Por qué de forma externa y no en la propia web? Pues para que no corra el peligro de infectarse también si tu web está hackeada, las copias de seguridad guardadas dentro de tu web también se pueden infectar. Entonces hice la copia de seguridad y la guardé en un dispositivo externo. Un dispositivo externo puede ser un USB, puede ser tu ordenador o puede ser en la nube, Dropbox o similar. Esta copia de seguridad llevaba el malware dentro porque yo aún no había empezado a limpiar esta web, pero por si acaso, por si al limpiarlo, al eliminar algún archivo se iba todo al garete, pues tener una copia de seguridad para volver a ese momento anterior y trabajar desde ahí siempre copias de seguridad antes de dar un gran paso. Después instalé un magnífico plugin que se llama Security, Security e hice un escáner de la web. Este plugin te dice si se han modificado archivos importantes, si se han añadido archivos que parecen sospechosos y te hace un escáner concienzudo. Es un plugin genial que su principal función es eso, escanear en busca de malware y de contenido malicioso o sospechoso. Entonces en este caso estaba clarito, clarito el problema. Una vez haces el escáner te avisa de que el core de WordPress había sido modificado. ¿Qué es el core de WordPress? Pues es la instalación inicial, es decir, el software WordPress en sí, lo que instalas al principio de todo, cuando vas a WordPress. Org, descargas WordPress y lo instalas o lo instalas en un clic desde SiteGround o el hosting que tengas, pues eso había sido modificado. Entonces eso es muy fácil de ver porque los archivos base, digamos, el core se llama, son los que son. Entonces si han sido modificados, eso que se ha añadido o que se ha alterado tiene que ir fuera. Pues eso era lo único que había hecho este malware, añadir un archivo al core de WordPress y de momento este archivo no estaba haciendo nada, no estaba afectando la base de datos, no estaba afectando a ningún lado, así que es como el que coge una enfermedad a tiempo. Habíamos descubierto ese archivo, eliminado otro escáner para comprobar que todo está correcto y nada más. Ya como se había hecho la actualización, pues ya no se podía seguir entrando por esa brecha, digamos, porque ya estaba todo actualizado. Así que esa brecha había dejado de existir y se había eliminado el caballo de Troya que estaba dentro, lo habíamos eliminado, así que ya no había más riesgos y el problema ya estaba solucionado. Ahora lo que sí que había que hacer es tener un mantenimiento, actualizar todo y estar seguros de que eso no vuelva a pasar. Entonces este caso, pues es un caso menor, que es bastante común, que a veces es peor porque tiene más archivos comprometidos, otras veces es como esto, que es bastante sencillo y además el problema es que no te puedes dar cuenta y si lo vas dejando en el tiempo pues se puede hacer muchísimo peor. En este caso a esta persona la avisaron del mensajito que salía y se pudo solucionar. ¿Cómo se solventó la segunda opción? Esta fue mucho más compleja, la voy a comentar resumidito sin tampoco entrar en mucho detalle, pero para que sepáis el coñazo, vamos a decirlo así, que es que te pase esto. Entonces estamos hablando del escenario 2, en el que esta persona había instalado un thing pirata, además un thing muy bueno que valía $100 y que había encontrado de forma gratuita. Pues ahí ya hay que sospechar, no descarguéis cosas de sitios que no conocéis o de sitios que te prometen el oro y el moro por en teoría nada. Entonces esta persona desde el primer momento en el que creó su web ya la tenía llena de código malicioso. ¿Qué pasa? Que llegó un momento en el que Google, cuando alguien entraba a su web, mostraba una pantalla en rojo enorme con el mensaje El sitio al que vas a acceder contiene software malicioso. Imagínate que vas a entrar a tu web y te encuentras con toda la pantalla roja con una cruz enorme en la pantalla y un mensaje de que el sitio al que vas a acceder contiene software malicioso. Pues no va a entrar nadie, vamos, nadie se le va a ocurrir entrar. Si le das a detalles, pues hay una forma de entrar, pero eso lo vas a hacer tú, que es tu web, pero otra persona va a salir de allí corriendo. Y corriendo es como vino esta persona a mí para que le solucionase el problema. Entonces, al ver esto, su hosting lo que hizo fue cerrar la web. Entonces ya ni siquiera él mismo podría cerrar a la web, acceder a la web, ni yo podía hacerlo, porque si hubiese podido acceder, pues podríamos haber hecho un escáner con alguno de estos plugins e intentar solventar el problema. Entonces, ¿Qué hubo que hacer? Pues hacerlo todo mucho más manual. Entonces estuve en conversaciones con el hosting, que además era un hosting americano con un servicio muy generalista, que no es que no es un buen servicio de ayuda, con el que un día hablas con una persona, al día siguiente te contesta otra persona que ni siquiera sabe prácticamente lo que habías hablado con la otra persona. En fin, un auténtico desastre de servicio técnico, pero bueno, hay que lidiar con esas cosas, ¿Vale? Entonces, lo que hacía este malware, lo que hacía ese código malicioso que había en la web del cliente era lo él veía su web con total normalidad, tenía su blog, tenía sus servicios que ofrecía absolutamente todo normal. Además la web iba normal, no iba lenta, era pues como siempre, pero claro, él la tenía que quedar desde el principio. Entonces él como siempre, pues era como siempre, la había tenido hackeada. En cualquier caso, no tiene por qué rendir mal una web. Y sólo se dio cuenta esta persona una vez que vio ese pedazo de mensaje con la pantalla en roja. Y cuando su hosting le cerró la web, ya nadie podía acceder a esa web, ni sus clientes, ni él, nadie. Entonces, ¿Qué es lo que hacía este código malicioso? Pues al final descubrimos que lo que hacía era en todas y cada una de las imágenes de su web había puesto un link de spam. Todas y cada una de las imágenes era una web que tenía un blog con muchísimas imágenes y luego pues las típicas imágenes corporativas. Y claro, como desde el principio había estado comprometido, pues no podías tirar de ninguna base de datos ni recuperar nada. Así que lo que hubo que hacer fue reemplazar todas las imágenes y lo hicimos a través de FTP y reemplazando una a una, porque si, porque si pudieses acceder a tu web com wp admin pues instalas un plugin y quizás puedes automatizar un poquito ese proceso de reemplazar las imágenes. Pero hubo que hacerlo por FTP. Bueno, por supuesto, antes de todo esto, quitar el thing comprometido e instalar un thing distinto. Al final lo que hicimos básicamente fue desinstalar ese thing, instalar otro thing, sustituir las imágenes comprometidas por imágenes limpias, hacer una copia de seguridad de esa base de datos, crear una instalación nueva de WordPress, una página web nueva de WordPress para asegurarnos que estaba todo limpio, importar esa base de datos ya limpia, ya con las imágenes eliminadas. Esto lo habíamos comprobado además con el hosting, que había quedado todo limpio y fue un trabajo mucho más manual, un trabajo un poco más tedioso y hasta que dimos con que ese era el problema porque el hosting pues nos dijo la línea de código que estaba dando el problema y entonces pues nos fuimos y ya pudimos comprobar que lo que había pasado era eso, que estaba tenía código malicioso en todas las imágenes. Entonces pues a lo mejor te llevaban a una página de Viagra o a una página de lo que sea, incluso a la gente le podía aparecer una imagen que no eras la que tú habías puesto, tú veías como administrador tu imagen y no veías ningún link raro, pero las personas que no eran administradores, que eran usuarios, sí que veían esos links raros. Entonces imagínate la mala imagen de tu página web. Así que ya hemos visto los dos escenarios y las dos formas de resolverlo, uno bastante más sencillo y otro muy complejo que puede, si no lo haces bien, puede incluso que tu web se vaya al garete, que pierdas todo. Depende también de todo lo que tengas comprometido, del hosting, de quién te gestione eso a la hora de arreglarlo. Entonces, ¿Qué enseñanzas podemos sacar de todo esto? Pues lo más básico, que ya además tienes que haber entendido por todo esto. Número uno, importantísimo, ten tus teams y plugins siempre actualizados que no lo puedes hacer porque tú no llevas el mantenimiento de tu web, contrátalo, hay servicios por ahí que te lo hacen por ti, lo puedes contratar siempre esto que te lo hagan de forma segura, es decir, pues antes de una gran actualización que comprueben si va a ir todo bien, porque claro, instalar, actualizar, actualizar, actualizar, así al tuntún es fácil, pero antes hay que comprobar que no vaya a haber ningún problema, hay que hacer una copia de seguridad con anterioridad por si hay algún problema, volver a lo anterior porque a lo mejor puede haber incompatibilidad de plugins a la hora de una actualización o hay muchos factores que pueden influir, entonces pues contratar a alguien que además ya pues te lo va a hacer bien, te lo va a hacer con esa seguridad pues teniendo todo en cuenta. Y luego por supuesto jamás utilices themes si no conoces la fuente de la que provienen, no vayas a descargar sims de páginas que regalan themes de 100 dólares o de 50 dólares o de lo que sea que los regalan porque ahí algo raro hay. Y luego herramientas para estar protegidos, bueno y más que estar protegidos, por ejemplo puedes instalar un plugin que te va a avisar cuando algo de esto pase, como Wordfence Security, hay más, ya sabéis, de hecho tengo creo en el blog, si buscáis, tengo varias, varios post en los que hablo de más plugins, el que suelo instalar yo en las webs de mis clientes es Workfence Security, está muy bien y digamos que lo deja todo bastante automatizado, te avisa cuando pasa algo para que inmediatamente puedas solucionarlo, te recuerda que tienes que actualizar los plugins, cosa que está muy bien, te llega un mensajito, además te pone problemas encontrados en tu web y luego entras todo asustado y resulta que es que simplemente tienes que actualizar, pero es que es un problema, es que hay que hacerlo, entonces está bien que te avise así, eso para estar protegido. Después para escanear una vez que te ha pasado algo lo puedes hacer con Wordfence y también si es una cosa menor va a funcionar, pero la mejor herramienta para ello es Sucur Security, que es con el que yo hice el escáner de la web que os comenté del primer caso y funciona súper súper bien. Y luego por último, también importantísimo, las copias de seguridad, ya he hablado muchísimas veces de este plugin App Draft que está genial, puedes automatizar las copias de seguridad y aunque creas que es una tontería, créeme que no lo es, te puede salvar una web entera. Y nada más por hoy, este es un episodio que creo que os puede servir mucho, quizás si no os ha pasado nunca pues os suene todo un poco a lo lejos, pero de verdad que es algo que pasa mucho, pasa más de lo que parece y entonces hay que estar prevenido, hay que saber también qué hacer en el caso de que te pase. Y bueno, si has escuchado este episodio porque justo te ha pasado y has dado con este episodio, pues puedes aplicar lo que te he comentado y si tienes alguna duda, no dudes, contáctame. Gonzalonabarro es contactar. Y nada más, muchísimas gracias a todos por estar al otro lado, ya entramos en agosto, espero que la mayoría de vosotros estéis de vacaciones y que si no estén cerca o ya las hayáis tenido. En cualquier caso, sea de vacaciones o no, a disfrutar de esta época. Y como siempre, si os ha gustado el episodio, pues podéis dejar una valoración de 5 estrellas en iTunes, en las notas del programa tenéis el link, simplemente hacer clic sobre él y ya vais a la página de hacer la reseña, que es muy facilito, y también los me gustas en ivoox y los comentarios siempre son súper súper bienvenidos. Además si dejáis una valoración o hacéis un comentario, lo leeré en el programa y podéis dejar el link a vuestra página web, que también lo mencionaré en el programa y además lo incluiré en las notas del programa, así tendréis un link desde mi web hacia vuestra web. Creo que es una muy buena forma de daros las gracias cada vez que dejéis una reseña o una valoración. Así que muchas gracias, nos seguimos escuchando, adiós.
More from Gonzalo
518 | Redes sociales, precios personalizados, audios desde Drive y temas de bloques (Q&A)
513 | Por qué sigo usando estos plugins después de tantos años (y cuáles he abandonado)