Métodos comunes de phishing y sugerencias de prevención de seguridad en Web3

Principiante5/29/2024, 7:37:00 AM
Los ataques de phishing de Web3 son una amenaza común para los usuarios de criptomonedas. Su propósito es robar sus activos de criptomonedas induciendo a los usuarios a autorizar, firmar o maloperar. En este artículo, SharkTeam analiza sistemáticamente siete técnicas comunes de phishing de Web3, incluidos el phishing de firma fuera de la cadena de Permit, el phishing de firma fuera de la cadena de Permit2, el phishing de firma ciega en cadena eth_sign, el phishing de firma en cadena personal_sign/signTypedData, el phishing de autorización y el phishing de contaminación de direcciones. Además de los métodos de phishing que utilizan CREATE2 para evadir la detección de seguridad. El artículo también presenta la cadena de la industria negra de Drainer como un Servicio (DaaS) y proporciona cinco sugerencias de seguridad para ayudar a los usuarios a identificar estafas de phishing y proteger la seguridad de sus activos encriptados.

1. Análisis de técnicas comunes de pesca

1. Permitir el phishing de firma fuera de la cadena

Permit es una función extendida para la autorización bajo el estándar ERC-20. En pocas palabras, puedes firmar para aprobar otras direcciones para mover tu Token. El principio es que uses una firma para indicar que la dirección autorizada puede usar tus tokens a través de esta firma, y luego la dirección autorizada toma tu firma para realizar la interacción permitida en cadena y obtener la autorización de llamada y poder transferir tus activos. El phishing de firma fuera de cadena de Permit generalmente se divide en tres pasos:

(1) El atacante falsifica enlaces de phishing o sitios web de phishing para inducir a los usuarios a firmar a través de la billetera (sin interacción de contrato, no en cadena).

Objeto de firma: DAI/USDC/WETH y otros tokens ERC20 (aquí está DAI)

holder:// firma de dirección

spender:// dirección de phishing

nonce:0

caducidad:1988064000 // Tiempo de expiración

permitido: verdadero

Si se firma, el pescador obtendrá la firma (un período de valores r, s, v) utilizada para robar DAI/USDC/WETH y otros tokens ERC20 (aquí, DAI) de la víctima. Cuando el pescador interactúa con la función de permiso que necesita ser utilizada).

(2) El atacante llama a la función de permiso para completar la autorización.


https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662

(3) El atacante llama a la función transferFrom para transferir los activos de la víctima y completar el ataque.

Permíteme primero explicar la diferencia entre transfer y transferFrom. Cuando transferimos directamente ERC20, generalmente llamamos a la función de transferencia en el contrato ERC20, y transferFrom se usa generalmente al autorizar a un tercero a transferir el ERC20 en nuestra billetera a otras direcciones.

https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938

Explicación adicional: Esta firma es una firma fuera de la cadena sin Gas. Después de que el atacante la obtenga, realizará interacciones on-chain de permit y transferFrom, por lo que el registro de autorización no se puede ver en el registro on-chain de la dirección de la víctima. En la dirección del atacante sí se puede ver. En general, esta firma es de un solo uso y no crea riesgos repetidos o continuos de phishing.

2. Permitir el phishing de firma fuera de la cadena

Permit2 es un contrato inteligente lanzado por Uniswap a finales de 2022 para la conveniencia de los usuarios. Es un contrato de aprobación de tokens que permite compartir y gestionar la autorización de tokens en diferentes DApps. En el futuro, a medida que más proyectos se integren con Permit2, el contrato de Permit2 puede lograr una experiencia más unificada de gestión de autorizaciones en el ecosistema de DApps y ahorrar costos de transacción al usuario.

Antes de la aparición de Permit2, el intercambio de tokens en Uniswap requería autorización (Aprobar) y luego intercambio (Intercambiar), lo que requería dos operaciones y las tarifas de gas de dos transacciones. Después del lanzamiento de Permit2, los usuarios pueden autorizar todas sus cuotas al contrato Permit2 de Uniswap de una vez, y cada redención posterior solo requiere una firma fuera de la cadena.

Aunque Permit2 mejora la experiencia del usuario, está seguido por ataques de phishing dirigidos a las firmas de Permit2. Al igual que el phishing de firmas fuera de la cadena de Permit, Permit2 también es un caso de phishing de firmas fuera de la cadena. Este ataque se divide principalmente en cuatro pasos:

(1) El requisito previo es que la billetera del usuario haya utilizado Uniswap antes de ser pescada y autorizado el límite de tokens al contrato Permit2 de Uniswap (Permit2 permitirá al usuario autorizar el saldo completo del token de forma predeterminada).


https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f

(2) El atacante falsifica enlaces de phishing o páginas de phishing para inducir a los usuarios a firmar. El atacante de phishing obtiene la información de firma requerida, que es similar a la pesca de firmas fuera de la cadena de permisos.

(3) El atacante llama a la función de permiso del contrato Permit2 para completar la autorización.

https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658

(4) El atacante llama a la función transferFrom del contrato Permit2 para transferir los activos de la víctima y completar el ataque.

https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486

Nota complementaria: Por lo general, hay múltiples direcciones donde los atacantes reciben activos. Por lo general, uno de los destinatarios con la mayor cantidad es el atacante que implementa el phishing, y los otros son direcciones negras que ofrecen phishing como servicio (proveedores de phishing como servicio DaaS), como PinkDrainer, InfernoDrainer, AngelDrainer, etc.).

3. eth_sign en la pesca de firmas ciegas on-chain

eth_sign es un método de firma abierto que puede firmar cualquier hash. El atacante solo necesita construir cualquier dato malicioso que necesite ser firmado (como transferencia de tokens, llamada de contrato, adquisición de autorización, etc.) e inducir al usuario a firmar a través de eth_sign. El ataque puede ser completado.

MetaMask dará una advertencia de riesgo al firmar eth_sign. Carteras Web3 como imToken y OneKey han deshabilitado esta función o proporcionado advertencias de riesgo. Se recomienda que todos los fabricantes de carteras deshabiliten este método para evitar que los usuarios sean atacados debido a la falta de conciencia de seguridad o acumulación técnica necesaria.

4. personal_sign/signTypedData on-chain signature phishing

personal_sign y signTypedData son métodos de firma comúnmente utilizados. Por lo general, los usuarios necesitan verificar cuidadosamente si el iniciador, el nombre de dominio, el contenido de la firma, etc. son seguros. Si representan un riesgo, deben estar extra vigilantes.

Además, si personal_sign y signTypedData se utilizan como "firma ciega" como en el ejemplo anterior, el usuario no puede ver el texto claro, lo que facilita su uso por parte de bandas de phishing, lo que también aumentará el riesgo de phishing.

5. Phishing autorizado

Al forjar un sitio web malicioso o colgar un caballo en el sitio web oficial del proyecto, los atacantes inducen a los usuarios a confirmar operaciones como setApprovalForAll, Approve, Increase Approval e Increase Allowance, obtener la autorización de operación de activos del usuario y cometer robo.

(1)setApprovalForAll

Tomando el incidente de phishing de caballos PREMINT como ejemplo, un archivo js (https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.jsen el sitio web del proyecto fue inyectado con código malicioso. Un archivo js malicioso (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) se creará dinámicamente. El ataque es iniciado por este script malicioso.

Debido a que el usuario no descubrió el riesgo a tiempo, confirmó la operación setApprovalForAll y filtró inadvertidamente la autorización de la operación para el activo, lo que resultó en el robo del activo.

(2)Aprobar

Similar to setApprovalForAll, the user confirmed the Approve operation, leaking the operation authorization for the asset, resulting in the asset being stolen.

Aprobar mala autorización:

https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa

El atacante transfiere activos a través de transferFrom:

https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8

El principio de ataque de las funciones de Aumento de Aprobación y Aumento de Asignación es similar a este. De forma predeterminada, el límite superior del atacante para operar los tokens de la dirección de la víctima es 0. Sin embargo, después de ser autorizado por estas dos funciones, el atacante aumenta el límite para los tokens de la víctima, el límite de operación, y luego la cantidad de tokens se puede transferir.

(3) Aumentar la aprobación

Aumento de la falta de autorización de aprobación:

https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223

El atacante transfiere activos a través de transferFrom:

https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69

(4) Aumento de la asignación

Aumentar la autorización indebida de la asignación:

https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53

El atacante transfiere activos a través de transferFrom:

https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f

6. Dirección de phishing de contaminación

La pesca de contaminación de direcciones también es uno de los métodos de pesca recientes y desenfrenados. El atacante monitorea transacciones en la cadena y luego falsifica direcciones maliciosas basadas en la dirección del oponente en las transacciones históricas del usuario objetivo. Por lo general, los primeros 4 a 6 dígitos y los últimos 4 a 6 dígitos están relacionados con el oponente correcto. Las direcciones de ambas partes son iguales, y luego se utilizan estas direcciones falsificadas maliciosas para transferir pequeñas cantidades o tokens sin valor a la dirección del usuario objetivo.

Si el usuario objetivo copia la dirección del oponente de los pedidos de transacciones históricas para transferir en transacciones posteriores debido a hábitos personales, es muy probable que los activos se transfieran por error a una dirección maliciosa debido a la falta de cuidado.

El 3 de mayo de 2024, se robaron 1155WBTC, valorados en más de 70 millones de dólares estadounidenses, debido al método de phishing de contaminación de esta dirección.

Dirección correcta: 0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91

Dirección maliciosa: 0xd9A1C3788D81257612E2581A6ea0aDa244853a91

Transacción normal:

https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac

Contaminación de direcciones:

https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73

Transacción mal dirigida:

https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570

7. Phishing más sutil, utilizando CREATE2 para evitar la detección de seguridad

En la actualidad, varias carteras y complementos de seguridad han implementado gradualmente recordatorios visuales de riesgos para listas negras de phishing y métodos comunes de phishing, y también han mostrado información de firma de manera cada vez más completa, mejorando la capacidad de los usuarios comunes para identificar ataques de phishing. Sin embargo, las tecnologías ofensivas y defensivas siempre compiten entre sí y se desarrollan constantemente. También están surgiendo constantemente métodos de phishing más encubiertos, por lo que necesitamos estar más vigilantes. El uso de CREATE2 para evadir la detección de listas negras de carteras y complementos de seguridad es un método relativamente común recientemente.

Create2 es un opcode introducido durante la actualización 'Constantinople' de Ethereum que permite a los usuarios crear contratos inteligentes en Ethereum. El opcode original Create genera una nueva dirección basada en la dirección y el nonce del creador. Create2 permite a los usuarios calcular la dirección antes del despliegue del contrato. Create2 es una herramienta muy poderosa para los desarrolladores de Ethereum, que permite una interacción avanzada y flexible con contratos, la precalculación de direcciones de contratos basada en parámetros, transacciones fuera de la cadena y un despliegue y adaptación flexibles de aplicaciones distribuidas específicas.

Si bien Create2 aporta beneficios, también crea nuevos riesgos de seguridad. Create2 puede ser utilizado para generar nuevas direcciones sin historial de transacciones maliciosas, evitando la detección de la lista negra de la billetera y las alertas de seguridad. Cuando una víctima firma una transacción maliciosa, el atacante puede desplegar el contrato en una dirección precalculada y transferir los activos de la víctima a esa dirección, y este es un proceso irreversible.

Características de este ataque:

(1) Permite la creación predictiva de direcciones de contrato, lo que permite a los atacantes engañar a los usuarios para que otorguen permisos antes de implementar el contrato.

(2) Dado que el contrato aún no se ha implementado en el momento de la autorización, la dirección de ataque es una nueva dirección, y la herramienta de detección no puede proporcionar una advertencia temprana basada en la lista negra histórica, lo que tiene una mayor ocultación.

Aquí hay un ejemplo de phishing usando CREATE2:

https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14

En esta transacción, la víctima transfirió el sfrxETH en la dirección al 0x4D9f77, que es una nueva dirección de contrato sin ningún registro de transacción maliciosa.

Pero cuando abres la transacción de creación de este contrato, puedes descubrir que el contrato completó un ataque de phishing al mismo tiempo que se creó, transfiriendo activos desde la dirección de la víctima.

https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52

Al observar la ejecución de esta transacción, puedes ver que 0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40 fue creado después de llamar a CREATE2.

Además, al analizar las direcciones relevantes de PinkDrainer, se puede encontrar que esta dirección está creando nuevas direcciones de contrato para phishing a través de CREATE2 todos los días.

https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx

2. Pesca como un Servicio

Los ataques de phishing se están volviendo cada vez más frecuentes, y debido a los enormes beneficios ilegales, se ha desarrollado gradualmente una cadena de industria negra basada en Drainer como Servicio (DaaS). Los más activos incluyen Inferno/MS/Angel/Monkey/Venom/Pink/Pussy/Medusa, etc., los atacantes de phishing compran estos servicios DaaS, rápidamente y con un umbral bajo, construyen miles de sitios web de phishing, cuentas fraudulentas, etc., como una plaga que se adentra en esta industria, amenazando la seguridad de los activos de los usuarios.

Tomemos Inferno Drainer, por ejemplo, una notoria banda de phishing que incrusta scripts maliciosos en diferentes sitios web. Por ejemplo, distribuyen seaport.js, coinbase.js y wallet-connect.js para disfrazarse como funciones populares del protocolo Web3 (Seaport, WalletConnect y Coinbase) para inducir a los usuarios a integrar o hacer clic. Después de recibir la confirmación del usuario, transferirán automáticamente los activos del usuario a la dirección del atacante. Se han descubierto más de 14,000 sitios web que contienen scripts maliciosos de Seaport, más de 5,500 sitios web que contienen scripts maliciosos de WalletConnect, más de 550 sitios web que contienen scripts maliciosos de Coinbase, más de 16,000 dominios maliciosos relacionados con Inferno Drainer, y más de 100 marcas de criptomonedas se ven afectadas. A continuación se muestra un sitio web de phishing relacionado con Inferno Drainer.

La sección de encabezado del sitio web contiene dos scripts maliciosos, seaport.js y wallet-connect.js. Otra característica típica de los sitios web de phishing Inferno Drainer es que los usuarios no pueden abrir el código fuente del sitio web haciendo clic derecho con el mouse, lo que hace que estos sitios web de phishing sean más ocultos.

Bajo el marco de Phishing-as-a-Service, típicamente el 20% de los activos robados son transferidos automáticamente a la dirección del organizador de Inferno Drainer, mientras que el 80% restante es retenido por el perpetrador de phishing. Además, Inferno Drainer provee regularmente servicios gratuitos para crear y alojar sitios web de phishing. A veces, los servicios de phishing también requieren una tarifa del 30% de los fondos defraudados. Estos sitios web de phishing son para aquellos que pueden atraer a las víctimas a visitarlos pero carecen de la habilidad para crearlos y son diseñados por atacantes de phishing que tienen las capacidades técnicas para alojar el sitio web o simplemente no quieren realizar la tarea ellos mismos.

Entonces, ¿cómo funciona esta estafa DaaS? Aquí tienes una descripción paso a paso del esquema de estafa criptográfica de Inferno Drainer:

(1) Inferno Drainer promociona su servicio a través de un canal de Telegram llamado Inferno Multichain Drainer, y a veces los atacantes también acceden al servicio a través del sitio web de Inferno Drainer.

(2) El atacante configura y genera su propio sitio web de phishing a través de la función de servicio DaaS, y lo difunde a través de X (Twitter), Discord y otras redes sociales.

(3) Se induce a las víctimas a escanear códigos QR u otros métodos contenidos en estos sitios web de phishing para conectar sus billeteras.

(4) El drenador verifica los activos más valiosos y fácilmente transferibles de la víctima e inicia transacciones maliciosas.

(5) La víctima confirmó la transacción.

(6) Los activos son transferidos a criminales. De los activos robados, el 20% fue transferido a los desarrolladores de Inferno Drainer y el 80% a los atacantes de phishing.

En la imagen a continuación se muestra la página de servicio de DaaS donde Inferno Drainer muestra a los clientes sus estadísticas: número de conexiones (si la víctima ha conectado la billetera al sitio de phishing), clics exitosos (si la víctima ha confirmado la transacción) y el valor de los activos robados.

Cada cliente del servicio DaaS puede personalizar sus propias funciones de Drainer:

3. Sugerencias de seguridad

(1) En primer lugar, los usuarios no deben hacer clic en enlaces desconocidos disfrazados de buenas noticias como recompensas, lanzamientos aéreos, etc.;

(2) Los incidentes de robo de cuentas oficiales en redes sociales están aumentando, y la información oficial también puede ser información de phishing, y la información oficial no significa que sea absolutamente segura;

(3) Al usar billeteras, DApps y otras aplicaciones, debe prestar atención a la selección y tener cuidado con los sitios falsos y las aplicaciones falsas;

(4) Cualquier transacción o mensaje de firma que requiera confirmación debe ser cauteloso, y tratar de cruzar-confirmar el objetivo, el contenido y otra información. Rechace firmar a ciegas, manténgase vigilante, dude de todo, y asegúrese de que cada paso de la operación sea claro y seguro.

(5) Además, los usuarios necesitan comprender los métodos comunes de ataque de phishing mencionados en este artículo y aprender a identificar proactivamente las características del phishing. Dominar las firmas comunes, las funciones de autorización y sus riesgos, dominar las URL interactivas (interacción URL), Propietario (dirección del autorizador), Gastador (dirección de la parte autorizada), Valor (número autorizado), Número aleatorio (Nonce), Fecha límite (tiempo de vencimiento), transferencia/transferenciaDesde (transferencia) y otros contenidos de campo.

Descargo de responsabilidad:

  1. Este artículo es reimpreso de [GateForesightnews]. Todos los derechos de autor pertenecen al autor original [SharkTeam]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Learnequipo, y ellos lo resolverán rápidamente.
  2. Descargo de responsabilidad: Las opiniones expresadas en este artículo son únicamente las del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Métodos comunes de phishing y sugerencias de prevención de seguridad en Web3

Principiante5/29/2024, 7:37:00 AM
Los ataques de phishing de Web3 son una amenaza común para los usuarios de criptomonedas. Su propósito es robar sus activos de criptomonedas induciendo a los usuarios a autorizar, firmar o maloperar. En este artículo, SharkTeam analiza sistemáticamente siete técnicas comunes de phishing de Web3, incluidos el phishing de firma fuera de la cadena de Permit, el phishing de firma fuera de la cadena de Permit2, el phishing de firma ciega en cadena eth_sign, el phishing de firma en cadena personal_sign/signTypedData, el phishing de autorización y el phishing de contaminación de direcciones. Además de los métodos de phishing que utilizan CREATE2 para evadir la detección de seguridad. El artículo también presenta la cadena de la industria negra de Drainer como un Servicio (DaaS) y proporciona cinco sugerencias de seguridad para ayudar a los usuarios a identificar estafas de phishing y proteger la seguridad de sus activos encriptados.

1. Análisis de técnicas comunes de pesca

1. Permitir el phishing de firma fuera de la cadena

Permit es una función extendida para la autorización bajo el estándar ERC-20. En pocas palabras, puedes firmar para aprobar otras direcciones para mover tu Token. El principio es que uses una firma para indicar que la dirección autorizada puede usar tus tokens a través de esta firma, y luego la dirección autorizada toma tu firma para realizar la interacción permitida en cadena y obtener la autorización de llamada y poder transferir tus activos. El phishing de firma fuera de cadena de Permit generalmente se divide en tres pasos:

(1) El atacante falsifica enlaces de phishing o sitios web de phishing para inducir a los usuarios a firmar a través de la billetera (sin interacción de contrato, no en cadena).

Objeto de firma: DAI/USDC/WETH y otros tokens ERC20 (aquí está DAI)

holder:// firma de dirección

spender:// dirección de phishing

nonce:0

caducidad:1988064000 // Tiempo de expiración

permitido: verdadero

Si se firma, el pescador obtendrá la firma (un período de valores r, s, v) utilizada para robar DAI/USDC/WETH y otros tokens ERC20 (aquí, DAI) de la víctima. Cuando el pescador interactúa con la función de permiso que necesita ser utilizada).

(2) El atacante llama a la función de permiso para completar la autorización.


https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662

(3) El atacante llama a la función transferFrom para transferir los activos de la víctima y completar el ataque.

Permíteme primero explicar la diferencia entre transfer y transferFrom. Cuando transferimos directamente ERC20, generalmente llamamos a la función de transferencia en el contrato ERC20, y transferFrom se usa generalmente al autorizar a un tercero a transferir el ERC20 en nuestra billetera a otras direcciones.

https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938

Explicación adicional: Esta firma es una firma fuera de la cadena sin Gas. Después de que el atacante la obtenga, realizará interacciones on-chain de permit y transferFrom, por lo que el registro de autorización no se puede ver en el registro on-chain de la dirección de la víctima. En la dirección del atacante sí se puede ver. En general, esta firma es de un solo uso y no crea riesgos repetidos o continuos de phishing.

2. Permitir el phishing de firma fuera de la cadena

Permit2 es un contrato inteligente lanzado por Uniswap a finales de 2022 para la conveniencia de los usuarios. Es un contrato de aprobación de tokens que permite compartir y gestionar la autorización de tokens en diferentes DApps. En el futuro, a medida que más proyectos se integren con Permit2, el contrato de Permit2 puede lograr una experiencia más unificada de gestión de autorizaciones en el ecosistema de DApps y ahorrar costos de transacción al usuario.

Antes de la aparición de Permit2, el intercambio de tokens en Uniswap requería autorización (Aprobar) y luego intercambio (Intercambiar), lo que requería dos operaciones y las tarifas de gas de dos transacciones. Después del lanzamiento de Permit2, los usuarios pueden autorizar todas sus cuotas al contrato Permit2 de Uniswap de una vez, y cada redención posterior solo requiere una firma fuera de la cadena.

Aunque Permit2 mejora la experiencia del usuario, está seguido por ataques de phishing dirigidos a las firmas de Permit2. Al igual que el phishing de firmas fuera de la cadena de Permit, Permit2 también es un caso de phishing de firmas fuera de la cadena. Este ataque se divide principalmente en cuatro pasos:

(1) El requisito previo es que la billetera del usuario haya utilizado Uniswap antes de ser pescada y autorizado el límite de tokens al contrato Permit2 de Uniswap (Permit2 permitirá al usuario autorizar el saldo completo del token de forma predeterminada).


https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f

(2) El atacante falsifica enlaces de phishing o páginas de phishing para inducir a los usuarios a firmar. El atacante de phishing obtiene la información de firma requerida, que es similar a la pesca de firmas fuera de la cadena de permisos.

(3) El atacante llama a la función de permiso del contrato Permit2 para completar la autorización.

https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658

(4) El atacante llama a la función transferFrom del contrato Permit2 para transferir los activos de la víctima y completar el ataque.

https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486

Nota complementaria: Por lo general, hay múltiples direcciones donde los atacantes reciben activos. Por lo general, uno de los destinatarios con la mayor cantidad es el atacante que implementa el phishing, y los otros son direcciones negras que ofrecen phishing como servicio (proveedores de phishing como servicio DaaS), como PinkDrainer, InfernoDrainer, AngelDrainer, etc.).

3. eth_sign en la pesca de firmas ciegas on-chain

eth_sign es un método de firma abierto que puede firmar cualquier hash. El atacante solo necesita construir cualquier dato malicioso que necesite ser firmado (como transferencia de tokens, llamada de contrato, adquisición de autorización, etc.) e inducir al usuario a firmar a través de eth_sign. El ataque puede ser completado.

MetaMask dará una advertencia de riesgo al firmar eth_sign. Carteras Web3 como imToken y OneKey han deshabilitado esta función o proporcionado advertencias de riesgo. Se recomienda que todos los fabricantes de carteras deshabiliten este método para evitar que los usuarios sean atacados debido a la falta de conciencia de seguridad o acumulación técnica necesaria.

4. personal_sign/signTypedData on-chain signature phishing

personal_sign y signTypedData son métodos de firma comúnmente utilizados. Por lo general, los usuarios necesitan verificar cuidadosamente si el iniciador, el nombre de dominio, el contenido de la firma, etc. son seguros. Si representan un riesgo, deben estar extra vigilantes.

Además, si personal_sign y signTypedData se utilizan como "firma ciega" como en el ejemplo anterior, el usuario no puede ver el texto claro, lo que facilita su uso por parte de bandas de phishing, lo que también aumentará el riesgo de phishing.

5. Phishing autorizado

Al forjar un sitio web malicioso o colgar un caballo en el sitio web oficial del proyecto, los atacantes inducen a los usuarios a confirmar operaciones como setApprovalForAll, Approve, Increase Approval e Increase Allowance, obtener la autorización de operación de activos del usuario y cometer robo.

(1)setApprovalForAll

Tomando el incidente de phishing de caballos PREMINT como ejemplo, un archivo js (https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.jsen el sitio web del proyecto fue inyectado con código malicioso. Un archivo js malicioso (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) se creará dinámicamente. El ataque es iniciado por este script malicioso.

Debido a que el usuario no descubrió el riesgo a tiempo, confirmó la operación setApprovalForAll y filtró inadvertidamente la autorización de la operación para el activo, lo que resultó en el robo del activo.

(2)Aprobar

Similar to setApprovalForAll, the user confirmed the Approve operation, leaking the operation authorization for the asset, resulting in the asset being stolen.

Aprobar mala autorización:

https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa

El atacante transfiere activos a través de transferFrom:

https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8

El principio de ataque de las funciones de Aumento de Aprobación y Aumento de Asignación es similar a este. De forma predeterminada, el límite superior del atacante para operar los tokens de la dirección de la víctima es 0. Sin embargo, después de ser autorizado por estas dos funciones, el atacante aumenta el límite para los tokens de la víctima, el límite de operación, y luego la cantidad de tokens se puede transferir.

(3) Aumentar la aprobación

Aumento de la falta de autorización de aprobación:

https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223

El atacante transfiere activos a través de transferFrom:

https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69

(4) Aumento de la asignación

Aumentar la autorización indebida de la asignación:

https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53

El atacante transfiere activos a través de transferFrom:

https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f

6. Dirección de phishing de contaminación

La pesca de contaminación de direcciones también es uno de los métodos de pesca recientes y desenfrenados. El atacante monitorea transacciones en la cadena y luego falsifica direcciones maliciosas basadas en la dirección del oponente en las transacciones históricas del usuario objetivo. Por lo general, los primeros 4 a 6 dígitos y los últimos 4 a 6 dígitos están relacionados con el oponente correcto. Las direcciones de ambas partes son iguales, y luego se utilizan estas direcciones falsificadas maliciosas para transferir pequeñas cantidades o tokens sin valor a la dirección del usuario objetivo.

Si el usuario objetivo copia la dirección del oponente de los pedidos de transacciones históricas para transferir en transacciones posteriores debido a hábitos personales, es muy probable que los activos se transfieran por error a una dirección maliciosa debido a la falta de cuidado.

El 3 de mayo de 2024, se robaron 1155WBTC, valorados en más de 70 millones de dólares estadounidenses, debido al método de phishing de contaminación de esta dirección.

Dirección correcta: 0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91

Dirección maliciosa: 0xd9A1C3788D81257612E2581A6ea0aDa244853a91

Transacción normal:

https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac

Contaminación de direcciones:

https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73

Transacción mal dirigida:

https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570

7. Phishing más sutil, utilizando CREATE2 para evitar la detección de seguridad

En la actualidad, varias carteras y complementos de seguridad han implementado gradualmente recordatorios visuales de riesgos para listas negras de phishing y métodos comunes de phishing, y también han mostrado información de firma de manera cada vez más completa, mejorando la capacidad de los usuarios comunes para identificar ataques de phishing. Sin embargo, las tecnologías ofensivas y defensivas siempre compiten entre sí y se desarrollan constantemente. También están surgiendo constantemente métodos de phishing más encubiertos, por lo que necesitamos estar más vigilantes. El uso de CREATE2 para evadir la detección de listas negras de carteras y complementos de seguridad es un método relativamente común recientemente.

Create2 es un opcode introducido durante la actualización 'Constantinople' de Ethereum que permite a los usuarios crear contratos inteligentes en Ethereum. El opcode original Create genera una nueva dirección basada en la dirección y el nonce del creador. Create2 permite a los usuarios calcular la dirección antes del despliegue del contrato. Create2 es una herramienta muy poderosa para los desarrolladores de Ethereum, que permite una interacción avanzada y flexible con contratos, la precalculación de direcciones de contratos basada en parámetros, transacciones fuera de la cadena y un despliegue y adaptación flexibles de aplicaciones distribuidas específicas.

Si bien Create2 aporta beneficios, también crea nuevos riesgos de seguridad. Create2 puede ser utilizado para generar nuevas direcciones sin historial de transacciones maliciosas, evitando la detección de la lista negra de la billetera y las alertas de seguridad. Cuando una víctima firma una transacción maliciosa, el atacante puede desplegar el contrato en una dirección precalculada y transferir los activos de la víctima a esa dirección, y este es un proceso irreversible.

Características de este ataque:

(1) Permite la creación predictiva de direcciones de contrato, lo que permite a los atacantes engañar a los usuarios para que otorguen permisos antes de implementar el contrato.

(2) Dado que el contrato aún no se ha implementado en el momento de la autorización, la dirección de ataque es una nueva dirección, y la herramienta de detección no puede proporcionar una advertencia temprana basada en la lista negra histórica, lo que tiene una mayor ocultación.

Aquí hay un ejemplo de phishing usando CREATE2:

https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14

En esta transacción, la víctima transfirió el sfrxETH en la dirección al 0x4D9f77, que es una nueva dirección de contrato sin ningún registro de transacción maliciosa.

Pero cuando abres la transacción de creación de este contrato, puedes descubrir que el contrato completó un ataque de phishing al mismo tiempo que se creó, transfiriendo activos desde la dirección de la víctima.

https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52

Al observar la ejecución de esta transacción, puedes ver que 0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40 fue creado después de llamar a CREATE2.

Además, al analizar las direcciones relevantes de PinkDrainer, se puede encontrar que esta dirección está creando nuevas direcciones de contrato para phishing a través de CREATE2 todos los días.

https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx

2. Pesca como un Servicio

Los ataques de phishing se están volviendo cada vez más frecuentes, y debido a los enormes beneficios ilegales, se ha desarrollado gradualmente una cadena de industria negra basada en Drainer como Servicio (DaaS). Los más activos incluyen Inferno/MS/Angel/Monkey/Venom/Pink/Pussy/Medusa, etc., los atacantes de phishing compran estos servicios DaaS, rápidamente y con un umbral bajo, construyen miles de sitios web de phishing, cuentas fraudulentas, etc., como una plaga que se adentra en esta industria, amenazando la seguridad de los activos de los usuarios.

Tomemos Inferno Drainer, por ejemplo, una notoria banda de phishing que incrusta scripts maliciosos en diferentes sitios web. Por ejemplo, distribuyen seaport.js, coinbase.js y wallet-connect.js para disfrazarse como funciones populares del protocolo Web3 (Seaport, WalletConnect y Coinbase) para inducir a los usuarios a integrar o hacer clic. Después de recibir la confirmación del usuario, transferirán automáticamente los activos del usuario a la dirección del atacante. Se han descubierto más de 14,000 sitios web que contienen scripts maliciosos de Seaport, más de 5,500 sitios web que contienen scripts maliciosos de WalletConnect, más de 550 sitios web que contienen scripts maliciosos de Coinbase, más de 16,000 dominios maliciosos relacionados con Inferno Drainer, y más de 100 marcas de criptomonedas se ven afectadas. A continuación se muestra un sitio web de phishing relacionado con Inferno Drainer.

La sección de encabezado del sitio web contiene dos scripts maliciosos, seaport.js y wallet-connect.js. Otra característica típica de los sitios web de phishing Inferno Drainer es que los usuarios no pueden abrir el código fuente del sitio web haciendo clic derecho con el mouse, lo que hace que estos sitios web de phishing sean más ocultos.

Bajo el marco de Phishing-as-a-Service, típicamente el 20% de los activos robados son transferidos automáticamente a la dirección del organizador de Inferno Drainer, mientras que el 80% restante es retenido por el perpetrador de phishing. Además, Inferno Drainer provee regularmente servicios gratuitos para crear y alojar sitios web de phishing. A veces, los servicios de phishing también requieren una tarifa del 30% de los fondos defraudados. Estos sitios web de phishing son para aquellos que pueden atraer a las víctimas a visitarlos pero carecen de la habilidad para crearlos y son diseñados por atacantes de phishing que tienen las capacidades técnicas para alojar el sitio web o simplemente no quieren realizar la tarea ellos mismos.

Entonces, ¿cómo funciona esta estafa DaaS? Aquí tienes una descripción paso a paso del esquema de estafa criptográfica de Inferno Drainer:

(1) Inferno Drainer promociona su servicio a través de un canal de Telegram llamado Inferno Multichain Drainer, y a veces los atacantes también acceden al servicio a través del sitio web de Inferno Drainer.

(2) El atacante configura y genera su propio sitio web de phishing a través de la función de servicio DaaS, y lo difunde a través de X (Twitter), Discord y otras redes sociales.

(3) Se induce a las víctimas a escanear códigos QR u otros métodos contenidos en estos sitios web de phishing para conectar sus billeteras.

(4) El drenador verifica los activos más valiosos y fácilmente transferibles de la víctima e inicia transacciones maliciosas.

(5) La víctima confirmó la transacción.

(6) Los activos son transferidos a criminales. De los activos robados, el 20% fue transferido a los desarrolladores de Inferno Drainer y el 80% a los atacantes de phishing.

En la imagen a continuación se muestra la página de servicio de DaaS donde Inferno Drainer muestra a los clientes sus estadísticas: número de conexiones (si la víctima ha conectado la billetera al sitio de phishing), clics exitosos (si la víctima ha confirmado la transacción) y el valor de los activos robados.

Cada cliente del servicio DaaS puede personalizar sus propias funciones de Drainer:

3. Sugerencias de seguridad

(1) En primer lugar, los usuarios no deben hacer clic en enlaces desconocidos disfrazados de buenas noticias como recompensas, lanzamientos aéreos, etc.;

(2) Los incidentes de robo de cuentas oficiales en redes sociales están aumentando, y la información oficial también puede ser información de phishing, y la información oficial no significa que sea absolutamente segura;

(3) Al usar billeteras, DApps y otras aplicaciones, debe prestar atención a la selección y tener cuidado con los sitios falsos y las aplicaciones falsas;

(4) Cualquier transacción o mensaje de firma que requiera confirmación debe ser cauteloso, y tratar de cruzar-confirmar el objetivo, el contenido y otra información. Rechace firmar a ciegas, manténgase vigilante, dude de todo, y asegúrese de que cada paso de la operación sea claro y seguro.

(5) Además, los usuarios necesitan comprender los métodos comunes de ataque de phishing mencionados en este artículo y aprender a identificar proactivamente las características del phishing. Dominar las firmas comunes, las funciones de autorización y sus riesgos, dominar las URL interactivas (interacción URL), Propietario (dirección del autorizador), Gastador (dirección de la parte autorizada), Valor (número autorizado), Número aleatorio (Nonce), Fecha límite (tiempo de vencimiento), transferencia/transferenciaDesde (transferencia) y otros contenidos de campo.

Descargo de responsabilidad:

  1. Este artículo es reimpreso de [GateForesightnews]. Todos los derechos de autor pertenecen al autor original [SharkTeam]. Si hay objeciones a esta reimpresión, por favor contacte al Gate Learnequipo, y ellos lo resolverán rápidamente.
  2. Descargo de responsabilidad: Las opiniones expresadas en este artículo son únicamente las del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione, está prohibido copiar, distribuir o plagiar los artículos traducidos.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!