Permit é uma função estendida para autorização sob o padrão ERC-20. Simplificando, você pode assinar para aprovar outros endereços a mover seu Token. O princípio é que você use uma assinatura para indicar que o endereço autorizado pode usar seus tokens através desta assinatura, e então o endereço autorizado leva sua assinatura para realizar interação de permissão on-chain e obtém a autorização de chamada e pode transferir seu ativo. A fraude de phishing de assinatura off-chain normalmente é dividida em três etapas:
(1) O atacante forja links de phishing ou sites de phishing para induzir os usuários a assinar através da carteira (sem interação de contrato, sem on-chain).
Objeto de assinatura: DAI/USDC/WETH e outros tokens ERC20 (aqui está DAI)
holder:// endereço de assinatura
spender:// endereço de phishing
nonce:0
validade:1988064000 // Tempo de expiração
permitido: verdadeiro
Se assinado, o pescador obterá a assinatura (um período de valores r, s, v) usada para roubar DAI/USDC/WETH e outros tokens ERC20 (aqui, DAI) da vítima. Quando o pescador interage com a função de permissão precisa ser usada).
(2) O atacante chama a função de permissão para concluir a autorização.
https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662
(3) O atacante chama a função transferFrom para transferir os ativos da vítima e concluir o ataque.
Primeiro, deixe-me explicar a diferença entre transferir e transferirDe. Quando transferimos diretamente o ERC20, geralmente chamamos a função de transferência no contrato ERC20, e transferirDe é geralmente usado ao autorizar um terceiro a transferir o ERC20 em nossa carteira para outros endereços.
https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938
Explicação adicional: Esta assinatura é uma assinatura off-chain sem gás. Após o atacante obtê-la, ele realizará interações on-chain de permissão e transferência, de modo que o registro de autorização não possa ser visto no registro on-chain do endereço da vítima. Pode ser visto no endereço do atacante. Em geral, esta assinatura é de uso único e não cria riscos de phishing repetidos ou contínuos.
Permit2 é um contrato inteligente lançado pela Uniswap no final de 2022 para a conveniência dos usuários. É um contrato de aprovação de token que permite a autorização de token ser compartilhada e gerenciada em diferentes DApps. No futuro, à medida que mais e mais projetos forem integrados com o Permit2, o contrato Permit2 pode alcançar uma experiência mais unificada de gerenciamento de autorização no ecossistema DApp e economizar custos de transação para o usuário.
Antes do surgimento do Permit2, a troca de tokens na Uniswap exigia autorização (Aprovar) e depois troca (Trocar), o que exigia duas operações e as taxas de gás de duas transações. Após o lançamento do Permit2, os usuários podem autorizar todas as suas cotas para o contrato Permit2 da Uniswap de uma só vez, e cada resgate subsequente só requer uma assinatura off-chain.
Embora o Permit2 melhore a experiência do usuário, ele é seguido por ataques de phishing direcionados às assinaturas do Permit2. Semelhante ao phishing de assinatura off-chain do Permit, o Permit2 também é um phishing de assinatura off-chain. Este ataque é principalmente dividido em quatro etapas:
(1) O requisito é que a carteira do usuário tenha usado Uniswap antes de ser pescada e autorizado o limite de token para o contrato Permit2 da Uniswap (Permit2 permitirá que o usuário autorize o saldo total do token por padrão).
https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f
(2) O atacante falsifica links de phishing ou páginas de phishing para induzir os usuários a assinar. O atacante de phishing obtém as informações de assinatura necessárias, que são semelhantes à permissão de phishing de assinatura fora da cadeia.
(3) O atacante chama a função de permissão do contrato Permit2 para concluir a autorização.
https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658
(4) O atacante chama a função transferFrom do contrato Permit2 para transferir os ativos da vítima e concluir o ataque.
https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486
Nota complementar: Geralmente há vários endereços onde os atacantes recebem os ativos. Normalmente, um dos destinatários com a maior quantia é o atacante que implementa o phishing, e os outros são endereços negros que fornecem phishing como serviço (provedores de DaaS de phishing como serviço), como PinkDrainer, InfernoDrainer, AngelDrainer, etc.
eth_sign é um método de assinatura aberto que pode assinar qualquer hash. O atacante só precisa construir quaisquer dados maliciosos que precisam ser assinados (como transferência de token, chamada de contrato, aquisição de autorização, etc.) e induzir o usuário a assinar através do eth_sign. O ataque pode ser concluído.
MetaMask dará um aviso de risco ao assinar eth_sign. Carteiras Web3 como imToken e OneKey desativaram essa função ou forneceram avisos de risco. Recomenda-se que todos os fabricantes de carteiras desativem este método para evitar que os usuários sejam atacados devido à falta de conscientização sobre segurança ou acumulação técnica necessária.
personal_sign e signTypedData são métodos de assinatura comumente usados. Normalmente, os usuários precisam verificar cuidadosamente se o iniciador, o nome de domínio, o conteúdo da assinatura, etc. são seguros. Se forem arriscados, eles devem ser extra vigilantes.
Além disso, se personal_sign e signTypedData forem usados como “assinaturas cegas” como acima, o usuário não pode ver o texto claro, o que facilita ser usado por gangues de phishing, o que também aumentará o risco de phishing.
Ao criar um site malicioso ou pendurar um cavalo no site oficial do projeto, os atacantes induzem os usuários a confirmar operações como setApprovalForAll, Approve, Increase Approval e Increase Allowance, obter a autorização de operação de ativos do usuário e cometer roubo.
(1) setApprovalForAll
Tomando o incidente de phishing de cavalos da PREMINT como exemplo, um arquivo js (https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js) no site do projeto foi injetado com código malicioso. Um arquivo js malicioso (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) será criado dinamicamente. O ataque é iniciado por este script malicioso.
Porque o usuário não descobriu o risco a tempo, ele confirmou a operação setApprovalForAll e inadvertidamente vazou a autorização da operação para o ativo, resultando no roubo do ativo.
(2)Aprovar
Similar ao setApprovalForAll, o usuário confirmou a operação de Aprovação, vazando a autorização da operação para o ativo, resultando no roubo do ativo.
Aprovar a Desautorização Errada:
https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa
O atacante transfere ativos através de transferFrom:
https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8
O princípio de ataque das funções de Aumento de Aprovação e Aumento de Permissão é semelhante a este. Por padrão, o limite superior do atacante para operar os tokens do endereço da vítima é 0. No entanto, após ser autorizado por essas duas funções, o atacante aumenta o limite para os tokens da vítima. limite de operação e, em seguida, a quantidade de tokens pode ser transferida.
(3)Aumentar Aprovação
Aumento da Autorização de Desaprovação:
https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223
O atacante transfere ativos através de transferFrom:
https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69
(4)Aumentar a Subsídio
Aumentar a Autorização de Despesas Indevidas:
https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53
O atacante transfere ativos por meio de transferFrom:
https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f
O phishing de poluição também é um dos métodos de phishing desenfreados recentes. O invasor monitora as transações na cadeia e, em seguida, falsifica endereços mal-intencionados com base no endereço do oponente nas transações históricas do usuário alvo. Normalmente, os primeiros 4 a 6 dígitos e os últimos 4 a 6 dígitos estão relacionados ao oponente correto. Os endereços de ambas as partes são os mesmos e, em seguida, esses endereços falsificados maliciosos são usados para transferir pequenas quantias ou tokens inúteis para o endereço do usuário alvo.
Se o usuário alvo copiar o endereço do oponente a partir de pedidos de transação históricos para transferir em transações subsequentes devido a hábitos pessoais, é muito provável que os ativos sejam transferidos erroneamente para um endereço malicioso devido a descuido.
Em 3 de maio de 2024, 1155WBTC, no valor de mais de 70 milhões de dólares americanos, foi pescado devido ao método de pesca de poluição deste endereço.
Endereço correto: 0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91
Endereço malicioso: 0xd9A1C3788D81257612E2581A6ea0aDa244853a91
Transação normal:
https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac
Poluição de endereço:
https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73
Transação equivocada:
https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570
Atualmente, várias carteiras e plug-ins de segurança têm implementado gradualmente lembretes visuais de risco para listas negras de phishing e métodos comuns de phishing, e também têm exibido informações de assinatura de forma cada vez mais completa, melhorando a capacidade dos usuários comuns de identificar ataques de phishing. No entanto, as tecnologias ofensivas e defensivas estão sempre competindo entre si e se desenvolvendo constantemente. Métodos de phishing mais ocultos também estão constantemente surgindo, então precisamos estar mais vigilantes. O uso do CREATE2 para contornar a detecção de listas negras de carteiras e plug-ins de segurança é um método relativamente comum recentemente.
Create2 é um opcode introduzido durante a atualização 'Constantinople' do Ethereum que permite aos usuários criar contratos inteligentes no Ethereum. O opcode original Create gera um novo endereço com base no endereço e nonce do criador. Create2 permite aos usuários calcular o endereço antes da implantação do contrato. Create2 é uma ferramenta muito poderosa para os desenvolvedores do Ethereum, permitindo interação avançada e flexível de contratos, pré-cálculo de endereço de contrato com base em parâmetros, transações off-chain e implantação e adaptação flexíveis de aplicativos distribuídos específicos.
Embora o Create2 traga benefícios, também cria novos riscos de segurança. O Create2 pode ser abusado para gerar novos endereços sem histórico de transações maliciosas, contornando a detecção de lista negra da carteira e alertas de segurança. Quando uma vítima assina uma transação maliciosa, o atacante pode implantar o contrato em um endereço pré-computado e transferir os ativos da vítima para esse endereço, e este é um processo irreversível.
Recursos deste ataque:
(1) Permite a criação preditiva de endereços de contrato, permitindo que atacantes enganem os usuários a conceder permissões antes de implantar o contrato.
(2) Como o contrato ainda não foi implantado no momento da autorização, o endereço de ataque é um novo endereço, e a ferramenta de detecção não pode fornecer um aviso antecipado com base na lista negra histórica, o que tem uma maior capacidade de ocultação.
Aqui está um exemplo de phishing usando CREATE2:
https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14
Nesta transação, a vítima transferiu o sfrxETH no endereço para o endereço malicioso (0x4D9f77), que é um novo endereço de contrato sem nenhum registro de transação.
Mas quando você abre a transação de criação deste contrato, você pode ver que o contrato completou um ataque de phishing ao mesmo tempo em que foi criado, transferindo ativos do endereço da vítima.
https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52
Olhando para a execução desta transação, você pode ver que 0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40 foi criado após chamar CREATE2.
Além disso, ao analisar os endereços relevantes do PinkDrainer, pode-se constatar que este endereço está criando novos endereços de contrato para phishing através do CREATE2 todos os dias.
https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx
Os ataques de phishing estão se tornando cada vez mais rampantes e, devido aos enormes lucros ilegais, uma cadeia de indústria negra baseada em Drainer as a Service (DaaS) tem se desenvolvido gradualmente. Os mais ativos incluem Inferno/MS/Angel/Monkey/Venom/Pink/Pussy/Medusa, etc., os atacantes de phishing compram esses serviços DaaS, rapidamente e com baixo limiar, constroem milhares de sites de phishing, contas fraudulentas, etc., como uma praga invadindo essa indústria, ameaçando a segurança dos ativos dos usuários.
Por exemplo, pegue Inferno Drainer, uma gangue de phishing notória que incorpora scripts maliciosos em diferentes sites. Por exemplo, eles espalham seaport.js, coinbase.js e wallet-connect.js para se disfarçarem como funções populares do protocolo Web3 (Seaport, WalletConnect e Coinbase) para induzir os usuários a integrar ou clicar. Após receber a confirmação do usuário, eles transferirão automaticamente os ativos do usuário para o endereço do atacante. Mais de 14.000 sites contendo scripts maliciosos Seaport, mais de 5.500 sites contendo scripts maliciosos WalletConnect, mais de 550 sites contendo scripts maliciosos Coinbase, mais de 16.000 domínios maliciosos relacionados ao Inferno Drainer e mais de 100 marcas de criptomoedas foram descobertas. nomes de marca são afetados. O seguinte é um site de phishing relacionado ao Inferno Drainer.
A seção de cabeçalho do site contém dois scripts maliciosos, seaport.js e wallet-connect.js. Outra característica típica dos sites de phishing Inferno Drainer é que os usuários não podem abrir o código-fonte do site clicando com o botão direito do mouse, o que torna esses sites de phishing mais ocultos.
Sob o framework de Phishing-as-a-Service, tipicamente 20% dos ativos roubados são automaticamente transferidos para o endereço do organizador do Inferno Drainer, com os restantes 80% retidos pelo perpetrador do phishing. Além disso, o Inferno Drainer regularmente fornece serviços gratuitos para criar e hospedar websites de phishing. Às vezes, os serviços de phishing também exigem uma taxa de 30% dos fundos defraudados. Esses websites de phishing são para aqueles que podem atrair vítimas para visitar, mas não têm a capacidade de criar e design por atacantes de phishing que têm as capacidades técnicas para hospedar o website ou simplesmente não querem realizar a tarefa eles mesmos.
Então, como funciona esse golpe DaaS? Aqui está uma descrição passo a passo do esquema de golpe de criptomoeda Inferno Drainer:
(1) O Inferno Drainer promove o seu serviço através de um canal do Telegram chamado Inferno Multichain Drainer, e por vezes os atacantes também acedem ao serviço através do website do Inferno Drainer.
(2) O atacante configura e gera seu próprio site de phishing por meio da função de serviço DaaS e o espalha através de X (Twitter), Discord e outras redes sociais.
(3) As vítimas são induzidas a escanear códigos QR ou outros métodos contidos nestes sites de phishing para conectar suas carteiras.
(4) O drenador verifica os ativos mais valiosos e facilmente transferíveis da vítima e inicia transações maliciosas.
(5) A vítima confirmou a transação.
(6) Os ativos são transferidos para criminosos. Dos ativos roubados, 20% foram transferidos para os desenvolvedores do Inferno Drainer e 80% para os atacantes de phishing.
Na imagem abaixo está a página de serviço DaaS onde o Inferno Drainer mostra aos clientes suas estatísticas: número de conexões (se a vítima conectou a carteira ao site de phishing), cliques bem-sucedidos (se a vítima confirmou a transação) e o valor dos ativos roubados.
Cada cliente do serviço DaaS pode personalizar suas próprias funções de Drainer:
(1) Em primeiro lugar, os usuários não devem clicar em links desconhecidos disfarçados de boas notícias, como recompensas, airdrops, etc.;
(2) Os incidentes de contas oficiais de mídia social sendo roubadas estão aumentando, e as informações oficiais também podem ser informações de phishing, e informações oficiais não significam que sejam absolutamente seguras;
(3) Ao usar carteiras, DApps e outras aplicações, você deve prestar atenção à triagem e tomar cuidado com sites falsificados e aplicativos falsos;
(4) Qualquer transação ou mensagem de assinatura que exija confirmação precisa ser feita com cautela e tentar cruzar a confirmação do alvo, conteúdo e outras informações. Recuse-se a assinar cegamente, mantenha-se vigilante, duvide de tudo e garanta que cada etapa da operação seja clara e segura.
(5) Além disso, os usuários precisam entender os métodos comuns de ataque de phishing mencionados neste artigo e aprender a identificar proativamente as características de phishing. Dominar as assinaturas comuns, funções de autorização e seus riscos, dominar o Interactive (URL de interação), Owner (endereço do autorizador), Spender (endereço da parte autorizada), Value (número autorizado), Nonce (número aleatório), Deadline (tempo de expiração), transfer/transferFrom (transferência) e outros conteúdos do campo.
Permit é uma função estendida para autorização sob o padrão ERC-20. Simplificando, você pode assinar para aprovar outros endereços a mover seu Token. O princípio é que você use uma assinatura para indicar que o endereço autorizado pode usar seus tokens através desta assinatura, e então o endereço autorizado leva sua assinatura para realizar interação de permissão on-chain e obtém a autorização de chamada e pode transferir seu ativo. A fraude de phishing de assinatura off-chain normalmente é dividida em três etapas:
(1) O atacante forja links de phishing ou sites de phishing para induzir os usuários a assinar através da carteira (sem interação de contrato, sem on-chain).
Objeto de assinatura: DAI/USDC/WETH e outros tokens ERC20 (aqui está DAI)
holder:// endereço de assinatura
spender:// endereço de phishing
nonce:0
validade:1988064000 // Tempo de expiração
permitido: verdadeiro
Se assinado, o pescador obterá a assinatura (um período de valores r, s, v) usada para roubar DAI/USDC/WETH e outros tokens ERC20 (aqui, DAI) da vítima. Quando o pescador interage com a função de permissão precisa ser usada).
(2) O atacante chama a função de permissão para concluir a autorização.
https://etherscan.io/tx/0x1fe75ad73f19cc4c3b658889dae552bb90cf5cef402789d256ff7c3e091bb662
(3) O atacante chama a função transferFrom para transferir os ativos da vítima e concluir o ataque.
Primeiro, deixe-me explicar a diferença entre transferir e transferirDe. Quando transferimos diretamente o ERC20, geralmente chamamos a função de transferência no contrato ERC20, e transferirDe é geralmente usado ao autorizar um terceiro a transferir o ERC20 em nossa carteira para outros endereços.
https://etherscan.io/tx/0x9c02340896e238fc667c1d84fec78af99b1642c986fe3a81602903af498eb938
Explicação adicional: Esta assinatura é uma assinatura off-chain sem gás. Após o atacante obtê-la, ele realizará interações on-chain de permissão e transferência, de modo que o registro de autorização não possa ser visto no registro on-chain do endereço da vítima. Pode ser visto no endereço do atacante. Em geral, esta assinatura é de uso único e não cria riscos de phishing repetidos ou contínuos.
Permit2 é um contrato inteligente lançado pela Uniswap no final de 2022 para a conveniência dos usuários. É um contrato de aprovação de token que permite a autorização de token ser compartilhada e gerenciada em diferentes DApps. No futuro, à medida que mais e mais projetos forem integrados com o Permit2, o contrato Permit2 pode alcançar uma experiência mais unificada de gerenciamento de autorização no ecossistema DApp e economizar custos de transação para o usuário.
Antes do surgimento do Permit2, a troca de tokens na Uniswap exigia autorização (Aprovar) e depois troca (Trocar), o que exigia duas operações e as taxas de gás de duas transações. Após o lançamento do Permit2, os usuários podem autorizar todas as suas cotas para o contrato Permit2 da Uniswap de uma só vez, e cada resgate subsequente só requer uma assinatura off-chain.
Embora o Permit2 melhore a experiência do usuário, ele é seguido por ataques de phishing direcionados às assinaturas do Permit2. Semelhante ao phishing de assinatura off-chain do Permit, o Permit2 também é um phishing de assinatura off-chain. Este ataque é principalmente dividido em quatro etapas:
(1) O requisito é que a carteira do usuário tenha usado Uniswap antes de ser pescada e autorizado o limite de token para o contrato Permit2 da Uniswap (Permit2 permitirá que o usuário autorize o saldo total do token por padrão).
https://etherscan.io/tx/0xd8f0333b9e0db7175c38c37e490379bde5c83a916bdaa2b9d46ee6bff4412e8f
(2) O atacante falsifica links de phishing ou páginas de phishing para induzir os usuários a assinar. O atacante de phishing obtém as informações de assinatura necessárias, que são semelhantes à permissão de phishing de assinatura fora da cadeia.
(3) O atacante chama a função de permissão do contrato Permit2 para concluir a autorização.
https://etherscan.io/tx/0xd8c3f55dfbc8b368134e6236b296563f506827bd5dc4d6c0df39851fd219d658
(4) O atacante chama a função transferFrom do contrato Permit2 para transferir os ativos da vítima e concluir o ataque.
https://etherscan.io/tx/0xf6461e003a55f8ecbe919a47b3c0dc6d0f068e48a941658329e35dc703138486
Nota complementar: Geralmente há vários endereços onde os atacantes recebem os ativos. Normalmente, um dos destinatários com a maior quantia é o atacante que implementa o phishing, e os outros são endereços negros que fornecem phishing como serviço (provedores de DaaS de phishing como serviço), como PinkDrainer, InfernoDrainer, AngelDrainer, etc.
eth_sign é um método de assinatura aberto que pode assinar qualquer hash. O atacante só precisa construir quaisquer dados maliciosos que precisam ser assinados (como transferência de token, chamada de contrato, aquisição de autorização, etc.) e induzir o usuário a assinar através do eth_sign. O ataque pode ser concluído.
MetaMask dará um aviso de risco ao assinar eth_sign. Carteiras Web3 como imToken e OneKey desativaram essa função ou forneceram avisos de risco. Recomenda-se que todos os fabricantes de carteiras desativem este método para evitar que os usuários sejam atacados devido à falta de conscientização sobre segurança ou acumulação técnica necessária.
personal_sign e signTypedData são métodos de assinatura comumente usados. Normalmente, os usuários precisam verificar cuidadosamente se o iniciador, o nome de domínio, o conteúdo da assinatura, etc. são seguros. Se forem arriscados, eles devem ser extra vigilantes.
Além disso, se personal_sign e signTypedData forem usados como “assinaturas cegas” como acima, o usuário não pode ver o texto claro, o que facilita ser usado por gangues de phishing, o que também aumentará o risco de phishing.
Ao criar um site malicioso ou pendurar um cavalo no site oficial do projeto, os atacantes induzem os usuários a confirmar operações como setApprovalForAll, Approve, Increase Approval e Increase Allowance, obter a autorização de operação de ativos do usuário e cometer roubo.
(1) setApprovalForAll
Tomando o incidente de phishing de cavalos da PREMINT como exemplo, um arquivo js (https://s3-redwood-labs.premint.xyz/theme/js/boomerang.min.js) no site do projeto foi injetado com código malicioso. Um arquivo js malicioso (https://s3-redwood-labs-premint-xyz.com/cdn.min.js?v=1658050292559) será criado dinamicamente. O ataque é iniciado por este script malicioso.
Porque o usuário não descobriu o risco a tempo, ele confirmou a operação setApprovalForAll e inadvertidamente vazou a autorização da operação para o ativo, resultando no roubo do ativo.
(2)Aprovar
Similar ao setApprovalForAll, o usuário confirmou a operação de Aprovação, vazando a autorização da operação para o ativo, resultando no roubo do ativo.
Aprovar a Desautorização Errada:
https://etherscan.io/tx/0x4b0655a5b75a9c078653939101fffc1d08ff7e5c89b0695ca6db5998214353fa
O atacante transfere ativos através de transferFrom:
https://etherscan.io/tx/0x0dedf25777ff5483bf71e70e031aacbaf50124f7ebb6804beb17aee2c15c33e8
O princípio de ataque das funções de Aumento de Aprovação e Aumento de Permissão é semelhante a este. Por padrão, o limite superior do atacante para operar os tokens do endereço da vítima é 0. No entanto, após ser autorizado por essas duas funções, o atacante aumenta o limite para os tokens da vítima. limite de operação e, em seguida, a quantidade de tokens pode ser transferida.
(3)Aumentar Aprovação
Aumento da Autorização de Desaprovação:
https://etherscan.io/tx/0x7ae694080e2ad007fd6fa25f9a22ca0bbbff4358b9bc84cc0a5ba7872118a223
O atacante transfere ativos através de transferFrom:
https://etherscan.io/tx/0x15bc5516ed7490041904f1a4c594c33740060e0f0271cb89fe9ed43c974a7a69
(4)Aumentar a Subsídio
Aumentar a Autorização de Despesas Indevidas:
https://etherscan.io/tx/0xbb4fe89c03d8321c5bfed612fb76f0756ac7e99c1efaf7c4d99d99f850d4de53
O atacante transfere ativos por meio de transferFrom:
https://etherscan.io/tx/0xb91d7b1440745aa07409be36666bc291ecc661e424b21b855698d488949b920f
O phishing de poluição também é um dos métodos de phishing desenfreados recentes. O invasor monitora as transações na cadeia e, em seguida, falsifica endereços mal-intencionados com base no endereço do oponente nas transações históricas do usuário alvo. Normalmente, os primeiros 4 a 6 dígitos e os últimos 4 a 6 dígitos estão relacionados ao oponente correto. Os endereços de ambas as partes são os mesmos e, em seguida, esses endereços falsificados maliciosos são usados para transferir pequenas quantias ou tokens inúteis para o endereço do usuário alvo.
Se o usuário alvo copiar o endereço do oponente a partir de pedidos de transação históricos para transferir em transações subsequentes devido a hábitos pessoais, é muito provável que os ativos sejam transferidos erroneamente para um endereço malicioso devido a descuido.
Em 3 de maio de 2024, 1155WBTC, no valor de mais de 70 milhões de dólares americanos, foi pescado devido ao método de pesca de poluição deste endereço.
Endereço correto: 0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91
Endereço malicioso: 0xd9A1C3788D81257612E2581A6ea0aDa244853a91
Transação normal:
https://etherscan.io/tx/0xb18ab131d251f7429c56a2ae2b1b75ce104fe9e83315a0c71ccf2b20267683ac
Poluição de endereço:
https://etherscan.io/tx/0x87c6e5d56fea35315ba283de8b6422ad390b6b9d8d399d9b93a9051a3e11bf73
Transação equivocada:
https://etherscan.io/tx/0x3374abc5a9c766ba709651399b6e6162de97ca986abc23f423a9d893c8f5f570
Atualmente, várias carteiras e plug-ins de segurança têm implementado gradualmente lembretes visuais de risco para listas negras de phishing e métodos comuns de phishing, e também têm exibido informações de assinatura de forma cada vez mais completa, melhorando a capacidade dos usuários comuns de identificar ataques de phishing. No entanto, as tecnologias ofensivas e defensivas estão sempre competindo entre si e se desenvolvendo constantemente. Métodos de phishing mais ocultos também estão constantemente surgindo, então precisamos estar mais vigilantes. O uso do CREATE2 para contornar a detecção de listas negras de carteiras e plug-ins de segurança é um método relativamente comum recentemente.
Create2 é um opcode introduzido durante a atualização 'Constantinople' do Ethereum que permite aos usuários criar contratos inteligentes no Ethereum. O opcode original Create gera um novo endereço com base no endereço e nonce do criador. Create2 permite aos usuários calcular o endereço antes da implantação do contrato. Create2 é uma ferramenta muito poderosa para os desenvolvedores do Ethereum, permitindo interação avançada e flexível de contratos, pré-cálculo de endereço de contrato com base em parâmetros, transações off-chain e implantação e adaptação flexíveis de aplicativos distribuídos específicos.
Embora o Create2 traga benefícios, também cria novos riscos de segurança. O Create2 pode ser abusado para gerar novos endereços sem histórico de transações maliciosas, contornando a detecção de lista negra da carteira e alertas de segurança. Quando uma vítima assina uma transação maliciosa, o atacante pode implantar o contrato em um endereço pré-computado e transferir os ativos da vítima para esse endereço, e este é um processo irreversível.
Recursos deste ataque:
(1) Permite a criação preditiva de endereços de contrato, permitindo que atacantes enganem os usuários a conceder permissões antes de implantar o contrato.
(2) Como o contrato ainda não foi implantado no momento da autorização, o endereço de ataque é um novo endereço, e a ferramenta de detecção não pode fornecer um aviso antecipado com base na lista negra histórica, o que tem uma maior capacidade de ocultação.
Aqui está um exemplo de phishing usando CREATE2:
https://etherscan.io/tx/0x83f6bfde97f2fe60d2a4a1f55f9c4ea476c9d87fa0fcd0c1c3592ad6a539ed14
Nesta transação, a vítima transferiu o sfrxETH no endereço para o endereço malicioso (0x4D9f77), que é um novo endereço de contrato sem nenhum registro de transação.
Mas quando você abre a transação de criação deste contrato, você pode ver que o contrato completou um ataque de phishing ao mesmo tempo em que foi criado, transferindo ativos do endereço da vítima.
https://etherscan.io/tx/0x77c79f9c865c64f76dc7f9dff978a0b8081dce72cab7c256ac52a764376f8e52
Olhando para a execução desta transação, você pode ver que 0x4d9f7773deb9cc44b34066f5e36a5ec98ac92d40 foi criado após chamar CREATE2.
Além disso, ao analisar os endereços relevantes do PinkDrainer, pode-se constatar que este endereço está criando novos endereços de contrato para phishing através do CREATE2 todos os dias.
https://etherscan.io/address/0x5d775caa7a0a56cd2d56a480b0f92e3900fe9722#internaltx
Os ataques de phishing estão se tornando cada vez mais rampantes e, devido aos enormes lucros ilegais, uma cadeia de indústria negra baseada em Drainer as a Service (DaaS) tem se desenvolvido gradualmente. Os mais ativos incluem Inferno/MS/Angel/Monkey/Venom/Pink/Pussy/Medusa, etc., os atacantes de phishing compram esses serviços DaaS, rapidamente e com baixo limiar, constroem milhares de sites de phishing, contas fraudulentas, etc., como uma praga invadindo essa indústria, ameaçando a segurança dos ativos dos usuários.
Por exemplo, pegue Inferno Drainer, uma gangue de phishing notória que incorpora scripts maliciosos em diferentes sites. Por exemplo, eles espalham seaport.js, coinbase.js e wallet-connect.js para se disfarçarem como funções populares do protocolo Web3 (Seaport, WalletConnect e Coinbase) para induzir os usuários a integrar ou clicar. Após receber a confirmação do usuário, eles transferirão automaticamente os ativos do usuário para o endereço do atacante. Mais de 14.000 sites contendo scripts maliciosos Seaport, mais de 5.500 sites contendo scripts maliciosos WalletConnect, mais de 550 sites contendo scripts maliciosos Coinbase, mais de 16.000 domínios maliciosos relacionados ao Inferno Drainer e mais de 100 marcas de criptomoedas foram descobertas. nomes de marca são afetados. O seguinte é um site de phishing relacionado ao Inferno Drainer.
A seção de cabeçalho do site contém dois scripts maliciosos, seaport.js e wallet-connect.js. Outra característica típica dos sites de phishing Inferno Drainer é que os usuários não podem abrir o código-fonte do site clicando com o botão direito do mouse, o que torna esses sites de phishing mais ocultos.
Sob o framework de Phishing-as-a-Service, tipicamente 20% dos ativos roubados são automaticamente transferidos para o endereço do organizador do Inferno Drainer, com os restantes 80% retidos pelo perpetrador do phishing. Além disso, o Inferno Drainer regularmente fornece serviços gratuitos para criar e hospedar websites de phishing. Às vezes, os serviços de phishing também exigem uma taxa de 30% dos fundos defraudados. Esses websites de phishing são para aqueles que podem atrair vítimas para visitar, mas não têm a capacidade de criar e design por atacantes de phishing que têm as capacidades técnicas para hospedar o website ou simplesmente não querem realizar a tarefa eles mesmos.
Então, como funciona esse golpe DaaS? Aqui está uma descrição passo a passo do esquema de golpe de criptomoeda Inferno Drainer:
(1) O Inferno Drainer promove o seu serviço através de um canal do Telegram chamado Inferno Multichain Drainer, e por vezes os atacantes também acedem ao serviço através do website do Inferno Drainer.
(2) O atacante configura e gera seu próprio site de phishing por meio da função de serviço DaaS e o espalha através de X (Twitter), Discord e outras redes sociais.
(3) As vítimas são induzidas a escanear códigos QR ou outros métodos contidos nestes sites de phishing para conectar suas carteiras.
(4) O drenador verifica os ativos mais valiosos e facilmente transferíveis da vítima e inicia transações maliciosas.
(5) A vítima confirmou a transação.
(6) Os ativos são transferidos para criminosos. Dos ativos roubados, 20% foram transferidos para os desenvolvedores do Inferno Drainer e 80% para os atacantes de phishing.
Na imagem abaixo está a página de serviço DaaS onde o Inferno Drainer mostra aos clientes suas estatísticas: número de conexões (se a vítima conectou a carteira ao site de phishing), cliques bem-sucedidos (se a vítima confirmou a transação) e o valor dos ativos roubados.
Cada cliente do serviço DaaS pode personalizar suas próprias funções de Drainer:
(1) Em primeiro lugar, os usuários não devem clicar em links desconhecidos disfarçados de boas notícias, como recompensas, airdrops, etc.;
(2) Os incidentes de contas oficiais de mídia social sendo roubadas estão aumentando, e as informações oficiais também podem ser informações de phishing, e informações oficiais não significam que sejam absolutamente seguras;
(3) Ao usar carteiras, DApps e outras aplicações, você deve prestar atenção à triagem e tomar cuidado com sites falsificados e aplicativos falsos;
(4) Qualquer transação ou mensagem de assinatura que exija confirmação precisa ser feita com cautela e tentar cruzar a confirmação do alvo, conteúdo e outras informações. Recuse-se a assinar cegamente, mantenha-se vigilante, duvide de tudo e garanta que cada etapa da operação seja clara e segura.
(5) Além disso, os usuários precisam entender os métodos comuns de ataque de phishing mencionados neste artigo e aprender a identificar proativamente as características de phishing. Dominar as assinaturas comuns, funções de autorização e seus riscos, dominar o Interactive (URL de interação), Owner (endereço do autorizador), Spender (endereço da parte autorizada), Value (número autorizado), Nonce (número aleatório), Deadline (tempo de expiração), transfer/transferFrom (transferência) e outros conteúdos do campo.