Golpistas não são hackers: análise de quatro back-ends, todos facilmente comprometidos
Firebase · Supabase · Express.js · Drainer-as-a-Service · fevereiro de 2026

Aviso: Análise, não ataque
Tudo o que é apresentado neste artigo é resultado de análise passiva e dados acessíveis ao público. Nenhum sistema foi invadido. Nenhuma autenticação foi contornada. Em cada caso, a própria configuração incorreta dos golpistas expôs sua infraestrutura, os dados das vítimas e as identidades operacionais a qualquer pessoa que simplesmente olhasse. Todas as chaves de API foram encontradas em pacotes públicos de JavaScript. Todos os bancos de dados estavam totalmente abertos devido ao próprio projeto dos operadores. Documentamos isso não para atacar — mas para demonstrar que as pessoas que estão roubando suas criptomoedas nem sequer conseguem guardar suas próprias ferramentas.
A tese central: “script kiddies” com ferramentas roubadas
Existe um mito persistente na imaginação do público de que os golpistas online são “hackers” — gênios da tecnologia que invadem sistemas com habilidade e sofisticação. Isso está errado.
Os golpistas de criptomoedas da atualidade são “script kiddies” que utilizam kits de ferramentas comprados. Eles compram pacotes do tipo “Drainer-as-a-Service” por US$ 200 a US$ 500, os instalam em servidores de hospedagem gratuitos ou baratos e rezam para que suas vítimas não percebam. Eles não escrevem código. Não entendem de redes. E certamente não entendem de segurança.
Sabemos disso porque, em fevereiro de 2026, o PhishDestroy analisou 4 operações fraudulentas independentes — e, em todos os casos, poderíamos ter:
- Ler todos os dados das vítimas de roubo (frases-semente, e-mails, endereços IP, tipos de carteira)
- Modificado ou excluído o banco de dados do golpista
- Identificou o operador por meio de chaves de API expostas, endereços de e-mail e impressões digitais da infraestrutura
- Recriou o ataque contra o golpista — aproveitando as mesmas vulnerabilidades que eles deixaram expostas
Não são necessárias vulnerabilidades. Não há falhas de dia zero. Não há “hacking”. Apenas abrindo a porta da frente que eles deixaram destrancada.
Caso 1: A API Fantasma — server0002.mn19indexpre.xyz
Express.js no Apache: segurança praticamente inexistente
| Parâmetro | Valor |
|---|---|
| Domínio | server0002.mn19indexpre.xyz |
| Endereço IP | 108.181.185.225 |
| Pilha de servidores | Apache/2.4.58 (Ubuntu) → Express.js (Node.js) |
| Banner do SSH | SSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.11 |
| Emissor TLS | Let's Encrypt (E7), válido de janeiro a abril de 2026 |
| Registrador de DNS | GoDaddy (ns39/ns40.domaincontrol.com) |
| E-mail (MX) | mn19indexpre-xyz.mail.protection.outlook.com |
| Locatário da Microsoft | NETORGFT19090185.onmicrosoft.com |
| Portas abertas | 22 (SSH), 80 (HTTP→301), 443 (HTTPS) |
"Autenticação" — Uma piada
A API vem com um token Bearer predefinido: thisisakeyforsecureserver. Mas eis o ponto principal — o token não é, na verdade, verificado:
Validação sem entrada
Todas as cargas de injeção que testamos foram aceitas sem aviso prévio:
Impressão digital de desempenho
Tempo de resposta consistente de aproximadamente 7,5 segundos para a solicitação POST, independentemente do tamanho da carga (aceita-se de 10 bytes a 10 MB), o que sugere o encaminhamento de e-mails ou o retransmissão de webhooks no back-end. A solicitação GET responde em 0,6 s. Dez solicitações paralelas são concluídas em 9,1 s — sem limitação de taxa aplicada.
Potencial de desanonimização
ID do locatário do Microsoft 365 NETORGFT19090185 é um link direto para a conta da organização que registrou este domínio. Combinando os registros de registro da GoDaddy e um IP dedicado (que não está atrás de uma CDN), esse operador é facilmente identificável por meios legais. O registro SPF (include:secureserver.net) confirma que, no serviço de hospedagem de e-mail da GoDaddy, todos os metadados de e-mail podem ser acessados mediante intimação judicial.
Caso 2: Firebase totalmente aberto — web3ledgar.com
Firestore sem regras de segurança
| Parâmetro | Valor |
|---|---|
| Domínio de phishing | web3ledgar.com (typosquat de “Ledger”) |
| Domínio alternativo | web3.ledgerscore.ltd |
| Projeto do Firebase | web3ledger-210ab |
| Chave de API | AIzaSyCv8e-Gl7nK1RPpfNkJt-WjSZiaoe4AsL8 |
| ID do aplicativo | 1:1054258933515:web:9fb193fcd0093023f7fc0e |
| Pacote JS | /static/js/main.7a5ec2fa.js |
| Regras do Firestore | Totalmente aberto — leitura/gravação sem autenticação |
| Total de vítimas | 12 registros em users coleção |
| Coleções encontradas | users, transactions |
Dados das vítimas — totalmente acessíveis a qualquer pessoa
Uma única solicitação GET não autenticada à API REST do Firestore retornou cada frase-semente roubada:
Entre os 12 registros, havia uma anotação reveladora — alguém já havia testado o sistema com fbi@fbi.gov conforme consta no e-mail. O golpista ou testou seu próprio sistema (o que é útil para identificação) ou alguém já havia feito um teste nele.
O fluxo do ataque
O site de phishing imita a interface da carteira da Ledger. A vítima clica em “Conectar carteira” → digita a frase-semente → o front-end do React grava diretamente no Firestore → o golpista acessa os dados desse mesmo banco de dados aberto. Não há nenhum servidor de back-end. Toda a operação funciona com o plano gratuito do Google.
Potencial de desanonimização
ID do projeto do Firebase web3ledger-210ab e ID do aplicativo 1:1054258933515 são vinculado a uma conta do Google. O Google mantém registros de cobrança, logs de IP e dados de criação de contas para todos os projetos do Firebase. Basta uma única solicitação das autoridades ao Google para que a identidade do operador seja revelada. Além disso, o fato de as regras do Firestore estarem totalmente abertas significa que poderíamos ter inserido registros no banco de dados deles, notificava as vítimas em tempo real ou apagava toda a coleção.
Caso 3: CRUD completo no Supabase — web3safe-pal.com
Segurança no nível da linha desativada, GraphQL totalmente aberto
| Parâmetro | Valor |
|---|---|
| Domínio de phishing | web3safe-pal.com (typosquat de “SafePal”) |
| Projeto Supabase | gzqsadraigchwdhblavp |
| Chave Anon | Divulgado em /assets/index-b025f4a6.js (748 KB) |
| Tabela do banco de dados | seeds — abrir, ler, inserir, atualizar, excluir |
| GraphQL | Introspecção completa + mutações ativadas |
| Funções de borda | send-wallet-import-email, send-email |
| Serviço de e-mail | API de reenvio (RESEND_API_KEY na variável de ambiente) |
| Registros das vítimas | IDs 130–131 (129 excluídos anteriormente) |
| Idioma da interface do usuário | Russo (“Carteira principal”, “Sua carteira está sendo carregada...”) |
Acesso total ao banco de dados — leitura, gravação e exclusão
A chave “anon” do Supabase, encontrada no pacote de JavaScript minificado, concede acesso CRUD completo para o seeds tabela:
Os IDs começam em 130 — o que significa que os registros de 1 a 129 foram excluídos anteriormente pelo operador. Pelo menos 131 frases-semente já passaram por este sistema.
Funções de ponta: o rastro de e-mails
Duas funções do Supabase Edge estão ativas. Fizemos a engenharia reversa do send-email o formato de entrada esperado da função, testando cargas de teste:
A chave da API de reenvio (RESEND_API_KEY) é armazenado nas variáveis de ambiente do Supabase. O Resend mantém registros de verificação do remetente e dados de cobrança — outro caminho direto para a identidade do operador.
Potencial de desanonimização
A localização da interface do usuário em russo (“Основной кошелек”, “Ваш кошелек загружается...”) indica um Operador que fala russo. O projeto Supabase (gzqsadraigchwdhblavp) está vinculado a uma conta com registros de cobrança. O serviço de reenvio de e-mail possui o endereço de e-mail do destinatário. A introspecção do GraphQL revela o esquema completo do banco de dados. Demonstramos acesso total de gravação — poderíamos ter substituído cada frase-semente roubada por uma mensagem de alerta às vítimas, ou apagasse a tabela inteira. O operador não teria como recuperar os dados.
Caso 4: Drenador em escala industrial — aipolypredictor.xyz
19.000 frases-semente em 5,8 dias
| Parâmetro | Valor |
|---|---|
| Domínio do front-end | aipolypredictor.xyz ("PolySniper | Apostas privilegiadas da Frontrun") |
| API C2 | api.yfhikblkhghdyteiuyf54.run |
| IPs C2 | 172.67.168.147, 104.21.26.231 (Cloudflare) |
| Back-end | Express.js (Node.js) v1.0.0 |
| Registrador (Front-end) | NiceNIC International Group Co. |
| Secretário (C2) | PDR Ltd. (PublicDomainRegistry.com) |
| Tempo de atividade | ~139 horas (início em ~10 de fevereiro de 2026, às 21h00 UTC) |
| Kit de drenagem CDN | renderer-postcard.defex.cc (601 KB de JS ofuscado) |
| Bot do Telegram | Ativo, integrado para notificações |
| Limite de taxas | 10 solicitações/60s (único limite encontrado) |
Escala revelada por IDs sequenciais
O erro mais grave: IDs sequenciais de tarefas. Cada envio de frase-semente gera um ID incremental, permitindo que qualquer pessoa calcule o volume total:
Arquitetura multicadeia
O servidor C2 gera chaves em todas as principais cadeias utilizando caminhos de geração de profundidade 100:
Infraestrutura da campanha
11 domínios confirmados em 2 grupos de operadoras, rastreados por IDs de pacote:
| ID do pacote | Domínios | Status |
|---|---|---|
88ef78f5... | aipolypredictor.xyz | AO VIVO |
4446ea5d... | solana.onspace.app, solxjup.onspace.app | AO VIVO |
| kit defex.cc | jup-v2.com, events-charizard.fun, events-llquid.fun, events-blackswan.fun, soljup.onspace.build | Misto |
Análise de carga útil em JavaScript
Três cargas úteis em JS ofuscadas alimentam o drainer:
- wallet-connect.js (46 KB) — Gerencia a interface de usuário para conexão com a carteira e intercepta a entrada da semente. Ofuscação por rotação de matriz de strings.
- wallet-specific-modals.js (134 KB) — Contém Lista completa de palavras em inglês do BIP39 e Lista de palavras do Monero (1.626 palavras). Proteção contra depuração por meio de substituições de console.log/trace. Suporte a modais para múltiplas carteiras.
- defex.cc/index.js (601 KB) — Ofuscado com Unicode e nomes de variáveis em chinês. Lógica de drainer específica para Solana. Codificador Base58, primitivas de derivação de chaves criptográficas. Versão 3.0.0.
Potencial de desanonimização
O CORS: * o cabeçalho e a ausência de meios de autenticação qualquer pessoa pode enviar solicitações e acompanhar a progressão dos IDs de tarefa em tempo real. A integração com o bot do Telegram significa que a conta do operador no Telegram recebe notificações — e os metadados do Telegram podem ser intimados. A NiceNIC (registradora do front-end) é uma registradora conhecida por ser à prova de intimações, que nós já investigado, mas a PDR Ltd. (registradora de domínios C2) atende às solicitações das autoridades policiais. O defex.cc O kit de drainer atende a mais de 255 domínios — uma invasão do defex.cc exporia toda a operação do DaaS e todos os seus clientes.
Comparativo: 4 operações, mesmo padrão
| Métrico | mn19indexpre Express.js | web3ledgar Firebase | web3safe-pal Supabase | aipolypredictor Escorredor C2 |
|---|---|---|---|---|
| Autenticação | Nenhum (token ignorado) | Nenhum | Chave “anon” em JS | Nenhum (CORS: *) |
| Dados legíveis | Mensagens/retransmissão | Todas as frases-semente | Todas as frases-semente | IDs de tarefa / escala |
| Dados graváveis | Sim (ilimitado) | Sim | Sim (CRUD completo) | Sim (enviar) |
| Validação de entradas | Zero | Zero | Zero | Mínimo |
| Limitação de taxa | Nenhum | Nenhum | Nenhum | 10 solicitações/60 s |
| Que pode ser desanonimizado | Locatário do MS365 | Conta do Google | Reenviar + Faturamento do Supabase | PDR + Telegram |
| Número estimado de vítimas | Desconhecido | 12 | 131+ | 19,000+ |
| Idioma do operador | Desconhecido | Inglês | Russo | Desconhecido |
Por que os golpistas não são hackers
As evidências são contundentes. Nas quatro operações, observamos o mesmo padrão:
- Compre kits de escorredores já prontos (US$ 200–US$ 500)
- Implantar em planos gratuitos (Firebase, Supabase)
- Não altere as configurações padrão
- Use tokens pré-definidos, pois eles não são verificados
- Nunca habilite o RLS, nunca restrinja o CORS
- Revelar suas próprias identidades nos metadados
- Use IDs sequenciais que indiquem sua escala
- Criar ferramentas personalizadas de exfiltração
- Utilize canais criptografados e autenticados
- Randomizar identificadores, alternar a infraestrutura
- Implementar um controle de acesso adequado
- Use o Tor/cadeias de proxy, pagamentos anônimos
- Separar a identidade operacional da hospedagem
- Implementar técnicas antiforenses
O cliente típico do serviço “Drainer-as-a-Service” é um engenheiro social com um cartão de crédito, não são operadores técnicos. Sabem como registrar um domínio e inserir código em um painel de hospedagem. Não sabem como:
- Configure as regras de segurança do Firestore (levaria 2 minutos)
- Ativar a segurança no nível da linha do Supabase (levaria 5 minutos)
- Validar e sanitizar os dados de entrada (levaria 30 minutos)
- Use UUIDs em vez de números inteiros sequenciais (seria necessário apenas 1 linha de código)
- Restringir o CORS aos próprios domínios (seria necessária apenas uma linha de configuração)
Esses adversários não são sofisticados. São pessoas que não sabem configurar um banco de dados.
Indicadores de Compromisso (IOCs)
Domínios
Endereços IP
Chaves de API e IDs de projeto
Conclusão: O Imperador Está Nu
Conclusão
Todas as operações fraudulentas que analisamos poderiam ser totalmente comprometido, desanonimizado e desativado usando nada mais do que um navegador da web, o curl e documentação disponível publicamente. Em todos os casos, os invasores deixaram seus bancos de dados totalmente expostos, suas chaves de API em arquivos JavaScript públicos, suas identidades nos metadados e os dados de suas vítimas acessíveis a qualquer pessoa que se desse ao trabalho de procurar.
A lição é simples: Os golpistas não são hackers. São ladrões de loja que compraram um conjunto de chaves mestre no AliExpress e se esqueceram de trancar a própria porta da frente. As ferramentas que utilizam são sofisticadas — porque foram criadas por outra pessoa. Os próprios operadores são amadores que expõem, de forma previsível, sua própria infraestrutura, os dados de suas vítimas e suas próprias identidades a qualquer pessoa com conhecimentos técnicos básicos.
Se você digitou sua frase-semente em algum desses sites — considere que sua carteira foi comprometida e transfira os fundos imediatamente.
Todas as constatações foram comunicadas aos prestadores de serviços envolvidos (Google/Firebase, Supabase, Cloudflare, registradores de domínios) e documentadas para fins de aplicação da lei. Os IOCs acima foram adicionados ao PhishDestroy lista de destruição.


