Observamos una tendencia creciente de ataques de phishing que han causado pérdidas de cientos de millones. Por lo tanto, además de la perspectiva técnica, debemos informar a los usuarios sobre los métodos comunes de phishing y educarlos sobre cómo evitar un ataque de phishing.
Tipos de Ataques de Phishing
Encontramos cuatro tipos de ataques de phishing comunes.
-
Transferencia directa de tokens: El atacante atrae a los usuarios para que transfieran directamente el token nativo (Ether) o tokens ERC20/ERC711 a cuentas controladas por el atacante.
-
Phishing por aprobación: La aprobación es un mecanismo que delega los tokens de un usuario a un gastador mediante la firma de una transacción de aprobación. El atacante puede atraer a los usuarios para que firmen una transacción que apruebe sus tokens al atacante, y luego el atacante puede transferir los tokens de la víctima.
-
Envenenamiento de direcciones: Como ataques de tokens falsos, ataques de valor cero y ataques de transferencia de polvo.
-
Phishing NFT Zerobuy: El atacante atrae a los usuarios para que firmen una transacción para vender su NFT a un precio bajo o incluso de forma gratuita.
-
Otros.
Transferencia Directa de Tokens
El primer tipo se denomina transferencia directa de tokens. Los atacantes piden a los usuarios que firmen una transacción para transferir su Ether directamente a la cuenta controlada por el atacante. Una versión avanzada aprovecha un contrato inteligente malicioso con una función llamada SecurityUpdate o ClaimRewards para hacer que los usuarios firmen la transacción.


La figura anterior (la de la derecha) muestra un ejemplo de una transacción de phishing con la función SecurityUpdate en el contrato inteligente. Si los usuarios firman esta transacción, su Ether será transferido a este contrato inteligente y luego al atacante.
Phishing por Aprobación
La aprobación es un mecanismo que permite a los usuarios dejar que otros usuarios (gastadores) gasten sus tokens. Por ejemplo, un usuario puede aprobar su USDC a un contrato inteligente para que el contrato inteligente pueda operar con el token USDC en nombre del usuario, por ejemplo, intercambiando el USDC por otros tokens. Dado que el usuario ha aprobado sus tokens al contrato inteligente, la operación sobre el token USDC del usuario por parte del contrato inteligente no necesita otra confirmación (ni un nuevo mensaje firmado) del usuario. Esto puede hacer que todo el flujo sea más fluido.
Sin embargo, los atacantes han abusado de este mecanismo. Pueden atraer a los usuarios para que firmen una transacción que apruebe su USDC (u otros tokens valiosos) al contrato controlado por el atacante o a una dirección EOA. Después de eso, el atacante puede transferir los tokens del usuario al atacante.

La figura anterior muestra una transacción que aprueba el USDT al atacante. Tenga en cuenta que el permiso de aprobación no caduca hasta que el usuario lo revoque explícitamente. Por lo tanto, revoque la aprobación maliciosa lo antes posible.
También observamos un nuevo tipo de ataque de phishing que aprovecha el contrato legítimo, al que llamamos ROP en el ataque de phishing en Web3. Consulte nuestro blog para obtener más información.
Envenenamiento de Direcciones
En este vídeo, le mostraremos cómo ocurre el envenenamiento de direcciones, incluyendo ataques de tokens falsos, ataques de valor cero y ataques de transferencia de polvo, y cómo detectar transacciones sospechosas en Etherscan.
Transferencia de valor cero: El atacante realiza un registro de transferencia de valor cero de tokens populares (USDC, por ejemplo) desde la víctima a una dirección de phishing. Esta dirección de phishing es similar a la dirección en el historial de transacciones de la víctima. Cuando la víctima copia directamente la dirección para la siguiente transferencia, puede copiar la dirección de phishing del historial de transacciones. Lea más en nuestro Twitter, investigación de Coinbase 1 2 3, y más.
Phishing NFT Zerobuy
Al vender un NFT en mercados de NFT, por ejemplo, OpenSea, el usuario primero firma una transacción indicando la intención de vender su NFT a un precio determinado. Luego, quienes deseen comprar este NFT pueden tomar el mensaje de orden firmado para completar la orden.
Esto le da al estafador la oportunidad de atraer a los usuarios para que firmen una transacción para vender sus NFT a un precio particularmente bajo (o incluso de forma gratuita). El atacante puede entonces tomar esta transacción y completar esta orden en el mercado de NFT para obtener el NFT de la víctima a un precio bajo (o de forma gratuita).
Este phishing es frecuente ya que el usuario necesita ayuda para comprender el significado al firmar una orden.

La figura anterior muestra la interfaz de MetaMask al firmar una orden para OpenSea. Desafortunadamente, dicha información es difícil de entender para los usuarios.
Cómo Protegernos
- Primero, ¡solo firme una transacción que entienda! Si tiene alguna duda sobre la transacción, no la firme.
- Segundo, use múltiples billeteras para realizar la transacción. Use una dirección de billetera para transacciones diarias pero con una pequeña cantidad de tokens. Coloque la mayoría de los tokens en una dirección de billetera separada que no firme transacciones excepto para transferir tokens a la primera billetera.
- Tercero, verifique sus aprobaciones y elimine las innecesarias. Puede aprovechar el Diagnóstico de Aprobación de MetaSuites para este propósito.


