Infectado plugin de codecanyon.

  • Autor Autor Gregh
  • Fecha de inicio Fecha de inicio
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Gregh

Gregh

Ómicron
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Verificado por Binance
Hola

Iba a probar nuevamente un plugin que compre hace un tiempo en Codecanyon, recién lo baje de mi cuenta, lo pasé por virustotal... sorpresa, que me da un resultado de que tiene troyano.

Fui "dividiendo" archivo por archivo hasta encontrar cual era el que hacia saltar la alarma de virustotal. Es éste archivo llamado resolution.js



1692145119867.png



Es posible que sea un falso positivo, pero igual le pegué una mirada y en mi poco y nulo conocimiento de programación, no encontré cosas como que conecten a otro server o algo así

Podría alguien experto darle una miradita al archivo y ayudarnos a verificar si efectivamente está infectado o si es un falso positivo.

Lo subí a 1fichier porque no se con cual pagina podría compartir código directamente., tampoco pegarlo aqui en el post porque no me permite, según es muy largo.


Igual ya se lo comenté al creador en su publicación.
 
Última edición:
Hola,

Lamentablemente, yo como bot no puedo abrir y analizar archivos para determinar si son maliciosos o no. Te aconsejaría acudir a un experto en ciberseguridad o un desarrollador con mucha experiencia para analizar el archivo. Mientras tanto, sería seguro no ejecutar el archivo o el plugin hasta que estés seguro de que está limpio.

También puedes contactar al soporte de Codecanyon para informarles sobre este problema e intentar obtener ayuda de su parte.
 
Yo diria que hables con el soporte, porque son 2500 lineas de codigo ... Podriamos pedirselo a la IA?

//BotBeta puedes analizar este codigo JavaScript buscando algun tipo de script de tipo virus troyano, que pueda hacer vulnerable mi sitio web.

Lo intente pero me salta error de mensaje demasiado largo!
 
Yo diria que hables con el soporte, porque son 2500 lineas de codigo ... Podriamos pedirselo a la IA?

//BotBeta puedes analizar este codigo JavaScript buscando algun tipo de script de tipo virus troyano, que pueda hacer vulnerable mi sitio web.

Lo intente pero me salta error de mensaje demasiado largo!
Si, ya se lo comenté al creador en Codecanyon, toca esperar nomas que responda.
 
@BotBeta Que es el VIRUS sangfor engine zero, acronis static ML
Sangfor Engine Zero y Acronis Static ML son motores de detección de malware utilizados por diferentes soluciones de seguridad. Si Virustotal los muestra como reactivos, están detectando un patrón en el archivo que generalmente está asociado con malware. Sin embargo, esto no siempre significa que el archivo sea malicioso; podría ser un falso positivo. Te recomendaría obtener una segunda opinión de un experto en seguridad o del soporte de Codecanyon.
 
Según chatgpt, no.

Insertar CODE, HTML o PHP:
Entendido. Voy a analizar el archivo JavaScript que proporcionaste para ver si contiene algún código sospechoso o patrones comunes de malware.

Empecemos por ver el contenido del archivo y luego haremos un análisis más detallado.

El código JavaScript proporcionado parece estar estructurado en un formato de módulo y está utilizando una técnica común para extender clases y prototipos. Hasta ahora, no veo nada obviamente malicioso en las primeras líneas. Sin embargo, para hacer un juicio completo, necesitamos analizar más a fondo el archivo.

Aquí hay algunas cosas que buscaré en el archivo:

1. Código ofuscado o minificado que sea difícil de leer.
2. Funciones que interactúan con el DOM de formas inusuales.
3. Solicitudes AJAX o WebSockets a dominios desconocidos.
4. Uso de APIs de navegador que pueden ser utilizadas para actividades maliciosas (por ejemplo, acceso a archivos locales).
5. Cualquier otra actividad inusual o patrones de código que no sean comunes en archivos JavaScript normales.

Voy a proceder con un análisis más detallado del archivo para ver si encuentro algo sospechoso.

Basándome en el análisis preliminar, estos son los hallazgos:

- No se encontró el uso de `eval()`, que es una función que a menudo se asocia con código malicioso debido a su capacidad para ejecutar código arbitrario.
- No se encontraron solicitudes AJAX ni uso de WebSockets, lo que podría indicar comunicación con servidores externos.
- No se encontró el uso de `document.write()`, otra función que a veces se utiliza en actividades maliciosas.
- No se detectó la decodificación de Base64, una técnica que a menudo se utiliza para ofuscar código malicioso.
- Se encontró el uso de `setTimeout()` en 6 ocasiones. Esta función en sí misma no es maliciosa, pero puede ser utilizada en conjunción con otras técnicas para ejecutar código en un momento determinado.

La presencia de `setTimeout()` no es necesariamente una señal de comportamiento malicioso, ya que es una función comúnmente utilizada en el desarrollo web. Sin embargo, sería útil examinar más de cerca las instancias donde se utiliza para entender su propósito.

Voy a extraer los fragmentos de código donde se utiliza `setTimeout()` para que podamos examinarlos más a fondo.

Aquí están las líneas donde se usa `setTimeout()`:

1. `return setTimeout(function() {`
2. `timeout = setTimeout(later, remaining);`
3. `timeout = setTimeout(later, wait - passed);`
4. `timeout = setTimeout(later, wait);`
5. `setTimeout(() => {`
6. `setTimeout(() => {`

Por sí solas, estas líneas no ofrecen suficiente contexto para entender completamente su propósito. Sin embargo, en base a lo que vemos, el uso de `setTimeout()` parece bastante estándar. No hay evidencia inmediata de que se esté usando con fines maliciosos.

Sería útil ver más contexto alrededor de cada uso para obtener una mejor comprensión. Vamos a extraer un poco más de contexto alrededor de cada instancia de `setTimeout()`.

Aquí está el contexto alrededor de cada uso de `setTimeout()`:

1.
```
    // Delays a function for the given number of milliseconds, and then calls
    // it with the arguments supplied.
    var delay = restArguments(function(func, wait, args) {
      return setTimeout(function() {
        return func.apply(null, args);
      }, wait);
    });
```

2.
```
          previous = _now;
          result = func.apply(context, args);
          if (!timeout) context = args = null;
        } else if (!timeout && options.trailing !== false) {
          timeout = setTimeout(later, remaining);
        }
        return result;
```

3.
```
      var passed = now() - previous;
        if (wait > passed) {
          timeout = setTimeout(later, wait - passed);
        } else {
          timeout = null;
          if (!immediate) result = func.apply(context, args);
```

4.
```
      var debounced = restArguments(function(_args) {
        context = this;
        args = _args;
        previous = now();
        if (!timeout) {
          timeout = setTimeout(later, wait);
          if (immediate) result = func.apply(context, args);
        }
        return result;
```

5.
```
              const playButton = document.querySelector('.vjs-big-play-button')
              if (!isPaused) {
                 playButton.style.display = 'none'
                 player.paused();
                 setTimeout(() => {
                  player.play();
                 }, 200);
```

6.
```
                 }, 200);
              }
              if (isPaused) {
                 playButton.style.display = 'none'
                 player.paused();
                 setTimeout(() => {
                  player.play();
                 }, 200);
```

Basándome en el contexto proporcionado:

- Las primeras cuatro instancias de `setTimeout()` parecen estar relacionadas con funciones de retraso y debouncing, que son técnicas comunes en el desarrollo web para limitar la frecuencia con la que se ejecuta una función.
 
- Las últimas dos instancias parecen estar relacionadas con un reproductor de video y parecen controlar la reproducción y pausa del video.

En general, no veo evidencia inmediata de actividad maliciosa en estas instancias de `setTimeout()`. Por supuesto, una revisión más detallada por parte de un experto en seguridad sería ideal para confirmar estos hallazgos, pero basándome en el análisis hasta ahora, parece que el archivo es legítimo y el resultado del escáner podría ser un falso positivo.

Es importante mencionar que, a veces, los motores de escaneo de malware pueden dar falsos positivos, especialmente si se encuentran patrones de código que suelen ser comunes en scripts maliciosos, pero que también se utilizan en scripts legítimos. Si estás preocupado, podrías ponerte en contacto con el vendedor en CodeCanyon y pedir aclaraciones. Además, sería útil obtener una segunda opinión de un experto en seguridad o utilizar otros escáneres de malware para confirmar los resultados.
 
Cierro tema, el autor del plugin ya subio la actualizacion a codecanyon
 
Estado

🔒 Este tema está cerrado para nuevas respuestas.

⏰ Solo el creador del tema puede solicitar la reapertura de sus propios temas, pero únicamente dentro de los 60 días previos a la última actualización.

Atrás
Arriba