AuthKeyDuplicatedError no Telegram: Recuperando um Parser Banido com Dump tdata e Spoofing de Sessão

AuthKeyDuplicatedError no Telegram: Recuperando um Parser Banido com Dump tdata e Spoofing de Sessão

Descubra como um erro de chave duplicada (AuthKeyDuplicatedError) no Telegram pode banir sua conta e como reverter isso. Este artigo detalha o processo de recuperação de um parser utilizando dump de memória tdata e técnicas avançadas de spoofing de sessão para enganar o sistema antifraud do Telegram.

MundiX News·30 de junho de 2026·10 min de leitura·👁 1 views

A migração de um parser funcional para um novo servidor é uma tarefa rotineira. No entanto, um único erro descuidado pode custar uma conta valiosa. Ao executar acidentalmente o mesmo arquivo .session (usando Telethon) em dois servidores simultaneamente, o Telegram imediatamente invalidou a sessão com o erro AuthKeyDuplicatedError. Tentativas subsequentes de login resultaram em UPDATE_APP_TO_LOGIN, efetivamente colocando a conta em um shadow ban. Este artigo detalha o processo de recuperação de um parser (Python 3.11, Telethon) que foi colocado na lista cinza do Telegram. Exploraremos o reverse engineering do cliente desktop, o dump de memória tdata, a superação de conflitos PEP 604 e o spoofing de sessão agressivo para fazer com que o sistema antifraud do Telegram acredite que nosso servidor Ubuntu está operando como um cliente oficial no macOS. O resultado: o parser foi salvo, a conta está ativa e o negócio não perdeu nenhum lead.

Ponto A: O Gatilho do Antifraud e a Morte da Sessão No protocolo MTProto, a autorização está rigidamente ligada a uma chave criptográfica chamada AuthKey, gerada durante o login. Quando meu script foi executado em dois servidores ao mesmo tempo, o Telegram detectou uma condição de corrida clássica: requisições assinadas pela mesma chave foram enviadas de dois endereços IP diferentes em um curto intervalo de tempo. O sistema de segurança do Telegram interpretou isso como um roubo de chave. A chave foi instantaneamente invalidada e as sessões foram encerradas. Tentando me recompor, executei um script padrão para reautorização via client.send_code_request() para receber um SMS. Em vez disso, fui recebido com um RPCError 406: UPDATE_APP_TO_LOGIN. Por baixo dos panos, o problema reside no fato de que, para contas na lista cinza, o Telegram desabilita a capacidade de receber códigos via camadas de API mais antigas. A biblioteca Telethon utiliza a camada 167, enquanto os clientes oficiais operam em camadas 180+. O Telegram força o login através do aplicativo oficial, tornando o fluxo padrão do Telethon tecnicamente inviável para esta conta.

Solução de Engenharia: QR-Bypass e Dump de Memória Como não consigo solicitar um código via API, o plano é o seguinte: autenticar-me no cliente desktop oficial (usando um QR code para contornar a solicitação de SMS), descriptografar seu banco de dados local, extrair o AuthKey e empacotá-lo em um banco de dados SQLite no formato do Telethon. O primeiro obstáculo foi o "zoo" de clientes no macOS. Existem dois clientes oficiais no Mac, com arquiteturas drasticamente diferentes: o Telegram for macOS (Swift, da App Store), que armazena chaves em bancos de dados protegidos dentro de um sandbox em ~/Library/Group Containers/..., tornando o dump de chaves uma tarefa árdua; e o Telegram Desktop (C++/Qt, baixado do site), que armazena chaves em um formato binário proprietário na pasta tdata. Este último é o que eu precisava. Para garantir que eu não copiasse uma sessão vazia ou antiga, identifiquei o diretório ativo verificando o tempo de modificação dos arquivos logo após o login via QR code. O segundo obstáculo foi a "matryoshka Unix" ao copiar. Ao tentar copiar a pasta tdata para a área de trabalho com cp -r, encontrei um problema clássico. Como a pasta de destino já existia (de uma tentativa anterior malsucedida), a nova pasta foi copiada para dentro dela. O script de conversão esperava os arquivos na raiz e falhava. A correção envolveu a remoção explícita do snapshot anterior antes da cópia: rm -rf ~/Desktop/my_tdata seguido por cp -r "$HOME/Library/Application Support/Telegram Desktop/tdata" "$HOME/Desktop/my_tdata". Em seguida, naveguei para ~/Desktop e comprimi a pasta: cd ~/Desktop && zip -r my_tdata.zip my_tdata.

O Terceiro Obstáculo: Inferno de Dependências e PEP 604 Ao tentar descriptografar o tdata diretamente no Mac, a biblioteca antiga opentele falhou, pois as versões recentes do Telegram Desktop alteraram os algoritmos de criptografia local. Mudei para um fork mais moderno, opentele2, mas o script falhou com um TypeError: unsupported operand type(s) for |: 'type' and 'type'. A causa foi que a biblioteca foi escrita usando os padrões PEP 604 (sintaxe bytes | bytearray), que meu sistema Python 3.9 padrão do Mac não suportava (introduzido no Python 3.10). Em vez de criar ambientes virtuais complexos no Mac, simplesmente transferi o arquivo tdata.zip para o servidor Ubuntu de produção, que já possuía Python 3.10+ instalado de fábrica.

O Chefe Final: Conversão e Spoofing no Servidor É aqui que a parte mais crítica começa. Se simplesmente converter a sessão e executá-la, o Telethon enviará uma requisição InitConnection aos servidores do Telegram. Para uma conta na lista cinza, a entrada de um novo dispositivo não oficial a partir do IP de um data center resultaria em banimento permanente imediato. Precisava fazer com que o Telethon clonasse a AuthKey existente e se passasse pelo cliente oficial.

Passo 1. Conversão sem criar uma nova sessão Escrevi um script convert_server.py no Ubuntu:

python
import os
import asyncio
from opentele2.td import TDesktop
from opentele2.api import UseCurrentSession

async def main():
    tdata_path = "./my_tdata"
    session_path = "./reserve_session.session"
    
    print("[*"] Carregando tdata via opentele2...")
    try:
        tdesk = TDesktop(tdata_path)
    except Exception as e:
        print(f"[!] Erro ao ler pasta: {e}")
        return

    if not tdesk.isLoaded():
        print("[!] Erro: Pasta vazia ou não autenticada.")
        return
    
    try:
        # CRITICAMENTE IMPORTANTE: O flag UseCurrentSession impede o envio
        # da requisição InitConnection e protege contra banimento instantâneo.
        # Estamos clonando a chave, não criando um novo dispositivo.
        client = await tdesk.ToTelethon(session=session_path, flag=UseCurrentSession)
        
        await client.connect()
        if await client.is_user_authorized():
            me = await client.get_me()
            print(f"[+] SUCESSO! Sessão criada. Conta: @{me.username or 'Hidden'}")
        else:
            print("[!] Erro: Sessão não autenticada.")
            
        await client.disconnect()
        
    except Exception as e:
        print(f"[!] Erro de conversão: {e}")

if __name__ == "__main__":
    asyncio.run(main())

Passo 2. Spoofing agressivo na inicialização Para tornar a ilusão completa, ao iniciar o parser de produção, codifiquei agressivamente os parâmetros do Telegram Desktop oficial. Se os parâmetros padrão do Telethon fossem mantidos, o sistema antifraud detectaria que a chave foi emitida para um cliente Desktop, mas as requisições estariam vindo de um aplicativo desconhecido.

python
import asyncio
from telethon import TelegramClient

async def main():
    session_name = "reserve_session"
    
    # Chaves oficiais do Telegram Desktop (API ID 2040)
    # Usar chaves customizadas com uma sessão desktop levará ao ban!
    api_id = 2040
    api_hash = "b18441a1ff607e10a989891a5462e627"
    
    # Inicialização com spoofing agressivo dos parâmetros do dispositivo
    client = TelegramClient(
        session_name, 
        api_id, 
        api_hash,
        device_model="PC 64bit",
        system_version="Windows 10",
        app_version="4.8.1"
    )
    
    print("[*"] Conectando aos servidores do Telegram...")
    await client.connect()
    
    is_authorized = await client.is_user_authorized()
    if is_authorized:
        print(f"\n[+] TESTE BEM-SUCEDIDO! Telethon reconhece a sessão.")
    else:
        print("\n[!] ERRO CRÍTICO: Sessão inválida.")
        
    await client.disconnect()

if __name__ == "__main__":
    asyncio.run(main())

Ponto B: A Rede foi Penetrada Substituí o arquivo de sessão no parser de produção, reiniciei o serviço e verifiquei os logs:

text
# journalctl -u reserve_parser.service -n 20
Jun 29 12:05:58 server systemd[1]: Started reserve_parser.service - Telegram Reserve Parser.
Jun 29 12:05:59 server bash[94626]: INFO - Connecting to 149.154.167.51:443/TcpFull...
Jun 29 12:05:59 server bash[94626]: INFO - Connection to 149.154.167.51:443/TcpFull complete!
Jun 29 12:06:05 server bash[94626]: INFO - Config updated. Chats: 25, Keys: 63, Intents: 58
Jun 29 12:06:05 server bash[94626]: INFO - === STARTING ACTIVE PULL PARSER ===

A rede foi penetrada e o parser está funcionando. Uma limitação arquitetural importante: como a sessão do servidor e o cliente desktop no Mac agora compartilham a mesma chave criptográfica, clicar em "Sair" no Mac enviará uma requisição para destruir a chave. O parser do servidor será encerrado instantaneamente. O cliente no Mac só pode ser fechado (kill process), mas não deslogado.

P.S. Trabalhar com a API do Telegram em 2026 é uma batalha constante contra o antifraud. Um movimento em falso e seu negócio fica sem leads. Publico mais análises aprofundadas sobre automação e engenharia reversa em meu canal do Telegram. Se você precisa desenvolver um parser tolerante a falhas, extrair dados de fontes complexas ou configurar uma infraestrutura segura, entre em contato comigo via Telegram para discutir sua tarefa em termos de números e arquitetura.

🛡️⚡

Pare de pesquisar. Comece a hackear.

O MundiX é seu copiloto de pentest com IA: comandos exatos, análise de outputs e próximo passo na kill chain — em segundos.

Testar grátis por 7 dias →

Sem cartão para começar · Planos a partir de R$49/mês

📤 Compartilhar & Baixar

🧰 Ferramentas recomendadas

Divulgação: alguns links são patrocinados. Podemos receber comissão se você comprar — sem custo extra para você. Só indicamos o que faz sentido para a comunidade.

Aprendendo Kali Linux: Teste de segurança, pentest e hacking ético

Aprendendo Kali Linux: Teste de segurança, pentest e hacking ético

Com centenas de ferramentas pré-instaladas, a distribuição Kali Linux facilita o trabalho de os profissionais de segurança começarem a fazer testes de segurança rapidamente. No entanto, com mais de 600 ferramentas em seu arsenal, o Kali Linux também pode ser desafiador. A nova edição deste prático livro abrange as atualizações nas ferramentas e inclui uma melhor abordagem da análise forense e da engenharia reversa. Ric Messier, autor, não fica apenas no teste de segurança, mas também faz uma abordagem sobre a execução de análise forense, incluindo a análise em disco e na memória, assim como alguma análise básica de malware. • Explore as diversas ferramentas disponíveis no Kali Linux • Entenda o valor do teste de segurança e examine os tipos de teste disponíveis • Aprenda os aspectos básicos do pentest em todo o ciclo de vida do ataque • Instale o Kali Linux em vários sistemas, tanto físicos quanto virtuais • Descubra como usar diferentes ferramentas destinadas à segurança • Estruture um teste de segurança baseado nas ferramentas do Kali Linux • Estenda as ferramentas do Kali para criar técnicas de ataque avançadas • Use o Kali Linux para ajudar a criar relatórios quando o teste terminar “A abordagem concisa, clara e baseada na experiência adotada por Ric Messier para a introdução do Kali Linux e dos testes de cibersegurança é incomparável. Este livro é uma leitura excelente e acessível para iniciantes e um recurso valioso para qualquer pessoa.” —Alexander Arlt, Consultor sênior de segurança, Google

Ver na Amazon
Gshield 2 em 1 Hub Extensor Conector USB-C + USB-A e Adaptador de Rede Ethernet LAN RJ45 com 3 Entradas USB 3.0 até 5 Gbps em Liga de Alumínio para Computador e Notebook, Cinza

Gshield 2 em 1 Hub Extensor Conector USB-C + USB-A e Adaptador de Rede Ethernet LAN RJ45 com 3 Entradas USB 3.0 até 5 Gbps em Liga de Alumínio para Computador e Notebook, Cinza

Compatível com portas USB-C e USB-A, ideal para ampliar a conectividade de dispositivos como MacBook Pro e outros com portas USB-C. Inclui um adaptador USB-A extra, proporcionando uma conexão Ethernet estável e veloz de até 1 Gbps, perfeita para filmes, jogos online e videoconferências. Oferece três portas USB 3.0 com velocidades de transferência de até 5 Gbps, permitindo conectar mouse, teclado, discos rígidos e outros periféricos. Fabricado em alumínio durável, garantindo longa vida útil e resistência ao uso diário. Design compacto e leve, ideal para viagens de negócios e uso diário, facilitando o transporte e armazenamento. Funciona com Windows 10/8.1/8, Mac OS e Chrome OS, oferecendo versatilidade incomparável para diversas necessidades de conectividade. Assegura uma conectividade estável e rápida, perfeita para tarefas exigentes como transferência de dados, streaming e mais.

Ver na Amazon
Hacking APIs: Breaking Web Application Programming Interfaces

Hacking APIs: Breaking Web Application Programming Interfaces

Hacking APIs is a crash course on web API security testing that will prepare you to penetration-test APIs, reap high rewards on bug bounty programs, and make your own APIs more secure. You'll learn how REST and GraphQL APIs work in the wild and set up a streamlined API testing lab with Burp Suite and Postman. Then you'll master tools useful for reconnaissance, endpoint analysis, and fuzzing, such as Kiterunner and OWASP Amass. Next, you'll learn to perform common attacks, like those targeting an API's authentication mechanisms and the injection vulnerabilities commonly found in web applications. You'll also learn techniques for bypassing protections against these attacks. In the book's nine guided labs, which target intentionally vulnerable APIs, you'll practice: Enumerating APIs users and endpoints using fuzzing techniques Using Postman to discover an excessive data exposure vulnerability Performing a JSON Web Token attack against an API authentication process Combining multiple API attack techniques to perform a NoSQL injection Attacking a GraphQL API to uncover a broken object level authorization vulnerability

Ver oferta
Gray Hat Hacking: The Ethical Hacker's Handbook, Sixth Edition

Gray Hat Hacking: The Ethical Hacker's Handbook, Sixth Edition

Up-to-date strategies for thwarting the latest, most insidious network attacks This fully updated, industry-standard security resource shows, step by step, how to fortify computer networks by learning and applying effective ethical hacking techniques. Based on curricula developed by the authors at major security conferences and colleges, the book features actionable planning and analysis methods as well as practical steps for identifying and combating both targeted and opportunistic attacks. Gray Hat Hacking: The Ethical Hacker's Handbook, Sixth Edition clearly explains the enemy's devious weapons, skills, and tactics and offers field-tested remedies, case studies, and testing labs. You will get complete coverage of Internet of Things, mobile, and Cloud security along with penetration testing, malware analysis, and reverse engineering techniques. State-of-the-art malware, ransomware, and system exploits are thoroughly explained. Fully revised content includes 7 new chapters covering the latest threats Includes proof-of-concept code stored on the GitHub repository Authors train attendees at major security conferences, including RSA, Black Hat, Defcon, and B-Sides

Ver na Amazon
Bloqueador USB de privacidade de porta USB para PC, notebook, bloco de laptop,

Bloqueador USB de privacidade de porta USB para PC, notebook, bloco de laptop,

Proteção de privacidade aprimorada: protege o link de transmissão de dados para evitar roubo de informações, fornecendo proteção de segurança robusta que protege a privacidade do usuário durante transferências de arquivos e garante uma conexão segura para interações de dispositivos sem preocupações em vários ambientes Uso a longo prazo: a camada protetora resistente ao desgaste, combinada com um corpo de metal resistente, oferece gerenciamento de calor confiável e qualidade duradoura durante o uso diário Entrega eficiente de energia: a tecnologia de chip inteligente garante a identificação automática dos requisitos de energia, fornecendo carregamento eficiente alinhando-se com vários protocolos de carregamento rápido para maior conveniência Proteção contra sobrecarga: evitando riscos de sobrecarga, este bloqueador de dados USB protege a vida útil da bateria e garante um desempenho estável, mantendo um fluxo estável de energia para melhorar a longevidade do dispositivo de forma eficaz Prático de transportar: com atenção à portabilidade, este bloqueador de dados USB oferece um design compacto que é leve e fácil de transportar, melhorando a conveniência do usuário e operação eficiente

Ver na Amazon

📩 Newsletter MundiX

Receba novidades de cibersegurança + um checklist de pentest grátis. Sem spam.

Ao assinar você concorda em receber e-mails. Cancele quando quiser.