Un supuesto exploit zero-day de Changelly que circula entre aspirantes a atacantes resulta ser un cebo. Según una investigación de ThreatMon, el código es una herramienta de secuestro de transacciones de criptomonedas, y las personas con más probabilidades de resultar perjudicadas son las que lo ejecutan. Este falso esquema de secuestro de carteras mediante un zero-day de Changelly muestra cómo los atacantes pueden dirigirse a los curiosos, los oportunistas y los descuidados con la misma pieza de JavaScript.

Cómo el falso exploit de Changelly atrajo a las víctimas

La campaña se presentó como un exploit funcional para una vulnerabilidad en Changelly, un servicio de intercambio de criptomonedas. Las afirmaciones sobre una falla zero-day son un gancho eficaz. Un zero-day es una vulnerabilidad que el proveedor aún desconoce, por lo que la promesa de un exploit listo para usar atrae a personas que esperan beneficiarse de él o simplemente probarlo.

Esa es la trampa. Según ThreatMon, las afirmaciones falsas sobre la vulnerabilidad se usaron para atraer a los usuarios a interactuar con el código. En lugar de atacar a Changelly, el script actúa contra quien lo ejecute. El aspirante a atacante se convierte en el objetivo.

El enfoque no es nuevo en esencia. Los investigadores de seguridad llevan mucho tiempo viendo código de prueba de concepto con trampas y herramientas falsas dirigidas a personas que buscan atajos. Lo que hace notable este caso es la carga útil específica: un script diseñado para interferir con transacciones de criptomonedas directamente en el navegador.

Qué hace el script malicioso con las direcciones de cartera

El JavaScript malicioso fue diseñado para hacer dos cosas, según los hallazgos de ThreatMon:

  • Reemplazar direcciones de cartera. Cuando un usuario introduce o copia una dirección de destino para una transacción, el script puede sustituirla por una dirección controlada por el atacante. Los fondos enviados de buena fe terminan en la cartera equivocada.
  • Manipular los valores de cambio mostrados. El script puede alterar los números que aparecen en pantalla, de modo que las tasas o los montos que ve un usuario no coincidan con la realidad. Esto ayuda a ocultar el robo y hace que la transacción parezca normal.

Las transacciones de criptomonedas generalmente son irreversibles. Una vez que las monedas se envían a la dirección de un atacante, normalmente no hay un banco al que llamar ni un contracargo que solicitar. Eso hace que cualquier herramienta que cambie silenciosamente una dirección de destino sea especialmente dañina.

Por qué el secuestro a nivel del navegador es difícil de detectar

Este tipo de ataque no necesita irrumpir en un exchange, descifrar una contraseña ni robar una clave privada. Actúa en el punto donde se visualiza y confirma la información: el navegador. Si la propia página está siendo alterada por JavaScript inyectado, lo que se ve puede no ser lo que realmente está ocurriendo.

Algunas razones por las que esto es difícil de detectar:

  • Las direcciones largas son difíciles de leer. Las direcciones de cartera son cadenas de caracteres aleatorios. Pocas personas revisan cada carácter, y los atacantes suelen aprovecharse de eso.
  • La interfaz sigue pareciendo legítima. Si los valores de cambio mostrados se manipulan, la pantalla puede verse coherente y confiable hasta el mismo momento del envío.
  • No hay una advertencia evidente. A diferencia de un inicio de sesión fallido o una alerta de seguridad, una dirección sustituida no produce ningún mensaje de error.

La lección es que la pantalla del navegador por sí sola no es una fuente confiable de verdad cuando hay dinero real de por medio.

Qué significa esto para usted

La mayoría de los lectores nunca saldrá en busca de código de exploit, pero el riesgo subyacente se aplica ampliamente. Cualquier script que se ejecute en su sesión del navegador, ya sea desde una descarga dudosa, un fragmento pegado en la consola, una extensión sospechosa o una página comprometida, podría alterar lo que ve durante una transacción de criptomonedas.

Si maneja criptomonedas, trate el código no oficial de "exploit" o "bonus" como hostil por defecto. El código que promete acceso fácil a los fondos de otra persona debería generar sospecha, no curiosidad. Y si es un investigador de seguridad o un aficionado, analice el código desconocido solo en un entorno aislado, nunca en una máquina o perfil de navegador vinculado a sus carteras reales.

La higiene de red también importa. Las redes no confiables añaden otra vía para que los atacantes manipulen lo que usted hace en línea, como se muestra en la advertencia de Microsoft sobre hackers rusos en redes Wi-Fi de hoteles. Ese informe trataba sobre robo de credenciales y malware, no sobre criptomonedas, pero la precaución se aplica: evite manejar criptomonedas en redes en las que no confía.

Comprobaciones que protegen sus transacciones de criptomonedas

Unos cuantos hábitos reducen drásticamente las probabilidades de perder fondos por scripts que sustituyen direcciones:

  1. Verifique la dirección en la pantalla de una cartera de hardware. La pantalla del dispositivo es independiente de su navegador, por lo que el JavaScript inyectado no puede cambiarla. Compare la dirección allí con el destinatario previsto.
  2. Nunca ejecute código de exploit no oficial. Si un supuesto zero-day de Changelly o cualquier otro exploit aparece en un foro o chat, no lo ejecute, y nunca pegue código desconocido en la consola de su navegador.
  3. Desconfíe de las ventanas emergentes de exchanges. Llegue a los exchanges escribiendo la dirección usted mismo o usando un marcador, e ignore las solicitudes inesperadas.
  4. Use un bloqueador de scripts. Limitar qué JavaScript puede ejecutarse reduce el margen para que opere el código inyectado.
  5. Envíe primero una transacción de prueba pequeña. Para transferencias grandes, confirme que los fondos llegan al lugar correcto antes de enviar el monto completo.
  6. Mantenga la actividad con criptomonedas en un perfil de navegador limpio. Menos extensiones y menos pestañas no relacionadas significan menos posibilidades de que algo interfiera.

Puntos clave

La campaña de secuestro de carteras mediante el falso zero-day de Changelly es un recordatorio de que el cebo más convincente a menudo se dirige a personas que creen ser el atacante. La defensa práctica es sencilla: no ejecute código en el que no pueda confiar, bloquee los scripts innecesarios y confirme cada dirección de cartera en la pantalla de una cartera de hardware antes de aprobar una transacción. Trate su navegador como no confiable para la verificación final, y manténgase cauteloso en redes públicas o desconocidas al mover criptomonedas.