Capital Software Blog

Los estafadores están creando nuevos tokens criptográficos fraudulentos

1 de febrero 2022

2021 vio un máximo histórico en delitos relacionados con criptomonedas, con estafadores que obtuvieron $ 14 mil millones en criptomonedas. El aumento del fraude y las estafas se correlaciona con el inmenso crecimiento de la actividad dentro de las criptomonedas en todo el mundo.

Los anuncios y desarrollos recientes de la compañía muestran un mayor interés en las criptomonedas. Por ejemplo, PayPal está considerando el lanzamiento de su propia criptomoneda, Facebook cambió su nombre a Meta y MasterCard anunció que los socios en su red pueden permitir a sus consumidores comprar, vender y mantener criptomonedas utilizando una billetera digital.

Campañas de phishing

En noviembre, Check Point Research (CPR) alertó a los usuarios de billeteras criptográficas sobre una campaña masiva de phishing en un motor de búsqueda que resultó en el robo de al menos medio millón de dólares en cuestión de días. En este artículo, Check Point Research (CPR) demostrará cómo los piratas informáticos están creando nuevos tokens, y luego «extraen» todo el dinero de un contrato inteligente.

Más recientemente, las noticias de la BBC informaron que un token llamado SQUID robó USD 3,38 millones de criptoinversionistas en una estafa a gran escala. Un token criptográfico es una moneda similar a Bitcoin y Ethereum, pero algunos de los proyectos se crean para innovar y desarrollar nuevas tecnologías, mientras que otros tienen fines fraudulentos.
Esta investigación investiga cómo los piratas informáticos construyeron tokens para estafar a los consumidores y brinda consejos sobre cómo identificar estas estafas. Por ejemplo:

  • Algunos tokens contienen una tarifa de compra del 99% que le robará todo su dinero en la fase de compra.
  • Y algunos otros no son maliciosos pero tienen vulnerabilidades de seguridad en el código fuente del contrato y pierden sus fondos ante los piratas informáticos que explotan las vulnerabilidades.

Legitimidad de un token

Para identificar la legitimidad de un token, los investigadores de Check Point observaron su contrato inteligente en la red blockchain. Los contratos inteligentes son programas almacenados en una cadena de bloques que se ejecutan cuando se cumplen ciertas condiciones. El lenguaje de programación en un contrato inteligente es Solidity. Solidity es un lenguaje de programación orientado a objetos para escribir contratos inteligentes en varias plataformas de cadenas de bloques, en particular, Ethereum.

Por ejemplo, si alguien quiere ejecutar una función en un contrato inteligente, puede ver exactamente lo que sucederá en el código en lugar de ejecutar una función en un servidor web en Internet que está completamente oculto en el backend de la plataforma.

Ejemplo de creacion de monedas de estafa

Ahora veamos algunos ejemplos de cómo los piratas informáticos están creando monedas de estafa para engañarlo para que las compre y luego robar todo su dinero, por ejemplo, M3 (0x8ed9c7e4d8dfe480584cc7ef45742ac302ba27d7)

Podemos ver que tenemos una función _transfer , que es una función estándar de acuerdo con el estándar de contrato inteligente, pero esta función cobrará una » tarifa » de su » SUPERHERE total «, que es la cantidad del token que tiene:

Esta variable de «tarifa» se establece a través de la función » _setTaxFee «

Aquí la función “aprobar”, que es una función oculta en el contrato, intenta suplantar la función legítima “aprobar”

Si observamos la transacción de contrato creada en: https://bscscan.com/txs?a=0x8ed9c7e4d8dfe480584cc7ef45742ac302ba27d7

Esta función de » aprobar » se ejecutó dos veces:

Después de subir el contrato a la cadena de bloques, con el parámetro «8» como tarifa:

Después de que algunas herramientas de blockchain escanearon el contrato, los estafadores cambiaron la tarifa nuevamente a 99:

Esta técnica es común ya que los piratas informáticos implementan una tarifa oculta y la cambian más tarde.

Un token legítimo no cobrará tarifas ni cobrará valores codificados que el desarrollador no puede ajustar.

Por ejemplo, el contrato del token ValkToken se puede encontrar en la siguiente URL: https://bscscan.com/address/0x405cFf4cE041d3235E8b1f7AaA4E458998A47363#código

ValkToken implementó una tarifa codificada que no se puede cambiar:

Las tarifas de compra y venta no son la única estafa. Hay otros tipos, como capacidades ocultas de menta, que permiten a los desarrolladores crear más monedas, o incluso controlar quién puede vender. Un ejemplo es el contrato “ MINI BALONCESTO ” que cuenta con más de 3.500 compradores y más de 14.000 transacciones.
https://bscscan.com/address/0x31d9bb2d2e971f0f2832b32f942828e1f5d82bf9

Examinar el código fuente mostró que esta estafa no nos permite vender los tokens.

Esto se puede ver mirando la función «_transfer «:

Para ser elegible para vender, la dirección debe estar en la lista «_saldos1 » y » saldos1 » debe establecerse en » verdadero «, de lo contrario, se mostrará el error » ERC20: transferir a dirección cero «. Al observar las funciones que se establecen para esos valores, podemos ver que:

  • Renunciar – establecer los saldos variables1
  • Prize_fund: establezca el valor de la dirección que quiere vender en «verdadero»
  • Reflexiones: establezca el valor de la dirección que quiere vender en «falso»

Mirando nuestro código podemos ver en las transacciones la siguiente llamada de función:

[+] Nombre de la función: Renunciar dict_values([
Falso

])

[+] Nombre de la función: Prize_Fund dict_values([‘0xf86c3bd6a8Ef0e16CbAC211dcCc6A22B893eb85e’])

[+] Nombre de la función: Prize_Fund dict_values([‘0x6b8C3B6bf42d0FFcbd92287aBcE878e4236CE98e’])

[+] Nombre de la función: Renunciar dict_values([
Cierto

])
Lo que demuestra que al principio nadie podría vender, y luego solo estas 2 direcciones.

Levyathan es un contrato legítimo que fue pirateado. Utilizó un contrato de MasterChef como titular y transfiere a este contrato la titularidad como se puede apreciar en las transacciones: https://bscscan.com/address/0x304c62b5b030176f8d328d3a01feab632fc929ba

Este contrato es el único que puede administrar y acuñar (crear) más tokens:

En esta situación, uno de los desarrolladores del contrato subió por error la clave privada del contrato de MasterChef al repositorio de GitHub del proyecto. El hacker obtuvo acceso a la clave y acuñó millones de tokens.

Más tarde retiraron todos los fondos del contrato de Levyathan , pero ese no fue el único error en el contrato. CPR descubrió que este contrato tenía la función «Retiro de emergencia», que se usó varias veces para retirar los fondos sin el crédito adicional para la apuesta:

Pero los desarrolladores pusieron por error el parámetro rewardDebt en lugar de user.amount contiene todos los fondos + el crédito extra:

Los piratas informáticos utilizaron esta función para robar fondos del contrato. Al revisar las estadísticas de transacciones, hay más de 57 llamadas realizadas a EmergencyWithdraw para robar fondos del contrato.

En el ejemplo de LA RED ZENON, hubo un error al no limitar el acceso no autorizado a una función importante, lo que condujo a un desastre que permitió a los piratas informáticos robar 814 570 dólares.

Las funciones en Solidity tienen especificadores de visibilidad que dictan cómo se permite llamar a las funciones. La visibilidad determina si una función puede ser llamada externamente por usuarios, por otros contratos derivados, solo internamente o solo externamente.
El hackeo de Zenon Network fue posible gracias a una función de grabación sin protección dentro del contrato inteligente.

La función de grabación se configuró como una función externa, lo que significa que se pueden llamar desde otros contratos y mediante transacciones.

La función de grabación puede destruir fichas en el grupo, lo que puede hacer que aumente el valor de las fichas. El acceso a las funciones de grabación debería estar restringido, pero Zenon Network se etiquetó involuntariamente como externa, por lo que se puede llamar públicamente.

Como puede ver en la transacción, el atacante agregó $ 0.42 en WBNB al grupo de liquidez a cambio, obtuvo 0.01354 monedas de znn envuelto.

Luego usaron la función de grabación para destruir 26 468 monedas enviándolas a la dirección de grabación 0x00000000000000000000000000000000000000000, lo que provocó que el precio de la wZNN aumentara drásticamente. Como resultado, cuando querían canjear su WBNB, el grupo creía que se les debía una gran cantidad de tokens de WBNB, lo que les permitía vaciar el grupo y, a cambio, obtener $ 814,570.

El atacante usó la función de grabación para manipular el precio de znn, sabiendo que el contrato realiza sus cálculos del valor de su token de forma completamente interna, lo que hace que el grupo crea que le debe más dinero al atacante.

Conclusiones y recomendaciones para usuarios de criptomonedas:

Es difícil ignorar el atractivo de las criptomonedas. Es algo nuevo y brillante que promete cambiar el mundo, y si los precios continúan en su trayectoria ascendente, las personas tienen la oportunidad de ganar una cantidad significativa de dinero. Sin embargo, la criptomoneda es un mercado volátil. Los estafadores siempre encontrarán nuevas formas de robar su dinero usando criptomonedas. Constantemente se acuñan nuevas formas de criptografía.

Cuidado con los mercados maliciosos

Las criptomonedas no están reguladas en muchos países del mundo, lo que deja a los monederos de los consumidores expuestos como un objetivo atractivo para los ciberdelincuentes. Se debe tener especial cuidado con todos los intentos de phishing destinados al robo de estos mercados de bitcoins y la suplantación de sus sitios web que intentan que un usuario ingrese sus datos de inicio de sesión con el único propósito de robar. Es importante prestar atención a las URL de los Marketplaces que utilizan los consumidores para evitar cualquier tipo de manipulación por parte de los ciberdelincuentes.

Fuente: Checkpoint Research

¿NECESITAS ASESORÍA?

Conéctate con un experto