¿Cómo detectar amenazas y responder a incidentes relacionados con JQuery y JavaScript maliciosos?

jQuery es una biblioteca de JavaScript popular que se usa ampliamente para crear páginas web dinámicas e interactivas. Sin embargo como cualquier otro software los ciberdelincuentes también pueden utilizarlo para propagar malware.

Una táctica común utilizada por los atacantes es inyectar código JavaScript malicioso en sitios web legítimos, a menudo a través de vulnerabilidades en el sistema de administración de contenido del sitio web. Este código luego puede usar jQuery para manipular la funcionalidad del sitio web y robar información confidencial de los visitantes. Por ejemplo un atacante puede usar jQuery para agregar un formulario a un sitio web que parece un formulario de inicio de sesión, pero en realidad envía las credenciales del usuario a un servidor controlado por el atacante.

Otra táctica es distribuir malware disfrazándolo como un complemento jQuery legítimo. Esto se puede hacer modificando un complemento existente o creando uno nuevo que parece ofrecer una funcionalidad útil, pero que en realidad contiene malware.

Para protegerse contra el malware jQuery es importante mantener todo el software, incluido jQuery y cualquier complemento actualizado con los parches de seguridad más recientes. Además es una buena idea usar un software antivirus confiable y tener cuidado al descargar e instalar complementos u otro software de fuentes no confiables.

Un plan de respuesta a incidentes de malware jQuery JavaScript debe incluir los siguientes pasos:

  1. Identificación: el primer paso es identificar que se ha producido un incidente de malware jQuery JavaScript. Esto se puede hacer monitoreando el tráfico web, los registros y otros datos de seguridad en busca de signos de actividad sospechosa. Esto incluye buscar signos de código JavaScript malicioso que se inyecte en páginas web legítimas, o signos de malware que se distribuya a través de complementos jQuery disfrazados como legítimos.
  2. Contención: una vez que se ha identificado el incidente, se deben tomar medidas para contener el malware y evitar que se propague más. Esto puede incluir el aislamiento de los sistemas afectados, la desactivación de las conexiones de red y el cierre de los servicios afectados. Esto también incluye identificar y bloquear la fuente del malware.
  3. Análisis: una vez que se ha contenido el malware, se debe analizar para determinar sus capacidades y comportamientos. Esto puede incluir la identificación del tipo de malware, los datos que recopila y extrae, y los sistemas y redes que ha infectado.
  4. Erradicación: el siguiente paso es eliminar el malware de los sistemas afectados. Esto se puede hacer eliminando manualmente el código malicioso o utilizando un software de eliminación de malware especializado. Además, se debe escanear el sistema para asegurarse de que se haya eliminado todo el código malicioso.
  5. Recuperación: después de eliminar el malware, se deben tomar medidas para recuperar los sistemas y datos afectados. Esto puede incluir la restauración de copias de seguridad, la reinstalación de software y la reconfiguración de sistemas.
  6. Lecciones aprendidas: el paso final es realizar una revisión posterior al incidente para identificar qué salió mal y qué se puede hacer para evitar que ocurran incidentes similares en el futuro. Esto puede incluir actualizar los planes de respuesta a incidentes, implementar nuevos controles de seguridad y brindar capacitación adicional a los empleados.

También es importante tener en cuenta que la respuesta a incidentes es un proceso continuo, y las organizaciones deben revisar y actualizar periódicamente sus planes de respuesta a incidentes para asegurarse de que están preparados para responder a nuevos tipos de ataques.

ESCENARIO DE ATAQUE:

Los atacantes inyectaron JavaScript/jQuery malicioso utilizando los códigos fuente ABC de la empresa. El analista de Soc supervisó al cliente y observó códigos de estado de redirección HTTP sospechosos como (3XX) a dominios desconocidos que no son propiedad del cliente. Se creó un ticket de incidente para el equipo de IR para una mayor investigación sobre este caso.

Se asignó a la persona que responde a incidentes “Kim” y ella comenzó a investigar el incidente revisó los códigos fuente de los clientes. Mientras investigaba, vio archivos de scripts jQuery ofuscados en la carpeta JavaScript.

Kim ha observado que los atacantes han manipulado el archivo legítimo de JavaScript/jQuery con líneas adicionales en el código.

Código malicioso :

Kim usó la herramienta cyberchef para descifrar los números anteriores.

Como se ilustra en la imagen de arriba los datos decodificados parecen ilegibles. ¡Kim, notó algo! Hay una coma entre cada número.

Ahora el delimitador se ha establecido en coma en la función from charcode en cyberchef.

Todavía no hay suerte, solo ves los datos codificados. Es hora de cambiar el número base a más pequeño o más grande. Al cambiar la base de 0 a 37, Kim encontró resultados interesantes en la base 10.

¡Sí, ahora puede ver la carga útil real! Esperar !! Mire los números nuevamente parece que el atacante usa doble ofuscación. Vamos a decodificarlo también.

La figura decodificada anterior muestra el nombre de dominio https://record[.]findtrustclicks.com/state[.]js?v=2.6.6 , verificando los resultados en Virustotal.

Resultados de Virustotal para dominio malicioso

Se han erradicado los códigos maliciosos para los clientes y el complemento utilizado por los clientes no se ha actualizado durante mucho tiempo lo que ha sido la causa fundamental de este incidente.