Editorial mirrorBrand mentions redacted to public IDs. Hover to inspect. Everything else is theatre.How it works
THE ENABLERS REGISTRYRegistrar accountability archive
Archive LiveRead-only public record · No ads · No tracking
Case file folder with redacted documents and confidential investigation report.
CASE / PT BR / SCAM INFRASTRUCTURE EXPOSED

Golpistas desmascarados: análise detalhada de quatro sistemas de back-end de golpes

The Enablers Registry·Editorial mirror·/pt-br/scam-infrastructure-exposed

Public record copy. Brand names withheld, public accreditation numbers preserved. If the body below says “we”, that means the original publisher, not this mirror. TER only preserves, redacts, and re-contextualizes.

Firebase · Supabase · Express.js · Drainer-as-a-Service · fevereiro de 2026

Infraestrutura de golpes é desmascarada
19,000+
Roubo de frases-semente (1 campanha)
4
Back-ends totalmente acessíveis
0
É necessária autenticação
267+
Domínios de possibly phishing associados

 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 THE ENABLERS REGISTRY 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 — [REDACTED]

 Express.js no Apache: segurança praticamente inexistente

SEM AUTENTICAÇÃOSEM VALIDAÇÃO DE ENTRADASEM LIMITAÇÃO DE TAXACORS: *
ParâmetroValor
Domínio[REDACTED]
Endereço IP108.181.185.225
Pilha de servidoresApache/2.4.58 (Ubuntu) → Express.js (Node.js)
Banner do SSHSSH-2.0-OpenSSH_9.6p1 Ubuntu-3ubuntu13.11
Emissor TLSLet's Encrypt (E7), válido de janeiro a abril de 2026
Registrador de DNSIANA #146 (ns39/ns40.[REDACTED])
E-mail (MX)[REDACTED]
Locatário da Microsoft[REDACTED]
Portas abertas22 (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:

// No auth header → accepted POST / HTTP/1.1 Content-Type: application/json {"subject":"test","domain":"test","messages":["ping"]} → {"success":true}// Wrong token → also accepted Autorização: Portador wrong_token_completely → {"success":true}// Any content type → also accepted Content-Type: text/xml, text/plain, multipart/form-data → {"success":true}

 Validação sem entrada

Todas as cargas de injeção que testamos foram aceitas sem aviso prévio:

// SQL injection assunto: "' OU 1=1--"→ aceito assunto: "'; DROP TABLE messages;--"→ aceito// SSTI (Server-Side Template Injection) assunto: "{{7*7}}"→ aceito assunto: "{{config}}"→ aceito assunto: "{{self.__class__}}"→ aceito// SSRF (Server-Side Request Forgery) domínio: “http://169.254.169.254/latest/meta-data/”→ aceito domínio: "file:///etc/passwd"→ aceito// XSS stored payload assunto: "<script>alert(1)</script>"→ aceito

 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 IANA #146 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:[REDACTED]) confirma que, no serviço de hospedagem de e-mail da IANA #146, todos os metadados de e-mail podem ser acessados mediante intimação judicial.

 Caso 2: Firebase totalmente aberto — [REDACTED]

 Firestore sem regras de segurança

REGRAS DO FIRESTORE: ABERTOTODOS OS DADOS DAS VÍTIMAS ESTÃO DISPONÍVEIS PARA CONSULTACHAVE DE API NO JS PÚBLICO12 VÍTIMAS IDENTIFICADAS
ParâmetroValor
Domínio de possibly phishing[REDACTED] (typosquat de “[REDACTED]”)
Domínio alternativo[REDACTED]
Projeto do Firebaseweb3ledger-210ab
Chave de APIAIzaSyCv8e-Gl7nK1RPpfNkJt-WjSZiaoe4AsL8
ID do aplicativo1:1054258933515:web:9fb193fcd0093023f7fc0e
Pacote JS/static/js/main.7a5ec2fa.js
Regras do FirestoreTotalmente aberto — leitura/gravação sem autenticação
Total de vítimas12 registros em users coleção
Coleções encontradasusers, 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:

GET /v1/projects/web3ledger-210ab/databases/(default)/documents/users?pageSize=300 → 200 OK→ Total de documentos: 12// Sample victim record (seed phrase redacted for safety) { "walletId": "W3L-65285520", "walletType": "WalletConnect", "e-mail": "[REDACTED]@gmail.com", "frase-semente": "████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████", "createdAt": "2026-02-15T00:14:52.804Z", "status": "ativo" }

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 possibly phishing imita a interface da carteira da [REDACTED]. 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 — [REDACTED]

 Segurança no nível da linha desativada, GraphQL totalmente aberto

RLS DESATIVADOACESSO COMPLETO A CRUDGRAPHQL ATIVADOFUNÇÕES DE BORDA EXPOSASLOCALIZAÇÃO EM RUSSO
ParâmetroValor
Domínio de possibly phishing[REDACTED] (typosquat de “[REDACTED]”)
Projeto Supabasegzqsadraigchwdhblavp
Chave Anon Divulgado em /assets/index-b025f4a6.js (748 KB)
Tabela do banco de dadosseeds — abrir, ler, inserir, atualizar, excluir
GraphQLIntrospecção completa + mutações ativadas
Funções de borda send-wallet-import-email, send-email
Serviço de e-mailAPI de reenvio (RESEND_API_KEY na variável de ambiente)
Registros das vítimasIDs 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:

// READ — get all stolen seed phrases GET /rest/v1/seeds?select=*ℴ=id.asc → 200 OK [ {"id":130, "frase":"████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████", "nome":"Carteira principal"}, {"id":131, "frase":"████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████ ████", "nome":"Carteira principal"} ] // INSERT — we can write to the scammer's database POST /rest/v1/seeds {"phrase":"[REDACTED]","name":"test"} → 201 Criado {"id":132} // UPDATE via GraphQL mutation { updateseedsCollection(filter:{id:{eq:131}}, set:{name:"THE ENABLERS REGISTRY was here"}) { affectedCount } } → {"affectedCount": 1}// DELETE via GraphQL mutation { deleteFromseedsCollection(filter:{id:{eq:131}}, atMost:1) { affectedCount } } → {"affectedCount": 1}

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:

// Probing send-email endpoint {"seed":"test phrase","name":"test"} → 200 OK {"id":"f2749592-..."} {"seed_phrase":"...","wallet_name":"..."} → 400 “Não foram fornecidos dados de semente.” {"phrase":"...","name":"..."} → 400 “Não foram fornecidos dados de semente.”// The function accepts {seed, name} and sends to attacker via Resend API// Edge Function source (reconstructed from JS bundle):// NB.functions.invoke("send-wallet-import-email",// {body: {wallet_name, secret_phrase, ip_address}})

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 — [REDACTED]

 19.000 frases-semente em 5,8 dias

Mais de 19 mil sementes roubadasIDs SEQUENCIAIS DE TAREFASSEM RESTRIÇÕES DE CORSDaaS KIT ([REDACTED])11 DOMÍNIOS CONFIRMADOS
ParâmetroValor
Domínio do front-end [REDACTED] ("PolySniper | Apostas privilegiadas da Frontrun")
API C2api.yfhikblkhghdyteiuyf54.run
IPs C2 172.67.168.147, 104.21.26.231 (IANA #1910)
Back-endExpress.js (Node.js) v1.0.0
Registrador (Front-end)IANA #3765 Co.
Secretário (C2)[REDACTED] (IANA #303)
Tempo de atividade~139 horas (início em ~10 de fevereiro de 2026, às 21h00 UTC)
Kit de drenagem CDN [REDACTED] (601 KB de JS ofuscado)
Bot do [REDACTED]Ativo, integrado para notificações
Limite de taxas10 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:

POST /api/check-seed-full { "frase-semente": "frase de teste aqui", "bundleId": "88ef78f56e0837dd0339e40a882bf563", "profundidade": 100, "domínio": "[REDACTED]", "sourceInfo": {"walletName":"[REDACTED]", "isBot":false} } → {"success":true, "message":"Verificado na fila", "jobId":"19358"}// Next request: jobId 19359, then 19360...// ~19,000 seed phrases in ~139 hours = ~137 per hour

 Arquitetura multicadeia

O servidor C2 gera chaves em todas as principais cadeias utilizando caminhos de geração de profundidade 100:

⛓️
Redes visadas
ETH/BTC/SOL/XMR
🔑
Profundidade de derivação
100
🌐
Domínios confirmados
11
🕸️
[REDACTED] Vinculado
255+

 Infraestrutura da campanha

11 domínios confirmados em 2 grupos de operadoras, rastreados por IDs de pacote:

ID do pacoteDomíniosStatus
88ef78f5...[REDACTED]AO VIVO
4446ea5d...[REDACTED], [REDACTED]AO VIVO
kit [REDACTED] [REDACTED], [REDACTED], [REDACTED], [REDACTED], 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.
  • [REDACTED]/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 [REDACTED] significa que a conta do operador no [REDACTED] recebe notificações — e os metadados do [REDACTED] podem ser intimados. A IANA #3765 (registradora do front-end) é uma registradora conhecida por ser à prova de intimações, que nós já investigado, mas a [REDACTED] (registradora de domínios C2) atende às solicitações das autoridades policiais. O [REDACTED] O kit de drainer atende a mais de 255 domínios — uma invasão do [REDACTED] 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çãoNenhum (token ignorado)NenhumChave “anon” em JSNenhum (CORS: *)
Dados legíveisMensagens/retransmissãoTodas as frases-sementeTodas as frases-sementeIDs de tarefa / escala
Dados graváveisSim (ilimitado)SimSim (CRUD completo)Sim (enviar)
Validação de entradasZeroZeroZeroMínimo
Limitação de taxaNenhumNenhumNenhum10 solicitações/60 s
Que pode ser desanonimizadoLocatário do MS365Conta do GoogleReenviar + Faturamento do SupabasePDR + [REDACTED]
Número estimado de vítimasDesconhecido12131+19,000+
Idioma do operadorDesconhecidoInglêsRussoDesconhecido

 Por que os golpistas não são hackers

As evidências são contundentes. Nas quatro operações, observamos o mesmo padrão:

 O que os golpistas fazem
  • 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
 O que os hackers fariam
  • 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

# Case 1: Express.js API [REDACTED] # Case 2: Firebase Stealer [REDACTED] [REDACTED] # Case 3: Supabase Stealer [REDACTED] # Case 4: Drainer Campaign [REDACTED] API.yfhikblkhghdyteiuyf54.run yfhikblkhghdyteiuyf54.run [REDACTED] [REDACTED] [REDACTED] [REDACTED] [REDACTED] stakepayment.icu [REDACTED] [REDACTED] [REDACTED] [REDACTED] soljup.onspace.build

Endereços IP

108.181.185.225 # Case 1 — Express.js (dedicated) 172.67.168.147 / 104.21.26.231 # Case 4 — C2 API (IANA #1910) 172.67.178.251 / 104.21.67.171 # Case 4 — Frontend (IANA #1910) 172.67.209.39 / 104.21.37.139 # Case 4 — [REDACTED] (IANA #1910) 43.130.171.152 / 43.130.171.225 # Case 4 — onspace domains (Tencent)

Chaves de API e IDs de projeto

# Firebase (Case 2) Projeto: web3ledger-210ab Chave da API: AIzaSyCv8e-Gl7nK1RPpfNkJt-WjSZiaoe4AsL8 ID do aplicativo: 1:1054258933515:web:9fb193fcd0093023f7fc0e # Supabase (Case 3) Projeto: gzqsadraigchwdhblavp Chave anônima: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... # Campaign Tracking (Case 4) Pacote 1: 88ef78f56e0837dd0339e40a882bf563 Pacote 2: 4446ea5ddb308b2494db8ad4b12196c3 # Microsoft Tenant (Case 1) [REDACTED]

 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, IANA #1910, registradores de domínios) e documentadas para fins de aplicação da lei. Os IOCs acima foram adicionados ao THE ENABLERS REGISTRY lista de destruição.

Compartilhe esta investigação

X / Twitter [REDACTED] Reddit LinkedIn

Investigações relacionadas

[REDACTED] ao descoberto: 55 domínios e um drainer de aprovações da TRON
INVESTIGAÇÃO
[REDACTED] ao descoberto: 55 domínios e um drainer de aprovações da TRON
INVESTIGAÇÃO APROFUNDADA
Kit de ferramentas Crypto Drainer: revendedores do Angel Drainer são desmascarados
[REDACTED] TDS: 1.500 painéis expostos, zero uso legítimo
INVESTIGAÇÃO
[REDACTED] TDS: 1.500 painéis expostos, zero uso legítimo

Continue browsing the ledger

This page is the editorial mirror. Brand names are redacted to public IANA / business identifiers. Use the index to navigate other case files.

Open registrar ledger → All briefings