Cross-Site Scripting (XSS): Guía completa

Valoración:
5/5
de lectura

Si te preocupa ser víctima de una infección de Cross-Site Scripting has de saber que es normal. De hecho, la vulnerabilidad de las secuencias de comandos entre sitios (también conocida como XSS o Cross-Site Scripting) no es exclusiva de páginas web WordPress.

Por este motivo, es  importante comprender los posibles impactos negativos en páginas web que puede llegar a tener este tipo de infección y, por ello, en esta guía desglosaremos las vulnerabilidades de secuencias de comandos entre sitios (XSS) que has de vigilar.

Nota: Puede que esta guía sea «algo técnica» pero intentaremos hacer que sea lo más sencilla posible para que consigas burlar este tipo de ataques

Tabla de contenidos

¿Qué es Cross-Site Scripting (XSS)?

Cross-site scripting (XSS) es un tipo de ataque de malware que se ejecuta mediante la explotación de vulnerabilidades entre páginas web de cualquier tipo.

De hecho, este tipo de infección es la forma más común de piratear sitios web WordPress debido a la gran cantidad de plugins de WordPress que contienen vulnerabilidades XSS.

Explicación de las secuencias de comandos entre sitios

¿Qué es la secuencia de comandos entre sitios en términos aún más técnicos?

Las vulnerabilidades de secuencias de comandos entre sitios permiten que se lleve a cabo un código JavaScript externo en una págin web. Esto puede ser muy difícil de detectar para los propietarios de la página web WordPress ya que los ataques que aprovechan este tipo de vulnerabilidad pueden ser de diferentes tipos.

De hecho, los diferentes tipos de ataques XSS se pueden resumir en dos categorías principales:

  • Secuencia de comandos maliciosa que se ejecuta en el navegador del lado del cliente.
  • Secuencia de comandos maliciosa que se almacena y ejecuta en el servidor y posteriormente se entrega a través del navegador.

¿Qué hace que los ataques XSS sean frecuentes en páginas web WordPress?

Los plugins de WordPress.

Cuantos más plugins utilices y más complejos sean estos más posibilidades tendrás de ser infectado mediante Cross-Site Scripting (XSS).

De hecho, los desarrolladores de plugins saben lo difícil que es protegerse frente los ataques XSS ya que es todo un desafío para su trabajo. Para que te hagas una idea, algunos de los gigantes tecnológicos más estimados, como Facebook, Apple y Google, han sufrido ataques XSS en el pasado. De hecho, emplean equipos completos de seguridad dedicados para minimizar los riesgos de estos ataques.

Estos ejemplos te servirán para poner las cosas en perspectiva sobre la facilidad con la que un ataque de XSS puede colarse en un plugin de WordPress por muchos recursos de seguridad que emplees.

Nota: Para evitar este tipo de ataques lo mejor será tener siempre actualizado todo tu WordPress (Core, plugins, themes). Sin embargo, no existe una forma garantizada de protegerse completamente frente a un ataque XSS.

De hecho, la mayoría de páginas web WordPress tienen vulnerabilidades que no son públicas y que los piratas informáticos podrán aprovechar.

Si bien el daño que los piratas informáticos podrán hacer con un ataque de secuencias de comandos entre sitios (XXS) dependerá del objetivo final, en el peor de los casos, toda tu página web podrá ser hackeada.

En otros casos, los piratas informáticos también podrán realizar cambios menores en tu página web o incluso redirigir a tus visitantes hasta un sitio web malicioso que hayan configurado.

Por lo tanto, los piratas informáticos que utilizan infecciones de Cross-Site Scripting (XSS) podrán:

  • Secuestrar las sesiones de tus usuarios detectando ID de sesión.
  • Colocar redireccionamientos y ventanas emergentes que no autorizaste.
  • Encabezar ataques de phishing maliciosos.
  • Grabar cada tecla pulsada por tu usuarios mediante keyloggers.
  • Robar información financiera de un usuario.

¿Qué tipo de Cross-Site Scripting (XSS) existen?

No todos los ataques XSS son igual de peligrosos. De hecho, algunos son mucho más peligrosos que otros.

En algunos ataques, los piratas informáticos tendrán acceso completo a tu sitio de WordPress. En ese momento básicamente podrán hacer lo que quieran con él.

En otros casos, el ataque permitirá que un pirata informático modifique una parte de tu página web.

¿Cómo funcionan la secuencia de comandos entre sitios (XXS)?

Los piratas informáticos experimentados encontrarán vulnerabilidades mediante el uso de herramientas automatizadas ya que por desgracia los bots podrán realizar todo el proceso de piratería.

Por todo ello, existen cinco formas diferentes en que los piratas informáticos utilizarán XSS para llevar a cabo sus objetivos:

1. Secuestrar una sesión de usuario

Un ataque XSS podrá ayudar a los piratas informáticos a obtener acceso a las cookies. El aspecto más peligroso de esto es que así el hacker podrá saber el ID de sesión de un usuario.

La mayoría de páginas web utilizan sesiones para que cada usuario de la web establezca un identificador único. Posteriormente, las sesiones se almacenan dentro de las cookies de sesión mediante un script.

Por ello, los piratas informáticos podrán enviar una cookie de sesión al sitio web específico y registrar la solicitud en el archivo access.log del servidor.

Cuando el pirata informático utilice la información de la sesión podrá iniciar sesión en cualquiera de las cuentas en las que haya iniciado sesión sin la necesidad de una contraseña.

2. Ejecución de actividades no autorizadas

En algunos casos, los piratas informáticos no podrán utilizar JavaScript para robar la cookie deseada. En estos casos, intentarán utilizar ataques XSS para ejecutar actividades que no estén autorizadas.

Por ejemplo, podrán hacer que haga que aparezca un mensaje en tu sección de comentarios continuamente.

3. Ataques de suplantación de identidad

A menudo, las vulnerabilidades de secuencias de comandos de sitios cruzados de WordPress llevan a los piratas informáticos a un esquema mucho más grande que un simple ataque XSS.

Los scripts de sitios cruzados pueden provocar ataques de phishing en tu página web que engañen a tus usuarios para que proporcionen información altamente confidencial. Este es un ataque muy peligroso.

4. Instalación del registrador de teclas

Este tipo de ataque el hacker implementará un script que instalará un keylogger en tu página web WordPress para saber cada tecla pulsada por tus usuarios para así robar información de tarjetas de crédito, contraseñas, información médica y mucho más.

5. Robo de información sensible

Hemos hablado de las cookies y cómo se roban. Pero este ataque en particular lleva este principio a un nivel diferente.

Imagina un escenario en el que la página de tu banco está bajo un ataque XSS. Si un pirata informático utiliza un script en particular este podrá iniciar sesión directamente en tu cuenta corriente sin validación.

Si bien este no es un concepto nuevo, es una extensión de lo que los piratas informáticos son capaces de realizar mediante el uso de cookies de sesión.

¿Cómo protejo mi sitio de WordPress de los ataques de secuencias de comandos entre sitios?

El problema real es que los piratas informáticos profesionales continúan creando variaciones más complejas para eludir incluso a los mejores sistemas de seguridad.

Realmente es una especie de juego del ratón y el gato.

Por este motivo, la mejor forma de detectar ataques XSS es utilizar un plugin de seguridad y realizar copias de seguridad de forma regular en caso de infección.

¿Cómo funcionan los ataques XSS?

La forma en que funciona un ataque dependerá del tipo de ataque lanzado por el pirata informático aunque una cosa esta clara, todos estos ataques utilizarán JavaScript para propagar el malware malicioso.

Por lo tanto, te recomendamos familiarizarte con este lenguaje de programación que se encuentra entre el código HTML de tu página web y que es capaz de realizar casi cualquier función imaginable.

Por ejemplo, una tienda online WooCommerce que acepte pagos y los almacene en una base de datos podrá utilizar JavaScript para enviar información de inicio de sesión y detalles de pago a una persona diferente.

Por ello, cuando los piratas informáticos aprovechan esta vulnerabilidad en el código de tu página web para ejecutar JavaScript se puede hablar de un ataque XSS.

Este tipo de vulnerabilidad generalmente ocurrirá en casi cualquier página web donde los usuarios ingresen datos como en:

  • Ventanas emergentes
  • Formularios de información
  • Barras de búsqueda
  • URLs

Ten en cuenta que cada campo de entrada de datos no tiene por que ser necesariamente visual. En algunos casos, puede ser una variable defectuosa dentro del código de tu página web que recupere datos no desinfectados de una base de datos o de cualquier otro archivo.

Ataques XSS persistentes o almacenados

Supón por un momento que tu página web es un blog que contiene una sección de comentarios abierta. Si uno de sus usuarios te deja un comentario dichos datos se enviarán a la base de datos y se almacenarán.

Por procesos como este, es importante que tu página web esté configurada para desinfectar esos datos antes de que se almacenen en su base de datos.

En otras palabras, debes verificar si el usuario que escribió el comentario fue legítimo o era es un script malicioso. Sin esta verificación se podrá abrir una falla XSS en WordPress.

Así es como funciona:

  1. El pirata informático localizará y aprovechará la vulnerabilidad: Los piratas informáticos emplean bots para localizar páginas web con vulnerabilidades para atacarlas. Una vez localizada la página web se colocarán scripts maliciosos en la sección de comentarios. Sin ningún control, el script malicioso tomará la página web y enviará el código malicioso a la base de datos.
  2. Los visitantes accederán a la página web infectada: Para el visitante web promedio los datos del pirata informático parecerán un comentario estándar. Lo que este visitante no sabrá es que un simple comentario es un código ejecutable que robará cookies. Por lo tanto, cualquier usuario que visite la página se verá afectado negativamente.
  3. Robo de cookies del navegador: La mayoría de los usuarios suelen tener varias pestañas abiertas en sus navegadores en todo momento. Cuando el usuario visite la página web infectada y vea que la página que contiene el comentario de un pirata informático, el código se ejecutará de inmediato y permitirá que el pirata informático robe las cookies del navegador.
  4. Explotación de las cookies robadas: Al usar las cookies robadas, el  pirata informático se hará pasar por un usuario autenticado en la página web para, por ejemplo, realizar compras ilegales. También los atacantes podrán robar información de la cuenta, como contraseñas y nombres de usuario, y piratear correos electrónicos para enviar correos electrónicos de phishing a una lista de contactos completa.

Ataques XSS no persistentes o reflectantes

Este no será un ataque a los visitantes de la página web sino que será un ataque a la propia página web.

Si es propietario del WordPress quien tenga muchas pestañas abiertas en el navegador una de ellas será al menos la del panel de administración de WordPress provocando así los ataques reflectantes XSS.

Así es como funciona:

  1. El propietario del sitio se dirigirá a un enlace malicioso: En algunos casos, un pirata informático enviará un enlace malicioso a tu correo electrónico con la esperanza de que caigas en su pequeño truco. En otros casos, los piratas informáticos colocarán enlaces maliciosos en otras webs. Al hacer clic en estos enlaces se descargará un script en tu página web WordPress desde un sitio externo.
  2. Captura de cookies de sesión: Cuando hagas clic en el enlace malicioso ejecutarás el código que han empleado. Esto permitirá al pirata informático robar tus cookies y obtener el acceso a la cuenta de administrador de tu página web WordPress. Una vez dentro podrá robar fácilmente datos confidenciales y credenciales de inicio de sesión. Incluso podrá bloquear u página web o realizar diferentes hacks.

Conclusiones

Un ataque XSS ejecutado correctamente tendrá consecuencias importantes para tu negocio y tu página web ya que podrá dañar seriamente tu credibilidad.

Además, recuperarte de estos ataques podrá requerir mucho tiempo y dinero. Por este motivo, es importante tomar todas las precauciones posibles frente a este tipo de ataques.

¿Necesitas limpiar tu web hackeada? Podemos ayudarte.

Te ayudamos a mantener segura tu página web WordPress frente a ciber ataques
¿Necesitas ayuda con la seguridad de tu WordPress?

Deja tu página web en manos de expertos y mantén segura tu página web WordPress frente a ciber ataques

¿Tienes alguna duda?

O escríbenos a hola [@] limpiatuweb [.] com para más preguntas

¡Suscríbete!

Y recibe directamente en tu email cada mes todas las vulnerabilidades en plugins, themes y WordPress