Tal vez es incorrecto llamarle virus pues no puedo confirmar su «viralidad» pero su comportamiento sin duda es malicioso. Llamémoslo malware por ahora, pero al titulo le dejaremos virus, porque así es como lo reconoce mas comúnmente la gente.
Introduccion
El año pasado conocí los famosos virus de WordPress. Tras algunos tropiezos para tratar de experimentar con ellos. Finalmente tuve acceso a una instalación infectada y por lo mismo, comencé a investigar la forma en la que funciona y como deshacerme de el. Adelanto que en realidad, no se como infecta al sitio. No se ni como empezar a buscar y como no es mi trabajo, solo he ido estudiando con calma a manera de pasatiempo. Es mas, BingChat se niega a darme explicaciones. Imagino que mucho tiene que ver el hecho de que enseñar como funciona el virus, puede conducir al desarrollo de nuevos virus, así que nada, en esta primera parte mostraré lo que he conseguido hasta ahora, que tampoco es demasiado.
Comportamiento del virus
El comportamiento de este software malicioso es bastante fácil de ignorar. Aparte de ser capaz de detectar si el usuario que visita la pagina es administrador, crea una cookie que le avisa a la pagina que el comportamiento malicioso ya se ha ejecutado. Por el momento no he encontrado si hay algún antivirus que avise de su actividad, pero no dudo que alguno haya pues, ublock si que ha reaccionado al enlace que apunta en la primera carga.
A pesar de su reacción inicial, la protección que ofrece ublock es contra las url maliciosas y el objetivo del malware es únicamente llevar a los clientes a una. Tras cumplir su objetivo, pero no comprobar si ha tenido éxito, escribe una cookie para registrar su hazaña y se oculta hasta nuevo aviso.
Una vez que se ha ocultado, el comportamiento de la pagina pasa a ser relativamente normal, pero si logras pillar la pagina sin permitir la ejecucion de codigo js, evitaras que se recargue y encontraras esto.
El código que has compartido parece ser un código JavaScript malicioso. Este código se está ejecutando en tu sitio de WordPress y está relacionado con la creación de un script remoto. La función
turher
parece ser una función personalizada que verifica si un elemento en el DOM existe o no, y luego se utiliza para verificar si un elemento HTML específico existe en la página.El objetivo de este código malicioso puede variar, pero generalmente se utiliza para realizar actividades no autorizadas en sitios web. Puede ser utilizado para robar información sensible, inyectar malware en el sitio, redirigir a los visitantes a otros sitios maliciosos o comprometer la seguridad de tu sitio de otras formas.
Es importante tomar medidas inmediatas para mitigar los efectos de este código malicioso en tu sitio:
BingChat
- Elimina el código: Debes buscar y eliminar todo el código malicioso que se haya agregado a tus archivos de WordPress. Esto incluye verificar los archivos del tema activo, plugins o cualquier otro código personalizado que hayas agregado.
- Restaura una copia de seguridad: Si tienes una copia de seguridad reciente de tu sitio antes de que ocurriera este incidente, puedes restaurarla para revertir tu sitio a un estado seguro y limpio. Asegúrate de realizar una copia de seguridad de tu sitio regularmente para estar preparado para situaciones como esta.
- Actualiza todo el software: Asegúrate de tener la versión más reciente de WordPress, tus plugins y temas instalados. Las actu
- alizaciones a menudo incluyen parches de seguridad que pueden ayudar a prevenir vulnerabilidades conocidas.
- Verifica la integridad de tus archivos: Es posible que los archivos de tu sitio hayan sido comprometidos o reemplazados. Puedes utilizar una herramienta como el administrador de archivos de tu panel de control de hosting para verificar si hay archivos sospechosos o modificados recientemente.
- Refuerza la seguridad de tu sitio: Considera implementar medidas adicionales de seguridad como el uso de un firewall de aplicaciones web (WAF), habilitar la autenticación de dos factores (2FA) para el inicio de sesión, limitar el acceso a través de direcciones IP y utilizar plugins de seguridad confiables.
- Recuerda que es importante seguir buenas prácticas de seguridad para proteger tu sitio de futuros ataques.
Este script por cierto, no aparece en ninguna parte del código. De hecho muta cada vez que intentas eliminarlo, apuntando a nuevas direcciones url.
Hasta aquí, el comportamiento de la pagina haría que pasara la infección desapercibida pues, se mantiene oculto, pero el virus no tiene la capacidad de saber si ha tenido éxito o no, por lo que su comportamiento destructivo se extiende.
La infección
Al diseminarse incontrolablemente por el sitio WordPress, empieza a causar daño en el funcionamiento del sitio, generando molestos mensajes de error por todas partes u obstaculizando funciones como inicio de sesión y otras. El administrador del sitio puede quedarse fuera, incapaz de acceder y obviamente genera pánico. Esto por supuesto, dudo que sea un comportamiento deseado por el virus, pero no se mucho sobre quien o por que lo escribe. Según he ido hablando con mas gentes, me hago una idea que pondré en las conclusiones.
Si el administrador no ha entrado en pánico ni contratado a un programador que cobre 300 dólares la hora para desinfectar sitios WordPress, probablemente intente explorar lo que esta sucediendo y encuentre el archivo index.php infectado, con esta apariencia. (si, es Notepad++, me gusta para ediciones rápidas)
Este es en general, la causa del mal funcionamiento del sitio. El malware inyecta este o un código similar en diferentes archivos y plugins sin saber como funciona cada uno, provocando un colapso generalizado.
Para entender un poco sobre que hace el código, le he preguntado a BingChat, copiándole exactamente el código adicional que aparece en el index.php. Es obvio que conoce muchos códigos parecidos por como responde e incluso podría explicarme como funcionan, pero se niega a hacerlo (╯°□°)╯︵ ┻━┻ .
Aparte de estas cosas, realmente no hay mucho mas que repasar. Su funcionamiento es bastante simple, pero molesto, por lo que hay que tomar acciones pronto para recuperar el control.
Un poco de investigación
Insistiré en que realmente me gastaría saber como se coló al sitio, pero como no he encontrado y BingChat no me quiso decir, empezare a repasar las cosas que encontré en mi travesía.
Usuarios Spam
En primer lugar, un acusado era la gran oleada de usuarios de spam que se creaban en el sitio. Generalmente la reinfección se daba cuando estos molestos bots entraban e incluso ganaban privilegios de administración.
Sin duda alguna, estos usuarios eran mas una consecuencia que la causa de la infección, aunque tarde un poco en darme cuenta.
Tras desechar a los primeros y también descubrir que, aunque desactive el login de WordPress, WooCommerce aun mantiene un login propio, pase a buscar nuevos sospechosos.
WooCommerce y WoodMart
Aunque WooCommerce en general es seguro, es muy importante tener todo muy actualizado. WoodMart tiene una vulnerabilidad en la versión 7.2.1 que permite la ejecución de cross site scripting y justo teníamos ese tema, en esa versión y con esos síntomas. Por supuesto, actualizamos los temas pero aun teníamos problemas de con el virus.
Plugins misteriosos
No tengo un buen registro de los plugin misteriosos que encontré. Como el sitio web no lo cree yo, no le preste demasiada atención a los plugin que tenia. El dueño me insistió en que había pagado por cada uno de los componentes de su sitio así que me confié, por lo que me sorprendí bastante al encontrar cosas sospechosas tras rendirme por otros lados.
Explorar los errores me llevaron a este plugin, el cual el dueño decia que nunca habia instalado por si mismo Custom Scripts Expert. Aunque investigue sobre este plugin, no parecia ser malicioso sino solo una victima colateral de la infeccion o por el contrario, un plugin inofensivo instalado por el malicioso para realizar otras acciones.
Una cosa que encontre tambien, es que los codigos que eran modificados, siempre mostraban una fecha de actualizacion reciente, por lo que era relativamente facil descubrir y borrar la parte afectada de forma manual
y un analisis posterior revelo mas plugins que ni siquiera constaban en la lista de plugins de wordpress
- wp-swamp
- my-custom-theme
- custom-scripts-expert
Finalmente me hacia una idea de lo que debia hacer para detener esa locura.
Soluciones
El dueño de la web tenia algunos plugin de seguridad que utilice para evitar la contaminación. Adelanto que Ninja Scanner no hizo nada. No detecto una obvia contaminación y Anti-Malware de GOTMLS si que fue capaz de rastrear los fragmentos infectados y eliminarlos sin dañar lo que funcionaba.
Con el plugin All-in-One security, puse configuraciones básicas como
- Restringir la edicion de archivos php
- Lista negra
- Control de Spam
- Controlar la version de los archivos de la instalacion
Y muchas mas (que no recuerdo porque no anote nada de ese día (╯°□°)╯︵ ┻━┻ )
Conclusiones
Es posible que si has llegado hasta aquí, pienses TL;DR mucho texto y cosas por el estilo, pero toda esta experiencia es de algo mas de dos meses de trabajo e investigación. Canté victoria varias veces antes de darme cuenta de que no había logrado tener éxito y finalmente la instalación fue recuperada y ya esta trabajando sin riesgos.
No dudo que aun queden rastros del virus, pero por el momento esta todo tranquilo. Con el tiempo y las actualizaciones, probablemente se vayan reemplazando las cosas hasta que quede totalmente limpio, pero no es lo optimo.
He visto tres casos mas, pero ya no recomiendo hacer una limpieza de un sitio infectado, sino volver a un momento en el que no este infectado y agregar medidas de seguridad desde allí. Muchos servicios de Hosting ofrecen un servicio de RollBack. No lo promocionan mucho, imagino que para que no los jodan, pero por lo general es gratuito y diario. En caso de contar con una VPS, recomiendo hacer unos cuantos scripts para tener un respaldo local, no es demasiado complicado y puede ahorrar muchos dolores de cabeza, por supuesto, un poco de spam me viene bien pues ya he hecho algo sobre el tema.
Y sobre las sospechas… Tengo algunas. Aunque el dueño dijo que había pagado por plugins y temas, no tengo la seguridad de que el programador que contrató, no haya usado plugins nulled (o sea, piratas) y posiblemente el plugin de wp-file-manager haya estado infectado. Esto ultimo no estoy seguro, me gustaría encontrar fuentes, pero parece que fue acusado de inyectar código malicioso en su plugin a pesar de que lo vende.
La semana pasada nos encontramos con una vulnerabilidad muy grave en un plugin de WordPress llamado «File Manager». El problema es tan grande que incluso los hackers atacantes están competiendo entre ellos por aprovechar la vulnerabilidad antes que nadie.
También he ido aprendiendo que algunos temas inyectan código malicioso a pesar de que se los compra, por lo que solo queda aconsejar que usen cosas de confianza. A veces lo barato sale caro.
4 respuestas a “Experiencias con Virus en WordPress”
Esta bastante bueno tu artículo, y enseña bastante de seguridad informática
Muchas gracias, Es un tema que me gusta, pero no he abordado mucho, espero ir agregando cosas nuevas a medida que pase el tiempo.
NICE POST 💖💓💚
I am new follower. I hope follow my blog and GROW TOWETHER.
Together we grow if we read, like and comment on our posts. THANK YOU
Greetings from SPAIN 🇪🇦
saludos y gracias por pasar 😀